From e0629769d3187fe83440392f0e8050807a053fe3 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 24 Jan 2021 18:45:14 +0100 Subject: [PATCH] Move the H2C string->hash functions to their own files --- .../msvc/vs2010/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + .../msvc/vs2012/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + .../msvc/vs2013/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + .../msvc/vs2015/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + .../msvc/vs2017/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + .../msvc/vs2019/libsodium/libsodium.vcxproj | 2 + .../libsodium/libsodium.vcxproj.filters | 6 + libsodium.vcxproj | 2 + libsodium.vcxproj.filters | 6 + src/libsodium/Makefile.am | 2 + .../crypto_core/ed25519/core_ed25519.c | 61 +------- src/libsodium/crypto_core/ed25519/core_h2c.c | 133 ++++++++++++++++++ src/libsodium/crypto_core/ed25519/core_h2c.h | 10 ++ .../crypto_core/ed25519/core_ristretto255.c | 64 ++------- src/libsodium/include/sodium/private/quirks.h | 1 + test/symbols/all-symbols.txt | 1 + 21 files changed, 217 insertions(+), 111 deletions(-) create mode 100644 src/libsodium/crypto_core/ed25519/core_h2c.c create mode 100644 src/libsodium/crypto_core/ed25519/core_h2c.h diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj b/builds/msvc/vs2010/libsodium/libsodium.vcxproj index e3402320..eb651a8e 100644 --- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj b/builds/msvc/vs2012/libsodium/libsodium.vcxproj index 837f1063..f4f4d659 100644 --- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj b/builds/msvc/vs2013/libsodium/libsodium.vcxproj index d29a0c6c..06fb462d 100644 --- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj b/builds/msvc/vs2015/libsodium/libsodium.vcxproj index e581c78a..ffe754e7 100644 --- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj b/builds/msvc/vs2017/libsodium/libsodium.vcxproj index 55168ad8..c6df3a98 100644 --- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj b/builds/msvc/vs2019/libsodium/libsodium.vcxproj index c5549a12..6d060bc5 100644 --- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj @@ -189,6 +189,7 @@ + @@ -318,6 +319,7 @@ + diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters index 17c6ab39..363a53bc 100644 --- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters @@ -360,6 +360,9 @@ crypto_core\ed25519 + + crypto_core\ed25519 + crypto_core\ed25519\ref10 @@ -743,6 +746,9 @@ crypto_stream\salsa20\xmm6 + + crypto_core\ed25519 + crypto_core\ed25519\ref10\fe_25_5 diff --git a/libsodium.vcxproj b/libsodium.vcxproj index 12e90dd1..500f518a 100644 --- a/libsodium.vcxproj +++ b/libsodium.vcxproj @@ -427,6 +427,7 @@ + @@ -556,6 +557,7 @@ + diff --git a/libsodium.vcxproj.filters b/libsodium.vcxproj.filters index d5226704..42bef65f 100644 --- a/libsodium.vcxproj.filters +++ b/libsodium.vcxproj.filters @@ -351,6 +351,9 @@ Source Files + + Source Files + Source Files @@ -734,6 +737,9 @@ Header Files + + Header Files + Header Files diff --git a/src/libsodium/Makefile.am b/src/libsodium/Makefile.am index ebb2ce9a..f6e67f2d 100644 --- a/src/libsodium/Makefile.am +++ b/src/libsodium/Makefile.am @@ -14,6 +14,8 @@ libsodium_la_SOURCES = \ crypto_box/crypto_box_easy.c \ crypto_box/crypto_box_seal.c \ crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c \ + crypto_core/ed25519/core_h2c.c \ + crypto_core/ed25519/core_h2c.h \ crypto_core/ed25519/ref10/ed25519_ref10.c \ crypto_core/hchacha20/core_hchacha20.c \ crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c \ diff --git a/src/libsodium/crypto_core/ed25519/core_ed25519.c b/src/libsodium/crypto_core/ed25519/core_ed25519.c index 8b9e27fb..790016f9 100644 --- a/src/libsodium/crypto_core/ed25519/core_ed25519.c +++ b/src/libsodium/crypto_core/ed25519/core_ed25519.c @@ -1,9 +1,8 @@ - -#include #include #include #include +#include "core_h2c.h" #include "crypto_core_ed25519.h" #include "crypto_hash_sha512.h" #include "private/common.h" @@ -74,58 +73,6 @@ crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r) return 0; } -#define HASH_BYTES crypto_hash_sha512_BYTES -#define HASH_BLOCKBYTES 128U - -static void -_string_to_h2c_hash(unsigned char *h, const size_t h_len, - const char *ctx, const unsigned char *msg, size_t msg_len) -{ - crypto_hash_sha512_state st; - const unsigned char empty_block[HASH_BLOCKBYTES] = { 0 }; - unsigned char u0[HASH_BYTES]; - unsigned char ux[HASH_BYTES] = { 0 }; - unsigned char t[3] = { 0U, (unsigned char) h_len, 0U}; - unsigned char ctx_len_u8; - size_t ctx_len = ctx != NULL ? strlen(ctx) : 0U; - size_t i, j; - - assert(h_len <= 0xff); - if (ctx_len > (size_t) 0xff) { - crypto_hash_sha512_init(&st); - crypto_hash_sha512_update(&st, - (const unsigned char *) "H2C-OVERSIZE-DST-", - sizeof "H2C-OVERSIZE-DST-" - 1U); - crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha512_final(&st, u0); - ctx = (const char *) u0; - ctx_len = HASH_BYTES; - COMPILER_ASSERT(HASH_BYTES <= (size_t) 0xff); - } - ctx_len_u8 = (unsigned char) ctx_len; - crypto_hash_sha512_init(&st); - crypto_hash_sha512_update(&st, empty_block, sizeof empty_block); - crypto_hash_sha512_update(&st, msg, msg_len); - crypto_hash_sha512_update(&st, t, 3U); - crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha512_update(&st, &ctx_len_u8, 1U); - crypto_hash_sha512_final(&st, u0); - - for (i = 0U; i < h_len; i += HASH_BYTES) { - for (j = 0U; j < HASH_BYTES; j++) { - ux[j] ^= u0[j]; - } - t[2]++; - crypto_hash_sha512_init(&st); - crypto_hash_sha512_update(&st, ux, HASH_BYTES); - crypto_hash_sha512_update(&st, &t[2], 1U); - crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha512_update(&st, &ctx_len_u8, 1U); - crypto_hash_sha512_final(&st, ux); - memcpy(&h[i], ux, h_len - i >= (sizeof ux) ? (sizeof ux) : h_len - i); - } -} - #define HASH_GE_L 48U static int @@ -139,8 +86,10 @@ _string_to_points(unsigned char * const px, const size_t n, if (n > 2U) { abort(); /* LCOV_EXCL_LINE */ } - _string_to_h2c_hash(h_be, n * HASH_GE_L, ctx, msg, msg_len); - + if (core_h2c_string_to_hash(h_be, n * HASH_GE_L, ctx, msg, msg_len, + CORE_H2C_SHA512) != 0) { + return -1; + } COMPILER_ASSERT(sizeof h >= HASH_GE_L); for (i = 0U; i < n; i++) { for (j = 0U; j < HASH_GE_L; j++) { diff --git a/src/libsodium/crypto_core/ed25519/core_h2c.c b/src/libsodium/crypto_core/ed25519/core_h2c.c new file mode 100644 index 00000000..37f3ed59 --- /dev/null +++ b/src/libsodium/crypto_core/ed25519/core_h2c.c @@ -0,0 +1,133 @@ +#include +#include +#include +#include + +#include "core_h2c.h" +#include "crypto_hash_sha256.h" +#include "crypto_hash_sha512.h" +#include "private/common.h" + +#define HASH_BYTES crypto_hash_sha256_BYTES +#define HASH_BLOCKBYTES 64U + +static int +core_h2c_string_to_hash_sha256(unsigned char *h, const size_t h_len, const char *ctx, + const unsigned char *msg, size_t msg_len) +{ + crypto_hash_sha256_state st; + const unsigned char empty_block[HASH_BLOCKBYTES] = { 0 }; + unsigned char u0[HASH_BYTES]; + unsigned char ux[HASH_BYTES] = { 0 }; + unsigned char t[3] = { 0U, (unsigned char) h_len, 0U}; + unsigned char ctx_len_u8; + size_t ctx_len = ctx != NULL ? strlen(ctx) : 0U; + size_t i, j; + + assert(h_len <= 0xff); + if (ctx_len > (size_t) 0xff) { + crypto_hash_sha256_init(&st); + crypto_hash_sha256_update(&st, + (const unsigned char *) "H2C-OVERSIZE-DST-", + sizeof "H2C-OVERSIZE-DST-" - 1U); + crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha256_final(&st, u0); + ctx = (const char *) u0; + ctx_len = HASH_BYTES; + COMPILER_ASSERT(HASH_BYTES <= (size_t) 0xff); + } + ctx_len_u8 = (unsigned char) ctx_len; + crypto_hash_sha256_init(&st); + crypto_hash_sha256_update(&st, empty_block, sizeof empty_block); + crypto_hash_sha256_update(&st, msg, msg_len); + crypto_hash_sha256_update(&st, t, 3U); + crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha256_update(&st, &ctx_len_u8, 1U); + crypto_hash_sha256_final(&st, u0); + + for (i = 0U; i < h_len; i += HASH_BYTES) { + for (j = 0U; j < HASH_BYTES; j++) { + ux[j] ^= u0[j]; + } + t[2]++; + crypto_hash_sha256_init(&st); + crypto_hash_sha256_update(&st, ux, HASH_BYTES); + crypto_hash_sha256_update(&st, &t[2], 1U); + crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha256_update(&st, &ctx_len_u8, 1U); + crypto_hash_sha256_final(&st, ux); + memcpy(&h[i], ux, h_len - i >= (sizeof ux) ? (sizeof ux) : h_len - i); + } + return 0; +} + +#undef HASH_BYTES +#undef HASH_BLOCKBYTES + +#define HASH_BYTES crypto_hash_sha512_BYTES +#define HASH_BLOCKBYTES 128U + +static int +core_h2c_string_to_hash_sha512(unsigned char *h, const size_t h_len, const char *ctx, + const unsigned char *msg, size_t msg_len) +{ + crypto_hash_sha512_state st; + const unsigned char empty_block[HASH_BLOCKBYTES] = { 0 }; + unsigned char u0[HASH_BYTES]; + unsigned char ux[HASH_BYTES] = { 0 }; + unsigned char t[3] = { 0U, (unsigned char) h_len, 0U}; + unsigned char ctx_len_u8; + size_t ctx_len = ctx != NULL ? strlen(ctx) : 0U; + size_t i, j; + + assert(h_len <= 0xff); + if (ctx_len > (size_t) 0xff) { + crypto_hash_sha512_init(&st); + crypto_hash_sha512_update(&st, + (const unsigned char *) "H2C-OVERSIZE-DST-", + sizeof "H2C-OVERSIZE-DST-" - 1U); + crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha512_final(&st, u0); + ctx = (const char *) u0; + ctx_len = HASH_BYTES; + COMPILER_ASSERT(HASH_BYTES <= (size_t) 0xff); + } + ctx_len_u8 = (unsigned char) ctx_len; + crypto_hash_sha512_init(&st); + crypto_hash_sha512_update(&st, empty_block, sizeof empty_block); + crypto_hash_sha512_update(&st, msg, msg_len); + crypto_hash_sha512_update(&st, t, 3U); + crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha512_update(&st, &ctx_len_u8, 1U); + crypto_hash_sha512_final(&st, u0); + + for (i = 0U; i < h_len; i += HASH_BYTES) { + for (j = 0U; j < HASH_BYTES; j++) { + ux[j] ^= u0[j]; + } + t[2]++; + crypto_hash_sha512_init(&st); + crypto_hash_sha512_update(&st, ux, HASH_BYTES); + crypto_hash_sha512_update(&st, &t[2], 1U); + crypto_hash_sha512_update(&st, (const unsigned char *) ctx, ctx_len); + crypto_hash_sha512_update(&st, &ctx_len_u8, 1U); + crypto_hash_sha512_final(&st, ux); + memcpy(&h[i], ux, h_len - i >= (sizeof ux) ? (sizeof ux) : h_len - i); + } + return 0; +} + +int +core_h2c_string_to_hash(unsigned char *h, const size_t h_len, const char *ctx, + const unsigned char *msg, size_t msg_len, int hash_alg) +{ + switch (hash_alg) { + case CORE_H2C_SHA256: + return core_h2c_string_to_hash_sha256(h, h_len, ctx, msg, msg_len); + case CORE_H2C_SHA512: + return core_h2c_string_to_hash_sha512(h, h_len, ctx, msg, msg_len); + default: + errno = EINVAL; + return -1; + } +} diff --git a/src/libsodium/crypto_core/ed25519/core_h2c.h b/src/libsodium/crypto_core/ed25519/core_h2c.h new file mode 100644 index 00000000..95dbdc78 --- /dev/null +++ b/src/libsodium/crypto_core/ed25519/core_h2c.h @@ -0,0 +1,10 @@ +#ifndef core_h2c_H +#define core_h2c_H + +#define CORE_H2C_SHA256 1 +#define CORE_H2C_SHA512 2 + +int core_h2c_string_to_hash(unsigned char *h, const size_t h_len, const char *ctx, + const unsigned char *msg, size_t msg_len, + int hash_alg); +#endif diff --git a/src/libsodium/crypto_core/ed25519/core_ristretto255.c b/src/libsodium/crypto_core/ed25519/core_ristretto255.c index ba61c2b9..81951f5c 100644 --- a/src/libsodium/crypto_core/ed25519/core_ristretto255.c +++ b/src/libsodium/crypto_core/ed25519/core_ristretto255.c @@ -3,6 +3,7 @@ #include #include +#include "core_h2c.h" #include "crypto_core_ed25519.h" #include "crypto_core_ristretto255.h" #include "crypto_hash_sha256.h" @@ -70,65 +71,16 @@ crypto_core_ristretto255_from_hash(unsigned char *p, const unsigned char *r) return 0; } -#define HASH_BYTES crypto_hash_sha256_BYTES -#define HASH_BLOCKBYTES 64U - -static void -_string_to_h2c_hash(unsigned char *h, const size_t h_len, - const char *ctx, const unsigned char *msg, size_t msg_len) -{ - crypto_hash_sha256_state st; - const unsigned char empty_block[HASH_BLOCKBYTES] = { 0 }; - unsigned char u0[HASH_BYTES]; - unsigned char ux[HASH_BYTES] = { 0 }; - unsigned char t[3] = { 0U, (unsigned char) h_len, 0U}; - unsigned char ctx_len_u8; - size_t ctx_len = ctx != NULL ? strlen(ctx) : 0U; - size_t i, j; - - assert(h_len <= 0xff); - if (ctx_len > (size_t) 0xff) { - crypto_hash_sha256_init(&st); - crypto_hash_sha256_update(&st, - (const unsigned char *) "H2C-OVERSIZE-DST-", - sizeof "H2C-OVERSIZE-DST-" - 1U); - crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha256_final(&st, u0); - ctx = (const char *) u0; - ctx_len = HASH_BYTES; - COMPILER_ASSERT(HASH_BYTES <= (size_t) 0xff); - } - ctx_len_u8 = (unsigned char) ctx_len; - crypto_hash_sha256_init(&st); - crypto_hash_sha256_update(&st, empty_block, sizeof empty_block); - crypto_hash_sha256_update(&st, msg, msg_len); - crypto_hash_sha256_update(&st, t, 3U); - crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha256_update(&st, &ctx_len_u8, 1U); - crypto_hash_sha256_final(&st, u0); - - for (i = 0U; i < h_len; i += HASH_BYTES) { - for (j = 0U; j < HASH_BYTES; j++) { - ux[j] ^= u0[j]; - } - t[2]++; - crypto_hash_sha256_init(&st); - crypto_hash_sha256_update(&st, ux, HASH_BYTES); - crypto_hash_sha256_update(&st, &t[2], 1U); - crypto_hash_sha256_update(&st, (const unsigned char *) ctx, ctx_len); - crypto_hash_sha256_update(&st, &ctx_len_u8, 1U); - crypto_hash_sha256_final(&st, ux); - memcpy(&h[i], ux, h_len - i >= (sizeof ux) ? (sizeof ux) : h_len - i); - } -} - static int _string_to_element(unsigned char *p, const char *ctx, const unsigned char *msg, size_t msg_len) { unsigned char h[crypto_core_ristretto255_HASHBYTES]; - _string_to_h2c_hash(h, sizeof h, ctx, msg, msg_len); + if (core_h2c_string_to_hash(h, sizeof h, ctx, msg, msg_len, + CORE_H2C_SHA256) != 0) { + return -1; + } ristretto255_from_hash(p, h); return 0; @@ -231,8 +183,10 @@ crypto_core_ristretto255_scalar_from_string(unsigned char *s, unsigned char h_be[HASH_SC_L]; size_t i; - _string_to_h2c_hash(h_be, sizeof h_be, ctx, msg, msg_len); - + if (core_h2c_string_to_hash(h_be, sizeof h_be, ctx, msg, msg_len, + CORE_H2C_SHA256) != 0) { + return -1; + } COMPILER_ASSERT(sizeof h >= sizeof h_be); for (i = 0U; i < HASH_SC_L; i++) { h[i] = h_be[HASH_SC_L - 1U - i]; diff --git a/src/libsodium/include/sodium/private/quirks.h b/src/libsodium/include/sodium/private/quirks.h index 96737cf4..8c6eba45 100644 --- a/src/libsodium/include/sodium/private/quirks.h +++ b/src/libsodium/include/sodium/private/quirks.h @@ -37,6 +37,7 @@ #define blake2b_pick_best_implementation _sodium_blake2b_pick_best_implementation #define blake2b_salt_personal _sodium_blake2b_salt_personal #define blake2b_update _sodium_blake2b_update +#define core_h2c_string_to_hash _sodium_core_h2c_string_to_hash #define escrypt_PBKDF2_SHA256 _sodium_escrypt_PBKDF2_SHA256 #define escrypt_alloc_region _sodium_escrypt_alloc_region #define escrypt_free_local _sodium_escrypt_free_local diff --git a/test/symbols/all-symbols.txt b/test/symbols/all-symbols.txt index bdc87e3d..b5937f65 100644 --- a/test/symbols/all-symbols.txt +++ b/test/symbols/all-symbols.txt @@ -32,6 +32,7 @@ blake2b_long blake2b_pick_best_implementation blake2b_salt_personal blake2b_update +core_h2c_string_to_hash crypto_aead_aegis128l_abytes crypto_aead_aegis128l_decrypt crypto_aead_aegis128l_decrypt_detached