OLD | NEW |
1 /* | 1 /* |
2 * poly1305.h - header file for Poly1305 implementation. | 2 * poly1305.h - header file for Poly1305 implementation. |
3 * | 3 * |
4 * This Source Code Form is subject to the terms of the Mozilla Public | 4 * This Source Code Form is subject to the terms of the Mozilla Public |
5 * License, v. 2.0. If a copy of the MPL was not distributed with this | 5 * License, v. 2.0. If a copy of the MPL was not distributed with this |
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
7 | 7 |
8 #ifndef FREEBL_POLY1305_H_ | 8 #ifndef FREEBL_POLY1305_H_ |
9 #define FREEBL_POLY1305_H_ | 9 #define FREEBL_POLY1305_H_ |
10 | 10 |
11 typedef unsigned char poly1305_state[512]; | 11 typedef unsigned char poly1305_state[512]; |
12 | 12 |
13 /* Poly1305Init sets up |state| so that it can be used to calculate an | 13 /* Poly1305Init sets up |state| so that it can be used to calculate an |
14 * authentication tag with the one-time key |key|. Note that |key| is a | 14 * authentication tag with the one-time key |key|. Note that |key| is a |
15 * one-time key and therefore there is no `reset' method because that would | 15 * one-time key and therefore there is no `reset' method because that would |
16 * enable several messages to be authenticated with the same key. */ | 16 * enable several messages to be authenticated with the same key. */ |
17 extern void Poly1305Init(poly1305_state* state, const unsigned char key[32]); | 17 extern void Poly1305Init(poly1305_state* state, const unsigned char key[32]); |
18 | 18 |
19 /* Poly1305Update processes |in_len| bytes from |in|. It can be called zero or | 19 /* Poly1305Update processes |in_len| bytes from |in|. It can be called zero or |
20 * more times after poly1305_init. */ | 20 * more times after poly1305_init. */ |
21 extern void Poly1305Update(poly1305_state* state, const unsigned char* in, | 21 extern void Poly1305Update(poly1305_state* state, const unsigned char* in, |
22 size_t inLen); | 22 size_t inLen); |
23 | 23 |
24 /* Poly1305Finish completes the poly1305 calculation and writes a 16 byte | 24 /* Poly1305Finish completes the poly1305 calculation and writes a 16 byte |
25 * authentication tag to |mac|. */ | 25 * authentication tag to |mac|. */ |
26 extern void Poly1305Finish(poly1305_state* state, unsigned char mac[16]); | 26 extern void Poly1305Finish(poly1305_state* state, unsigned char mac[16]); |
27 | 27 |
28 #endif /* FREEBL_POLY1305_H_ */ | 28 #endif /* FREEBL_POLY1305_H_ */ |
OLD | NEW |