diff --git a/.gitignore b/.gitignore
index 5d73f790..2c931974 100644
--- a/.gitignore
+++ b/.gitignore
@@ -122,6 +122,7 @@ test/default/generichash2
test/default/generichash3
test/default/hash
test/default/hash3
+test/default/ipcrypt
test/default/kdf
test/default/kdf_hkdf
test/default/keygen
diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj b/builds/msvc/vs2010/libsodium/libsodium.vcxproj
index dbe6e7a6..1a9fdea3 100644
--- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj
@@ -151,6 +151,10 @@
+
+
+
+
@@ -276,6 +280,7 @@
+
@@ -318,6 +323,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj b/builds/msvc/vs2012/libsodium/libsodium.vcxproj
index d44fe790..96354e31 100644
--- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj
@@ -151,6 +151,10 @@
+
+
+
+
@@ -276,6 +280,7 @@
+
@@ -318,6 +323,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj b/builds/msvc/vs2013/libsodium/libsodium.vcxproj
index 5b4ef991..be6f4d8e 100644
--- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj
@@ -151,6 +151,10 @@
+
+
+
+
@@ -276,6 +280,7 @@
+
@@ -318,6 +323,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj b/builds/msvc/vs2015/libsodium/libsodium.vcxproj
index 632230f7..b92308c3 100644
--- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj
@@ -151,6 +151,10 @@
+
+
+
+
@@ -276,6 +280,7 @@
+
@@ -318,6 +323,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj b/builds/msvc/vs2017/libsodium/libsodium.vcxproj
index d3f1a455..2c3b7506 100644
--- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj
@@ -151,6 +151,10 @@
+
+
+
+
@@ -276,6 +280,7 @@
+
@@ -318,6 +323,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj b/builds/msvc/vs2019/libsodium/libsodium.vcxproj
index 64751c30..7fff9a3e 100644
--- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj
@@ -175,6 +175,10 @@
+
+
+
+
@@ -300,6 +304,7 @@
+
@@ -342,6 +347,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2022/libsodium/libsodium.vcxproj b/builds/msvc/vs2022/libsodium/libsodium.vcxproj
index 730e1bca..84158421 100644
--- a/builds/msvc/vs2022/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2022/libsodium/libsodium.vcxproj
@@ -175,6 +175,10 @@
+
+
+
+
@@ -300,6 +304,7 @@
+
@@ -342,6 +347,10 @@
+
+
+
+
diff --git a/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters
index e9efdd7c..80b49816 100644
--- a/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2022/libsodium/libsodium.vcxproj.filters
@@ -273,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -644,6 +656,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -770,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -994,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
diff --git a/builds/msvc/vs2026/libsodium/libsodium.vcxproj b/builds/msvc/vs2026/libsodium/libsodium.vcxproj
index 864fcd4b..ff60bfd5 100644
--- a/builds/msvc/vs2026/libsodium/libsodium.vcxproj
+++ b/builds/msvc/vs2026/libsodium/libsodium.vcxproj
@@ -103,7 +103,6 @@
-
@@ -128,6 +127,14 @@
+
+
+
+
+
+
+
+
@@ -168,6 +175,10 @@
+
+
+
+
@@ -203,6 +214,8 @@
+
+
@@ -210,6 +223,7 @@
+
@@ -237,6 +251,7 @@
+
@@ -252,14 +267,17 @@
+
+
+
@@ -268,6 +286,7 @@
+
@@ -285,11 +304,12 @@
+
-
+
@@ -308,6 +328,10 @@
+
+
+
+
@@ -323,6 +347,10 @@
+
+
+
+
@@ -339,6 +367,7 @@
+
@@ -350,6 +379,8 @@
+
+
diff --git a/builds/msvc/vs2026/libsodium/libsodium.vcxproj.filters b/builds/msvc/vs2026/libsodium/libsodium.vcxproj.filters
index d80be171..80b49816 100644
--- a/builds/msvc/vs2026/libsodium/libsodium.vcxproj.filters
+++ b/builds/msvc/vs2026/libsodium/libsodium.vcxproj.filters
@@ -57,9 +57,6 @@
crypto_sign\ed25519
-
- crypto_sign\ed25519\ref10
-
crypto_sign\ed25519\ref10
@@ -132,6 +129,30 @@
crypto_pwhash\scryptsalsa208sha256\sse
+
+ crypto_xof\shake128
+
+
+ crypto_xof\shake128\ref
+
+
+ crypto_xof\shake256
+
+
+ crypto_xof\shake256\ref
+
+
+ crypto_xof\turboshake256
+
+
+ crypto_xof\turboshake256\ref
+
+
+ crypto_xof\turboshake128
+
+
+ crypto_xof\turboshake128\ref
+
crypto_verify
@@ -252,6 +273,18 @@
sodium
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream
@@ -357,6 +390,12 @@
crypto_secretstream\xchacha20poly1305
+
+ crypto_core\keccak1600
+
+
+ crypto_core\keccak1600\ref
+
crypto_core\salsa\ref
@@ -378,6 +417,9 @@
crypto_core\ed25519
+
+ crypto_core\ed25519
+
crypto_core\ed25519\ref10
@@ -455,6 +497,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -500,6 +545,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -509,6 +557,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -524,6 +575,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -548,6 +602,9 @@
include\sodium
+
+ include\sodium
+
include\sodium
@@ -599,21 +656,24 @@
include\sodium
+
+ include\sodium
+
include\sodium
include\sodium
-
- include\sodium
-
include\sodium\private
include\sodium\private
+
+ include\sodium\private
+
include\sodium\private
@@ -668,6 +728,18 @@
crypto_pwhash\scryptsalsa208sha256
+
+ crypto_xof\shake128\ref
+
+
+ crypto_xof\shake256\ref
+
+
+ crypto_xof\turboshake256\ref
+
+
+ crypto_xof\turboshake128\ref
+
crypto_shorthash\siphash24\ref
@@ -713,6 +785,18 @@
crypto_onetimeauth\poly1305\sse2
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
+
+ crypto_ipcrypt
+
crypto_stream\chacha20
@@ -761,6 +845,9 @@
crypto_stream\salsa20\xmm6int
+
+ crypto_stream\salsa20\xmm6
+
crypto_stream\salsa20\xmm6
@@ -794,6 +881,12 @@
crypto_aead\aegis256
+
+ crypto_core\keccak1600\ref
+
+
+ crypto_core\ed25519
+
crypto_core\ed25519\ref10\fe_25_5
@@ -889,6 +982,12 @@
{c6b8e28c-7c54-3af7-bee3-2948ba7b2082}
+
+ {85c1722f-2d65-30a8-aefb-ebf1cbfe185e}
+
+
+ {9462f285-fee0-3779-983b-2811dc621f7d}
+
{4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3}
@@ -922,6 +1021,9 @@
{f2d6a22b-dd67-3561-90a4-88696169cb7b}
+
+ {5c3b1fe7-203f-36fd-bca5-8d0c4b466d80}
+
{aaf59186-1c0d-33cf-a34d-93e14bb87226}
@@ -1063,6 +1165,33 @@
{49fb9272-ffe2-3993-b562-b19d5f2c9b40}
+
+ {9d0b6e6c-57a5-33bb-a67c-c1ce5a5e0684}
+
+
+ {3311f765-9a5b-3614-a24f-9b97a56240aa}
+
+
+ {0b3ce98f-5f0a-3836-a95f-5ebd938a0e15}
+
+
+ {d4f668ef-b456-369e-b8bf-b1b6d4e90a6d}
+
+
+ {c5174d81-c82a-3411-98f7-829a427faddc}
+
+
+ {6ccaee32-fd4e-3b58-be6b-a2866132d22d}
+
+
+ {00e8736b-cf8d-3a60-bfbe-f0c535d45696}
+
+
+ {8f7b92bd-0b08-3b14-8693-2df66b256d8b}
+
+
+ {bcea4d5e-5593-3465-ac95-2ecd34340ce3}
+
{96da72eb-3aa0-3850-83eb-32788f91e5bd}
diff --git a/ci/appveyor/libsodium.vcxproj b/ci/appveyor/libsodium.vcxproj
index c788fce8..840e3248 100644
--- a/ci/appveyor/libsodium.vcxproj
+++ b/ci/appveyor/libsodium.vcxproj
@@ -399,6 +399,10 @@
+
+
+
+
@@ -524,6 +528,7 @@
+
@@ -566,6 +571,10 @@
+
+
+
+
diff --git a/ci/appveyor/libsodium.vcxproj.filters b/ci/appveyor/libsodium.vcxproj.filters
index 3a25fec0..8d747b1e 100644
--- a/ci/appveyor/libsodium.vcxproj.filters
+++ b/ci/appveyor/libsodium.vcxproj.filters
@@ -264,6 +264,18 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
Source Files
@@ -635,6 +647,9 @@
Header Files
+
+ Header Files
+
Header Files
@@ -761,6 +776,18 @@
Header Files
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
Header Files
diff --git a/src/libsodium/Makefile.am b/src/libsodium/Makefile.am
index a9712304..35bb8e04 100644
--- a/src/libsodium/Makefile.am
+++ b/src/libsodium/Makefile.am
@@ -48,6 +48,10 @@ libsodium_la_SOURCES = \
crypto_hash/sha256/cp/hash_sha256_cp.c \
crypto_hash/sha512/hash_sha512.c \
crypto_hash/sha512/cp/hash_sha512_cp.c \
+ crypto_ipcrypt/crypto_ipcrypt.c \
+ crypto_ipcrypt/ipcrypt_soft.c \
+ crypto_ipcrypt/ipcrypt_soft.h \
+ crypto_ipcrypt/implementations.h \
crypto_kdf/blake2b/kdf_blake2b.c \
crypto_kdf/crypto_kdf.c \
crypto_kdf/hkdf/kdf_hkdf_sha256.c \
@@ -251,7 +255,9 @@ libarmcrypto_la_SOURCES = \
crypto_aead/aegis128l/aegis128l_armcrypto.h \
crypto_aead/aegis256/aegis256_armcrypto.c \
crypto_aead/aegis256/aegis256_armcrypto.h \
- crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+ crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c \
+ crypto_ipcrypt/ipcrypt_armcrypto.c \
+ crypto_ipcrypt/ipcrypt_armcrypto.h
libaesni_la_LDFLAGS = $(libsodium_la_LDFLAGS)
libaesni_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
@@ -261,7 +267,9 @@ libaesni_la_SOURCES = \
crypto_aead/aegis128l/aegis128l_aesni.h \
crypto_aead/aegis256/aegis256_aesni.c \
crypto_aead/aegis256/aegis256_aesni.h \
- crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c
+ crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c \
+ crypto_ipcrypt/ipcrypt_aesni.c \
+ crypto_ipcrypt/ipcrypt_aesni.h
libsse2_la_LDFLAGS = $(libsodium_la_LDFLAGS)
libsse2_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
diff --git a/src/libsodium/include/Makefile.am b/src/libsodium/include/Makefile.am
index 84e90d18..616a6122 100644
--- a/src/libsodium/include/Makefile.am
+++ b/src/libsodium/include/Makefile.am
@@ -27,6 +27,7 @@ SODIUM_EXPORT = \
sodium/crypto_hash.h \
sodium/crypto_hash_sha256.h \
sodium/crypto_hash_sha512.h \
+ sodium/crypto_ipcrypt.h \
sodium/crypto_kdf.h \
sodium/crypto_kdf_blake2b.h \
sodium/crypto_kdf_hkdf_sha256.h \
diff --git a/src/libsodium/include/sodium.h b/src/libsodium/include/sodium.h
index e4508652..9dcb56f7 100644
--- a/src/libsodium/include/sodium.h
+++ b/src/libsodium/include/sodium.h
@@ -27,6 +27,7 @@
#include "sodium/crypto_hash.h"
#include "sodium/crypto_hash_sha256.h"
#include "sodium/crypto_hash_sha512.h"
+#include "sodium/crypto_ipcrypt.h"
#include "sodium/crypto_kdf.h"
#include "sodium/crypto_kdf_hkdf_sha256.h"
#include "sodium/crypto_kdf_hkdf_sha512.h"
diff --git a/src/libsodium/include/sodium/private/implementations.h b/src/libsodium/include/sodium/private/implementations.h
index 1c1fde07..fa3455db 100644
--- a/src/libsodium/include/sodium/private/implementations.h
+++ b/src/libsodium/include/sodium/private/implementations.h
@@ -11,5 +11,6 @@ int _crypto_stream_chacha20_pick_best_implementation(void);
int _crypto_stream_salsa20_pick_best_implementation(void);
int _crypto_aead_aegis128l_pick_best_implementation(void);
int _crypto_aead_aegis256_pick_best_implementation(void);
+int _crypto_ipcrypt_pick_best_implementation(void);
#endif
diff --git a/src/libsodium/include/sodium/private/quirks.h b/src/libsodium/include/sodium/private/quirks.h
index dc0ba402..e5097e76 100644
--- a/src/libsodium/include/sodium/private/quirks.h
+++ b/src/libsodium/include/sodium/private/quirks.h
@@ -84,26 +84,28 @@
#define sc25519_muladd _sodium_sc25519_muladd
#define sc25519_reduce _sodium_sc25519_reduce
#define shake128_ref _sodium_shake128_ref
-#define shake128_ref_final _sodium_shake128_ref_final
#define shake128_ref_init _sodium_shake128_ref_init
#define shake128_ref_init_with_domain _sodium_shake128_ref_init_with_domain
#define shake128_ref_squeeze _sodium_shake128_ref_squeeze
#define shake128_ref_update _sodium_shake128_ref_update
#define shake256_ref _sodium_shake256_ref
-#define shake256_ref_final _sodium_shake256_ref_final
#define shake256_ref_init _sodium_shake256_ref_init
#define shake256_ref_init_with_domain _sodium_shake256_ref_init_with_domain
#define shake256_ref_squeeze _sodium_shake256_ref_squeeze
#define shake256_ref_update _sodium_shake256_ref_update
+#define softaes_block_decrypt _sodium_softaes_block_decrypt
#define softaes_block_encrypt _sodium_softaes_block_encrypt
+#define softaes_expand_key128 _sodium_softaes_expand_key128
+#define softaes_expand_key256 _sodium_softaes_expand_key256
+#define softaes_inv_mix_columns _sodium_softaes_inv_mix_columns
+#define softaes_invert_key_schedule128 _sodium_softaes_invert_key_schedule128
+#define softaes_invert_key_schedule256 _sodium_softaes_invert_key_schedule256
#define turboshake128_ref _sodium_turboshake128_ref
-#define turboshake128_ref_final _sodium_turboshake128_ref_final
#define turboshake128_ref_init _sodium_turboshake128_ref_init
#define turboshake128_ref_init_with_domain _sodium_turboshake128_ref_init_with_domain
#define turboshake128_ref_squeeze _sodium_turboshake128_ref_squeeze
#define turboshake128_ref_update _sodium_turboshake128_ref_update
#define turboshake256_ref _sodium_turboshake256_ref
-#define turboshake256_ref_final _sodium_turboshake256_ref_final
#define turboshake256_ref_init _sodium_turboshake256_ref_init
#define turboshake256_ref_init_with_domain _sodium_turboshake256_ref_init_with_domain
#define turboshake256_ref_squeeze _sodium_turboshake256_ref_squeeze
diff --git a/src/libsodium/sodium/core.c b/src/libsodium/sodium/core.c
index b5beec92..03d82f10 100644
--- a/src/libsodium/sodium/core.c
+++ b/src/libsodium/sodium/core.c
@@ -47,6 +47,7 @@ sodium_init(void)
_crypto_stream_salsa20_pick_best_implementation();
_crypto_aead_aegis128l_pick_best_implementation();
_crypto_aead_aegis256_pick_best_implementation();
+ _crypto_ipcrypt_pick_best_implementation();
initialized = 1;
if (sodium_crit_leave() != 0) {
return -1; /* LCOV_EXCL_LINE */
diff --git a/test/default/Makefile.am b/test/default/Makefile.am
index 3dbb333f..866e3e66 100644
--- a/test/default/Makefile.am
+++ b/test/default/Makefile.am
@@ -44,6 +44,7 @@ EXTRA_DIST = \
generichash3.exp \
hash.exp \
hash3.exp \
+ ipcrypt.exp \
kdf.exp \
kdf_hkdf.exp \
keygen.exp \
@@ -134,6 +135,7 @@ DISTCLEANFILES = \
hash.res \
hash2.res \
hash3.res \
+ ipcrypt.res \
kdf.res \
kdf_hkdf.res \
keygen.res \
@@ -230,6 +232,7 @@ TESTS_TARGETS = \
generichash3 \
hash \
hash3 \
+ ipcrypt \
kdf \
keygen \
kx \
@@ -400,6 +403,9 @@ hash_LDADD = $(TESTS_LDADD)
hash3_SOURCE = cmptest.h hash3.c
hash3_LDADD = $(TESTS_LDADD)
+ipcrypt_SOURCE = cmptest.h ipcrypt.c
+ipcrypt_LDADD = $(TESTS_LDADD)
+
kdf_SOURCE = cmptest.h kdf.c
kdf_LDADD = $(TESTS_LDADD)