OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * poly1305.h - header file for Poly1305 implementation. |
| 3 * |
| 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 |
| 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 7 |
| 8 #ifndef FREEBL_POLY1305_H_ |
| 9 #define FREEBL_POLY1305_H_ |
| 10 |
| 11 typedef unsigned char poly1305_state[512]; |
| 12 |
| 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 |
| 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. */ |
| 17 extern void Poly1305Init(poly1305_state* state, |
| 18 const unsigned char key[32]); |
| 19 |
| 20 /* Poly1305Update processes |in_len| bytes from |in|. It can be called zero or |
| 21 * more times after poly1305_init. */ |
| 22 extern void Poly1305Update(poly1305_state* state, |
| 23 const unsigned char *in, |
| 24 size_t inLen); |
| 25 |
| 26 /* Poly1305Finish completes the poly1305 calculation and writes a 16 byte |
| 27 * authentication tag to |mac|. */ |
| 28 extern void Poly1305Finish(poly1305_state* state, |
| 29 unsigned char mac[16]); |
| 30 |
| 31 #endif /* FREEBL_POLY1305_H_ */ |
OLD | NEW |