blob: efaa21788fc77e66d6d058bb1739bcc8c7d10b5e [file] [log] [blame]
Wolfram Sang13a99302016-05-31 12:56:13 +02001/*
2 * Driver for KeyStream wireless LAN
Wolfram Sang13a99302016-05-31 12:56:13 +02003 *
4 * Copyright (C) 2005-2008 KeyStream Corp.
5 * Copyright (C) 2009 Renesas Technology Corp.
6 *
7 * This program is free software; you can redistribute it and/or modify
Wolfram Sangc5d9a032016-05-31 12:56:43 +02008 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
Wolfram Sang13a99302016-05-31 12:56:13 +020010 */
11
12/* MichelMIC routine define */
13struct michel_mic_t {
14 uint32_t K0; // Key
15 uint32_t K1; // Key
Wolfram Sang79c2df52016-05-31 12:56:36 +020016 uint32_t L; // Current state
17 uint32_t R; // Current state
18 uint8_t M[4]; // Message accumulator (single word)
19 int nBytesInM; // # bytes in M
20 uint8_t Result[8];
Wolfram Sang13a99302016-05-31 12:56:13 +020021};
22
Sandhya Bankard14d3552016-09-20 13:09:58 +053023void MichaelMICFunction(struct michel_mic_t *Mic, uint8_t *Key,
24 uint8_t *Data, int Len, uint8_t priority,
25 uint8_t *Result);