| 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, | 17 extern void Poly1305Init(poly1305_state* state, const unsigned char key[32]); |
| 18 » » » const unsigned char key[32]); | |
| 19 | 18 |
| 20 /* 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 |
| 21 * more times after poly1305_init. */ | 20 * more times after poly1305_init. */ |
| 22 extern void Poly1305Update(poly1305_state* state, | 21 extern void Poly1305Update(poly1305_state* state, const unsigned char* in, |
| 23 » » » const unsigned char *in, | 22 size_t inLen); |
| 24 » » » size_t inLen); | |
| 25 | 23 |
| 26 /* Poly1305Finish completes the poly1305 calculation and writes a 16 byte | 24 /* Poly1305Finish completes the poly1305 calculation and writes a 16 byte |
| 27 * authentication tag to |mac|. */ | 25 * authentication tag to |mac|. */ |
| 28 extern void Poly1305Finish(poly1305_state* state, | 26 extern void Poly1305Finish(poly1305_state* state, unsigned char mac[16]); |
| 29 » » » unsigned char mac[16]); | |
| 30 | 27 |
| 31 #endif /* FREEBL_POLY1305_H_ */ | 28 #endif /* FREEBL_POLY1305_H_ */ |
| OLD | NEW |