]> git.cryptolib.org Git - avr-crypto-lib.git/blob - noekeon/omac_noekeon.h
syncing with bzr
[avr-crypto-lib.git] / noekeon / omac_noekeon.h
1 /*
2     This file is part of the AVR-Crypto-Lib.
3     Copyright (C) 2008, 2009  Daniel Otte (daniel.otte@rub.de)
4
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18 /*
19  * \author  Daniel Otte
20  * \email   daniel.otte@rub.de
21  * \license GPLv3 or later
22  * 
23  * 
24  * 
25  */
26
27 #ifndef NOEKEON_OMAC_H_
28 #define NOEKEON_OMAC_H_
29
30 #include "noekeon.h"
31 #include <stdint.h>
32
33 typedef uint8_t omac_noekeon_ctx_t[16];
34
35 void omac_noekeon_init(omac_noekeon_ctx_t* ctx);
36 void omac_noekeon_tweak(uint8_t t, const void* key, omac_noekeon_ctx_t* ctx);
37 void omac_noekeon_next(const void* buffer, const void* key, 
38                        omac_noekeon_ctx_t* ctx);
39 void omac_noekeon_last(const void* buffer, uint8_t length_b, const void* key, 
40                        omac_noekeon_ctx_t* ctx);
41 void omac_noekeon(void* dest, const void* msg, uint16_t msglength_b,
42                   const void* key, uint8_t t);
43
44 #endif /*NOEKEON_OMAC_H_*/