xref: /openbsd/lib/libcrypto/poly1305/poly1305.c (revision 93f18f11)
1 /* $OpenBSD: poly1305.c,v 1.4 2023/07/07 12:01:32 beck Exp $ */
2 /*
3  * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #include <openssl/poly1305.h>
19 #include "poly1305-donna.c"
20 
21 void
CRYPTO_poly1305_init(poly1305_context * ctx,const unsigned char key[32])22 CRYPTO_poly1305_init(poly1305_context *ctx, const unsigned char key[32])
23 {
24 	poly1305_init(ctx, key);
25 }
26 LCRYPTO_ALIAS(CRYPTO_poly1305_init);
27 
28 void
CRYPTO_poly1305_update(poly1305_context * ctx,const unsigned char * in,size_t len)29 CRYPTO_poly1305_update(poly1305_context *ctx, const unsigned char *in,
30     size_t len)
31 {
32 	poly1305_update(ctx, in, len);
33 }
34 LCRYPTO_ALIAS(CRYPTO_poly1305_update);
35 
36 void
CRYPTO_poly1305_finish(poly1305_context * ctx,unsigned char mac[16])37 CRYPTO_poly1305_finish(poly1305_context *ctx, unsigned char mac[16])
38 {
39 	poly1305_finish(ctx, mac);
40 }
41 LCRYPTO_ALIAS(CRYPTO_poly1305_finish);
42