diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj b/builds/msvc/vs2010/libsodium/libsodium.vcxproj index a7d6d215..117e28d8 100644 --- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj b/builds/msvc/vs2012/libsodium/libsodium.vcxproj index f1331d9d..2cdc40eb 100644 --- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj b/builds/msvc/vs2013/libsodium/libsodium.vcxproj index 5a01667e..b5c9f6e0 100644 --- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj b/builds/msvc/vs2015/libsodium/libsodium.vcxproj index 15c27f15..c43fa443 100644 --- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj b/builds/msvc/vs2017/libsodium/libsodium.vcxproj index 2d375949..b1887a3c 100644 --- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj b/builds/msvc/vs2019/libsodium/libsodium.vcxproj index 44cc5830..8d43cd5e 100644 --- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj +++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj @@ -88,7 +88,6 @@ - @@ -263,7 +262,6 @@ - diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters index d81990d4..dc96b0a7 100644 --- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters @@ -57,9 +57,6 @@ crypto_sign\ed25519 - - crypto_sign\ed25519\ref10 - crypto_sign\ed25519\ref10 @@ -578,9 +575,6 @@ include\sodium - - include\sodium - include\sodium\private diff --git a/dist-build/emscripten-symbols.def b/dist-build/emscripten-symbols.def index 4079195a..c0de6dd8 100644 --- a/dist-build/emscripten-symbols.def +++ b/dist-build/emscripten-symbols.def @@ -502,9 +502,6 @@ _crypto_sign_ed25519ph_final_verify 0 1 _crypto_sign_ed25519ph_init 0 1 _crypto_sign_ed25519ph_statebytes 0 1 _crypto_sign_ed25519ph_update 0 1 -_crypto_sign_edwards25519sha512batch 0 0 -_crypto_sign_edwards25519sha512batch_keypair 0 0 -_crypto_sign_edwards25519sha512batch_open 0 0 _crypto_sign_final_create 1 1 _crypto_sign_final_verify 1 1 _crypto_sign_init 1 1 diff --git a/libsodium.vcxproj b/libsodium.vcxproj index cb394243..749ada97 100644 --- a/libsodium.vcxproj +++ b/libsodium.vcxproj @@ -326,7 +326,6 @@ - @@ -501,7 +500,6 @@ - diff --git a/libsodium.vcxproj.filters b/libsodium.vcxproj.filters index e0a5ad7d..9de5c18a 100644 --- a/libsodium.vcxproj.filters +++ b/libsodium.vcxproj.filters @@ -48,9 +48,6 @@ Source Files - - Source Files - Source Files @@ -569,9 +566,6 @@ Header Files - - Header Files - Header Files diff --git a/src/libsodium/Makefile.am b/src/libsodium/Makefile.am index d3ddf6da..2fd7ebbd 100644 --- a/src/libsodium/Makefile.am +++ b/src/libsodium/Makefile.am @@ -167,7 +167,6 @@ libsodium_la_SOURCES += \ crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c \ crypto_shorthash/siphash24/shorthash_siphashx24.c \ crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c \ - crypto_sign/ed25519/ref10/obsolete.c \ crypto_stream/salsa2012/ref/stream_salsa2012_ref.c \ crypto_stream/salsa2012/stream_salsa2012.c \ crypto_stream/salsa208/ref/stream_salsa208_ref.c \ diff --git a/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c b/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c deleted file mode 100644 index 64ded79e..00000000 --- a/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_edwards25519sha512batch.h" -#include "crypto_verify_32.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -/* LCOV_EXCL_START */ -int -crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) -{ - ge25519_p3 A; - - randombytes_buf(sk, 32); - crypto_hash_sha512(sk, sk, 32); - sk[0] &= 248; - sk[31] &= 127; - sk[31] |= 64; - ge25519_scalarmult_base(&A, sk); - ge25519_p3_tobytes(pk, &A); - - return 0; -} - -int -crypto_sign_edwards25519sha512batch(unsigned char *sm, - unsigned long long *smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) -{ - crypto_hash_sha512_state hs; - unsigned char nonce[64]; - unsigned char hram[64]; - unsigned char sig[64]; - ge25519_p3 A; - ge25519_p3 R; - - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sk + 32, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, nonce); - ge25519_scalarmult_base(&A, sk); - ge25519_p3_tobytes(sig + 32, &A); - sc25519_reduce(nonce); - ge25519_scalarmult_base(&R, nonce); - ge25519_p3_tobytes(sig, &R); - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sig, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, hram); - sc25519_reduce(hram); - sc25519_muladd(sig + 32, hram, nonce, sk); - sodium_memzero(hram, sizeof hram); - memmove(sm + 32, m, (size_t) mlen); - memcpy(sm, sig, 32); - memcpy(sm + 32 + mlen, sig + 32, 32); - *smlen_p = mlen + 64U; - - return 0; -} - -int -crypto_sign_edwards25519sha512batch_open(unsigned char *m, - unsigned long long *mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) -{ - unsigned char h[64]; - unsigned char t1[32], t2[32]; - unsigned long long mlen; - ge25519_cached Ai; - ge25519_p1p1 csa; - ge25519_p2 cs; - ge25519_p3 A; - ge25519_p3 R; - ge25519_p3 cs3; - - *mlen_p = 0; - if (smlen < 64 || smlen - 64 > crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX) { - return -1; - } - mlen = smlen - 64; - if (sm[smlen - 1] & 224) { - return -1; - } - if (ge25519_has_small_order(pk) != 0 || - ge25519_frombytes_negate_vartime(&A, pk) != 0 || - ge25519_has_small_order(sm) != 0 || - ge25519_frombytes_negate_vartime(&R, sm) != 0) { - return -1; - } - ge25519_p3_to_cached(&Ai, &A); - crypto_hash_sha512(h, sm, mlen + 32); - sc25519_reduce(h); - ge25519_scalarmult(&cs3, h, &R); - ge25519_add(&csa, &cs3, &Ai); - ge25519_p1p1_to_p2(&cs, &csa); - ge25519_tobytes(t1, &cs); - t1[31] ^= 1 << 7; - ge25519_scalarmult_base(&R, sm + 32 + mlen); - ge25519_p3_tobytes(t2, &R); - if (crypto_verify_32(t1, t2) != 0) { - return -1; - } - *mlen_p = mlen; - memmove(m, sm + 32, mlen); - - return 0; -} -/* LCOV_EXCL_END */ diff --git a/src/libsodium/include/Makefile.am b/src/libsodium/include/Makefile.am index 84bc3cac..b9978776 100644 --- a/src/libsodium/include/Makefile.am +++ b/src/libsodium/include/Makefile.am @@ -48,7 +48,6 @@ SODIUM_EXPORT = \ sodium/crypto_shorthash_siphash24.h \ sodium/crypto_sign.h \ sodium/crypto_sign_ed25519.h \ - sodium/crypto_sign_edwards25519sha512batch.h \ sodium/crypto_stream.h \ sodium/crypto_stream_chacha20.h \ sodium/crypto_stream_salsa20.h \ diff --git a/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h b/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h deleted file mode 100644 index eed158aa..00000000 --- a/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef crypto_sign_edwards25519sha512batch_H -#define crypto_sign_edwards25519sha512batch_H - -/* - * WARNING: This construction was a prototype, which should not be used - * any more in new projects. - * - * crypto_sign_edwards25519sha512batch is provided for applications - * initially built with NaCl, but as recommended by the author of this - * construction, new applications should use ed25519 instead. - * - * In Sodium, you should use the high-level crypto_sign_*() functions instead. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_sign_edwards25519sha512batch_BYTES 64U -#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U -#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES (32U + 32U) -#define crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX (SODIUM_SIZE_MAX - crypto_sign_edwards25519sha512batch_BYTES) - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch(unsigned char *sm, - unsigned long long *smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) - __attribute__ ((deprecated)) __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_open(unsigned char *m, - unsigned long long *mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((deprecated)) __attribute__ ((nonnull(3, 5))); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) - __attribute__ ((deprecated)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/test/constcheck.sh b/test/constcheck.sh index 994c1642..7beef1ba 100755 --- a/test/constcheck.sh +++ b/test/constcheck.sh @@ -6,8 +6,7 @@ echo '#include ' > "$CT" echo '#include ' >> "$CT" echo 'int main(void) {' >> "$CT" for macro in $(egrep -r '#define crypto_.*BYTES(_[A-Z]+)? ' src/libsodium/include | \ - cut -d: -f2- | cut -d' ' -f2 | \ - fgrep -v edwards25519sha512batch | sort -u); do + cut -d: -f2- | cut -d' ' -f2 | sort -u); do func=$(echo "$macro" | tr A-Z a-z) echo " assert($func() == $macro);" >> "$CT" done diff --git a/test/symbols/all-symbols.txt b/test/symbols/all-symbols.txt index 6c9a4087..09436002 100644 --- a/test/symbols/all-symbols.txt +++ b/test/symbols/all-symbols.txt @@ -535,9 +535,6 @@ crypto_sign_ed25519ph_final_verify crypto_sign_ed25519ph_init crypto_sign_ed25519ph_statebytes crypto_sign_ed25519ph_update -crypto_sign_edwards25519sha512batch -crypto_sign_edwards25519sha512batch_keypair -crypto_sign_edwards25519sha512batch_open crypto_sign_final_create crypto_sign_final_verify crypto_sign_init