2
* tkmic.c - TKIP Message Integrity Check (MIC) functions
4
* Copyright (C) 2011, Broadcom Corporation. All Rights Reserved.
6
* Permission to use, copy, modify, and/or distribute this software for any
7
* purpose with or without fee is hereby granted, provided that the above
8
* copyright notice and this permission notice appear in all copies.
10
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
15
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
* $Id: tkmic.c 326246 2012-04-06 19:08:11Z $
22
#include <bcmendian.h>
23
#include <bcmcrypto/tkmic.h>
26
tkip_micblock(uint32 *left, uint32 *right)
45
BCMROMFN(tkip_mic)(uint32 k0, uint32 k1, int n, uint8 *m, uint32 *left, uint32 *right)
50
if (((uintptr)m & 3) == 0) {
51
for (; n > 0; n -= 4) {
52
l ^= ltoh32(*(uint *)m);
54
tkip_micblock(&l, &r);
57
for (; n > 0; n -= 4) {
60
tkip_micblock(&l, &r);
68
BCMROMFN(tkip_mic_eom)(uint8 *m, uint n, uint o)