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