1 /* 2 * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #include <stddef.h> 11 12 #define POLY1305_BLOCK_SIZE 16 13 #define POLY1305_DIGEST_SIZE 16 14 #define POLY1305_KEY_SIZE 32 15 16 typedef struct poly1305_context POLY1305; 17 18 size_t Poly1305_ctx_size(void); 19 void Poly1305_Init(POLY1305 *ctx, const unsigned char key[32]); 20 void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len); 21 void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16]); 22