From 76e8776839c6d15d5a6de64d32187f1bd0d4f77d Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Mon, 20 Feb 2017 10:32:23 +0100 Subject: [PATCH] Merge a couple more files --- src/libsodium/Makefile.am | 6 - .../crypto_auth/hmacsha256/auth_hmacsha256.c | 94 +++++++++++++++ .../hmacsha256/cp/hmac_hmacsha256.c | 110 ------------------ .../hmacsha256/cp/verify_hmacsha256.c | 11 -- .../crypto_auth/hmacsha512/auth_hmacsha512.c | 94 +++++++++++++++ .../hmacsha512/cp/hmac_hmacsha512.c | 110 ------------------ .../hmacsha512/cp/verify_hmacsha512.c | 12 -- .../hmacsha512256/auth_hmacsha512256.c | 65 +++++++++++ .../hmacsha512256/cp/hmac_hmacsha512256.c | 54 --------- .../hmacsha512256/cp/verify_hmacsha512256.c | 14 --- 10 files changed, 253 insertions(+), 317 deletions(-) delete mode 100644 src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c delete mode 100644 src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c delete mode 100644 src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c delete mode 100644 src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c delete mode 100644 src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c delete mode 100644 src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c diff --git a/src/libsodium/Makefile.am b/src/libsodium/Makefile.am index e5f88b0d..861d8d2e 100644 --- a/src/libsodium/Makefile.am +++ b/src/libsodium/Makefile.am @@ -5,14 +5,8 @@ libsodium_la_SOURCES = \ crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c \ crypto_auth/crypto_auth.c \ crypto_auth/hmacsha256/auth_hmacsha256.c \ - crypto_auth/hmacsha256/cp/hmac_hmacsha256.c \ - crypto_auth/hmacsha256/cp/verify_hmacsha256.c \ crypto_auth/hmacsha512/auth_hmacsha512.c \ - crypto_auth/hmacsha512/cp/hmac_hmacsha512.c \ - crypto_auth/hmacsha512/cp/verify_hmacsha512.c \ crypto_auth/hmacsha512256/auth_hmacsha512256.c \ - crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c \ - crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c \ crypto_box/crypto_box.c \ crypto_box/crypto_box_easy.c \ crypto_box/crypto_box_seal.c \ diff --git a/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c b/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c index 84f7d663..a41b9219 100644 --- a/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +++ b/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c @@ -1,5 +1,13 @@ + +#include +#include +#include + #include "crypto_auth_hmacsha256.h" +#include "crypto_hash_sha256.h" +#include "crypto_verify_32.h" #include "randombytes.h" +#include "utils.h" size_t crypto_auth_hmacsha256_bytes(void) @@ -24,3 +32,89 @@ crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]) { randombytes_buf(k, crypto_auth_hmacsha256_KEYBYTES); } + +int +crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, + const unsigned char *key, + size_t keylen) +{ + unsigned char pad[64]; + unsigned char khash[32]; + size_t i; + + if (keylen > 64) { + crypto_hash_sha256_init(&state->ictx); + crypto_hash_sha256_update(&state->ictx, key, keylen); + crypto_hash_sha256_final(&state->ictx, khash); + key = khash; + keylen = 32; + } + crypto_hash_sha256_init(&state->ictx); + memset(pad, 0x36, 64); + for (i = 0; i < keylen; i++) { + pad[i] ^= key[i]; + } + crypto_hash_sha256_update(&state->ictx, pad, 64); + + crypto_hash_sha256_init(&state->octx); + memset(pad, 0x5c, 64); + for (i = 0; i < keylen; i++) { + pad[i] ^= key[i]; + } + crypto_hash_sha256_update(&state->octx, pad, 64); + + sodium_memzero((void *) pad, sizeof pad); + sodium_memzero((void *) khash, sizeof khash); + + return 0; +} + +int +crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, + const unsigned char *in, + unsigned long long inlen) +{ + crypto_hash_sha256_update(&state->ictx, in, inlen); + + return 0; +} + +int +crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, + unsigned char *out) +{ + unsigned char ihash[32]; + + crypto_hash_sha256_final(&state->ictx, ihash); + crypto_hash_sha256_update(&state->octx, ihash, 32); + crypto_hash_sha256_final(&state->octx, out); + + sodium_memzero((void *) ihash, sizeof ihash); + + return 0; +} + +int +crypto_auth_hmacsha256(unsigned char *out, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + crypto_auth_hmacsha256_state state; + + crypto_auth_hmacsha256_init(&state, k, crypto_auth_hmacsha256_KEYBYTES); + crypto_auth_hmacsha256_update(&state, in, inlen); + crypto_auth_hmacsha256_final(&state, out); + + return 0; +} + +int +crypto_auth_hmacsha256_verify(const unsigned char *h, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + unsigned char correct[32]; + + crypto_auth_hmacsha256(correct, in, inlen, k); + + return crypto_verify_32(h, correct) | (-(h == correct)) | + sodium_memcmp(correct, h, 32); +} diff --git a/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c b/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c deleted file mode 100644 index dc7a7ce4..00000000 --- a/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c +++ /dev/null @@ -1,110 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include "crypto_auth_hmacsha256.h" -#include "crypto_hash_sha256.h" -#include "utils.h" - -#include - -#include -#include - -int -crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, - const unsigned char *key, - size_t keylen) -{ - unsigned char pad[64]; - unsigned char khash[32]; - size_t i; - - if (keylen > 64) { - crypto_hash_sha256_init(&state->ictx); - crypto_hash_sha256_update(&state->ictx, key, keylen); - crypto_hash_sha256_final(&state->ictx, khash); - key = khash; - keylen = 32; - } - crypto_hash_sha256_init(&state->ictx); - memset(pad, 0x36, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->ictx, pad, 64); - - crypto_hash_sha256_init(&state->octx); - memset(pad, 0x5c, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->octx, pad, 64); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha256_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, - unsigned char *out) -{ - unsigned char ihash[32]; - - crypto_hash_sha256_final(&state->ictx, ihash); - crypto_hash_sha256_update(&state->octx, ihash, 32); - crypto_hash_sha256_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha256_state state; - - crypto_auth_hmacsha256_init(&state, k, crypto_auth_hmacsha256_KEYBYTES); - crypto_auth_hmacsha256_update(&state, in, inlen); - crypto_auth_hmacsha256_final(&state, out); - - return 0; -} diff --git a/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c b/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c deleted file mode 100644 index 046a8b94..00000000 --- a/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crypto_auth_hmacsha256.h" -#include "crypto_verify_32.h" -#include "utils.h" - -int crypto_auth_hmacsha256_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k) -{ - unsigned char correct[32]; - crypto_auth_hmacsha256(correct,in,inlen,k); - return crypto_verify_32(h,correct) | (-(h == correct)) | - sodium_memcmp(correct,h,32); -} diff --git a/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c b/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c index 5be56568..db1b40d5 100644 --- a/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +++ b/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c @@ -1,5 +1,13 @@ + +#include +#include +#include + #include "crypto_auth_hmacsha512.h" +#include "crypto_hash_sha512.h" +#include "crypto_verify_64.h" #include "randombytes.h" +#include "utils.h" size_t crypto_auth_hmacsha512_bytes(void) { @@ -21,3 +29,89 @@ crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]) { randombytes_buf(k, crypto_auth_hmacsha512_KEYBYTES); } + +int +crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, + const unsigned char *key, + size_t keylen) +{ + unsigned char pad[128]; + unsigned char khash[64]; + size_t i; + + if (keylen > 128) { + crypto_hash_sha512_init(&state->ictx); + crypto_hash_sha512_update(&state->ictx, key, keylen); + crypto_hash_sha512_final(&state->ictx, khash); + key = khash; + keylen = 64; + } + crypto_hash_sha512_init(&state->ictx); + memset(pad, 0x36, 128); + for (i = 0; i < keylen; i++) { + pad[i] ^= key[i]; + } + crypto_hash_sha512_update(&state->ictx, pad, 128); + + crypto_hash_sha512_init(&state->octx); + memset(pad, 0x5c, 128); + for (i = 0; i < keylen; i++) { + pad[i] ^= key[i]; + } + crypto_hash_sha512_update(&state->octx, pad, 128); + + sodium_memzero((void *) pad, sizeof pad); + sodium_memzero((void *) khash, sizeof khash); + + return 0; +} + +int +crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, + const unsigned char *in, + unsigned long long inlen) +{ + crypto_hash_sha512_update(&state->ictx, in, inlen); + + return 0; +} + +int +crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, + unsigned char *out) +{ + unsigned char ihash[64]; + + crypto_hash_sha512_final(&state->ictx, ihash); + crypto_hash_sha512_update(&state->octx, ihash, 64); + crypto_hash_sha512_final(&state->octx, out); + + sodium_memzero((void *) ihash, sizeof ihash); + + return 0; +} + +int +crypto_auth_hmacsha512(unsigned char *out, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + crypto_auth_hmacsha512_state state; + + crypto_auth_hmacsha512_init(&state, k, crypto_auth_hmacsha512_KEYBYTES); + crypto_auth_hmacsha512_update(&state, in, inlen); + crypto_auth_hmacsha512_final(&state, out); + + return 0; +} + +int +crypto_auth_hmacsha512_verify(const unsigned char *h, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + unsigned char correct[64]; + + crypto_auth_hmacsha512(correct, in, inlen, k); + + return crypto_verify_64(h, correct) | (-(h == correct)) | + sodium_memcmp(correct, h, 64); +} diff --git a/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c b/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c deleted file mode 100644 index dc8b63a2..00000000 --- a/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c +++ /dev/null @@ -1,110 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include "crypto_auth_hmacsha512.h" -#include "crypto_hash_sha512.h" -#include "utils.h" - -#include - -#include -#include - -int -crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, - const unsigned char *key, - size_t keylen) -{ - unsigned char pad[128]; - unsigned char khash[64]; - size_t i; - - if (keylen > 128) { - crypto_hash_sha512_init(&state->ictx); - crypto_hash_sha512_update(&state->ictx, key, keylen); - crypto_hash_sha512_final(&state->ictx, khash); - key = khash; - keylen = 64; - } - crypto_hash_sha512_init(&state->ictx); - memset(pad, 0x36, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->ictx, pad, 128); - - crypto_hash_sha512_init(&state->octx); - memset(pad, 0x5c, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->octx, pad, 128); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha512_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, - unsigned char *out) -{ - unsigned char ihash[64]; - - crypto_hash_sha512_final(&state->ictx, ihash); - crypto_hash_sha512_update(&state->octx, ihash, 64); - crypto_hash_sha512_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512_state state; - - crypto_auth_hmacsha512_init(&state, k, crypto_auth_hmacsha512_KEYBYTES); - crypto_auth_hmacsha512_update(&state, in, inlen); - crypto_auth_hmacsha512_final(&state, out); - - return 0; -} diff --git a/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c b/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c deleted file mode 100644 index 98973495..00000000 --- a/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "crypto_auth_hmacsha512.h" -#include "crypto_verify_64.h" -#include "utils.h" - -int crypto_auth_hmacsha512_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - unsigned char correct[64]; - crypto_auth_hmacsha512(correct,in,inlen,k); - return crypto_verify_64(h,correct) | (-(h == correct)) | - sodium_memcmp(correct,h,64); -} diff --git a/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c b/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c index 1441f717..d0f07734 100644 --- a/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +++ b/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c @@ -1,5 +1,14 @@ + +#include +#include +#include + #include "crypto_auth_hmacsha512256.h" +#include "crypto_auth_hmacsha512.h" +#include "crypto_hash_sha512.h" +#include "crypto_verify_32.h" #include "randombytes.h" +#include "utils.h" size_t crypto_auth_hmacsha512256_bytes(void) { @@ -21,3 +30,59 @@ crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBY { randombytes_buf(k, crypto_auth_hmacsha512256_KEYBYTES); } + +int +crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, + const unsigned char *key, + size_t keylen) +{ + return crypto_auth_hmacsha512_init((crypto_auth_hmacsha512_state *) state, + key, keylen); +} + +int +crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, + const unsigned char *in, + unsigned long long inlen) +{ + return crypto_auth_hmacsha512_update((crypto_auth_hmacsha512_state *) state, + in, inlen); +} + +int +crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, + unsigned char *out) +{ + unsigned char out0[64]; + + crypto_auth_hmacsha512_final((crypto_auth_hmacsha512_state *) state, out0); + memcpy(out, out0, 32); + + return 0; +} + +int +crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + crypto_auth_hmacsha512256_state state; + + crypto_auth_hmacsha512256_init(&state, k, + crypto_auth_hmacsha512256_KEYBYTES); + crypto_auth_hmacsha512256_update(&state, in, inlen); + crypto_auth_hmacsha512256_final(&state, out); + + return 0; +} + +int +crypto_auth_hmacsha512256_verify(const unsigned char *h, const unsigned char *in, + unsigned long long inlen, const unsigned char *k) +{ + unsigned char correct[32]; + + crypto_auth_hmacsha512256(correct, in, inlen, k); + + return crypto_verify_32(h, correct) | (-(h == correct)) | + sodium_memcmp(correct, h, 32); +} diff --git a/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c b/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c deleted file mode 100644 index 5b55e1ca..00000000 --- a/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c +++ /dev/null @@ -1,54 +0,0 @@ - -#include "crypto_auth_hmacsha512256.h" -#include "crypto_auth_hmacsha512.h" -#include "crypto_hash_sha512.h" -#include "utils.h" - -#include - -#include -#include - -int -crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, - const unsigned char *key, - size_t keylen) -{ - return crypto_auth_hmacsha512_init((crypto_auth_hmacsha512_state *) state, - key, keylen); -} - -int -crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_auth_hmacsha512_update((crypto_auth_hmacsha512_state *) state, - in, inlen); -} - -int -crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, - unsigned char *out) -{ - unsigned char out0[64]; - - crypto_auth_hmacsha512_final((crypto_auth_hmacsha512_state *) state, out0); - memcpy(out, out0, 32); - - return 0; -} - -int -crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512256_state state; - - crypto_auth_hmacsha512256_init(&state, k, - crypto_auth_hmacsha512256_KEYBYTES); - crypto_auth_hmacsha512256_update(&state, in, inlen); - crypto_auth_hmacsha512256_final(&state, out); - - return 0; -} diff --git a/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c b/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c deleted file mode 100644 index 07af71bd..00000000 --- a/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "crypto_auth_hmacsha512256.h" -#include "crypto_verify_32.h" -#include "utils.h" - -int crypto_auth_hmacsha512256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[32]; - crypto_auth_hmacsha512256(correct,in,inlen,k); - return crypto_verify_32(h,correct) | (-(h == correct)) | - sodium_memcmp(correct,h,32); -}