Import LibreSSL v2.4.2 to vendor branch
[dragonfly.git] / crypto / libressl / crypto / poly1305 / poly1305.c
blobd4734657ec98544907cece17f43ba67b97a43601
1 /* $OpenBSD$ */
2 /*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
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.
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.
18 #include <openssl/poly1305.h>
19 #include "poly1305-donna.c"
21 void
22 CRYPTO_poly1305_init(poly1305_context *ctx, const unsigned char key[32])
24 poly1305_init(ctx, key);
27 void
28 CRYPTO_poly1305_update(poly1305_context *ctx, const unsigned char *in,
29 size_t len)
31 poly1305_update(ctx, in, len);
34 void
35 CRYPTO_poly1305_finish(poly1305_context *ctx, unsigned char mac[16])
37 poly1305_finish(ctx, mac);