mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Add the shifumi128 ZKP system
This commit is contained in:
@@ -166,6 +166,7 @@ test/default/stream3
|
||||
test/default/stream4
|
||||
test/default/verify1
|
||||
test/default/xchacha20
|
||||
test/default/shifumi128
|
||||
test/js.done
|
||||
testing
|
||||
zig-cache
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -267,6 +268,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -267,6 +268,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -267,6 +268,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -267,6 +268,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -182,6 +182,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -267,6 +268,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -291,6 +292,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -135,6 +135,7 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -220,6 +221,7 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -339,6 +339,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>crypto_zkp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>crypto_secretstream\xchacha20poly1305</Filter>
|
||||
</ClCompile>
|
||||
@@ -590,6 +593,9 @@
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>include\sodium</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>include\sodium\private</Filter>
|
||||
</ClInclude>
|
||||
@@ -1033,6 +1039,9 @@
|
||||
<Filter Include="crypto_verify\sodium">
|
||||
<UniqueIdentifier>{80669cf5-3c9c-3c60-b409-9d8fb305bc77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_zkp">
|
||||
<UniqueIdentifier>{782f92dd-85aa-35fb-919d-aabbca1c59f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="include">
|
||||
<UniqueIdentifier>{96da72eb-3aa0-3850-83eb-32788f91e5bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
||||
@@ -420,6 +420,7 @@
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_zkp\shifumi128.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_core\hchacha20\core_hchacha20.c" />
|
||||
@@ -505,6 +506,7 @@
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_scalarmult_ed25519.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_box_curve25519xsalsa20poly1305.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_generichash_blake2b.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_zkp_shifumi128.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\private\quirks.h" />
|
||||
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10_fe_25_5.h" />
|
||||
|
||||
@@ -330,6 +330,9 @@
|
||||
<ClCompile Include="src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_zkp\shifumi128.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -581,6 +584,9 @@
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_generichash_blake2b.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\libsodium\include\sodium\crypto_zkp_shifumi128.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\libsodium\include\sodium\private\ed25519_ref10.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -86,6 +86,7 @@ libsodium_la_SOURCES = \
|
||||
crypto_stream/salsa20/stream_salsa20.h \
|
||||
crypto_stream/xsalsa20/stream_xsalsa20.c \
|
||||
crypto_verify/sodium/verify.c \
|
||||
crypto_zkp/shifumi128.c \
|
||||
include/sodium/private/chacha20_ietf_ext.h \
|
||||
include/sodium/private/common.h \
|
||||
include/sodium/private/ed25519_ref10.h \
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
#include "crypto_shorthash_siphash24.h"
|
||||
#include "crypto_verify_16.h"
|
||||
#include "crypto_zkp_shifumi128.h"
|
||||
#include "randombytes.h"
|
||||
|
||||
size_t
|
||||
crypto_zkp_shifumi128_secretbytes(void)
|
||||
{
|
||||
return crypto_zkp_shifumi128_SECRETBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_zkp_shifumi128_bytes(void)
|
||||
{
|
||||
return crypto_zkp_shifumi128_BYTES;
|
||||
}
|
||||
|
||||
void
|
||||
crypto_zkp_shufumi128_pick(crypto_zkp_shifumi128_commitment *commitment)
|
||||
{
|
||||
*commitment = (int) randombytes_uniform(3);
|
||||
}
|
||||
|
||||
int
|
||||
crypto_zkp_shifumi128_commit(unsigned char secret[crypto_zkp_shifumi128_SECRETBYTES],
|
||||
unsigned char proof[crypto_zkp_shifumi128_BYTES],
|
||||
const crypto_zkp_shifumi128_commitment commitment)
|
||||
{
|
||||
const unsigned char s[1] = { (const unsigned char) commitment };
|
||||
|
||||
if (commitment < 0 || commitment > 2) {
|
||||
return -1;
|
||||
}
|
||||
randombytes_buf(secret, crypto_zkp_shifumi128_SECRETBYTES);
|
||||
crypto_shorthash_siphashx24(proof, s, sizeof s, secret);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_zkp_shifumi128_verify(const unsigned char secret[crypto_zkp_shifumi128_SECRETBYTES],
|
||||
const unsigned char proof[crypto_zkp_shifumi128_BYTES],
|
||||
const crypto_zkp_shifumi128_commitment commitment)
|
||||
{
|
||||
const unsigned char s[1] = { (const unsigned char) commitment };
|
||||
unsigned char computed_proof[crypto_zkp_shifumi128_BYTES];
|
||||
|
||||
crypto_shorthash_siphashx24(computed_proof, s, sizeof s, secret);
|
||||
|
||||
return crypto_verify_16(computed_proof, proof);
|
||||
}
|
||||
@@ -59,6 +59,7 @@ SODIUM_EXPORT = \
|
||||
sodium/crypto_verify_16.h \
|
||||
sodium/crypto_verify_32.h \
|
||||
sodium/crypto_verify_64.h \
|
||||
sodium/crypto_zkp_shifumi128.h \
|
||||
sodium/export.h \
|
||||
sodium/randombytes.h \
|
||||
sodium/randombytes_internal_random.h \
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "sodium/crypto_verify_16.h"
|
||||
#include "sodium/crypto_verify_32.h"
|
||||
#include "sodium/crypto_verify_64.h"
|
||||
#include "sodium/crypto_zkp_shifumi128.h"
|
||||
#include "sodium/randombytes.h"
|
||||
#include "sodium/randombytes_internal_random.h"
|
||||
#include "sodium/randombytes_sysrandom.h"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#ifndef crypto_zkp_shifumi128_H
|
||||
#define crypto_zkp_shifumi128_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include "export.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum crypto_zkp_shifumi128_commitment {
|
||||
crypto_zkp_shifumi128_ROCK,
|
||||
crypto_zkp_shifumi128_PAPER,
|
||||
crypto_zkp_shifumi128_SCISSORS
|
||||
} crypto_zkp_shifumi128_commitment;
|
||||
|
||||
#define crypto_zkp_shifumi128_SECRETBYTES 16
|
||||
#define crypto_zkp_shifumi128_BYTES 16
|
||||
|
||||
SODIUM_EXPORT
|
||||
size_t crypto_zkp_shifumi128_secretbytes(void);
|
||||
|
||||
SODIUM_EXPORT
|
||||
size_t crypto_zkp_shifumi128_bytes(void);
|
||||
|
||||
SODIUM_EXPORT
|
||||
void crypto_zkp_shufumi128_pick(crypto_zkp_shifumi128_commitment *commitment);
|
||||
|
||||
SODIUM_EXPORT
|
||||
int crypto_zkp_shifumi128_commit(unsigned char secret[crypto_zkp_shifumi128_SECRETBYTES],
|
||||
unsigned char proof[crypto_zkp_shifumi128_BYTES],
|
||||
const crypto_zkp_shifumi128_commitment commitment);
|
||||
|
||||
SODIUM_EXPORT
|
||||
int crypto_zkp_shifumi128_verify(const unsigned char secret[crypto_zkp_shifumi128_SECRETBYTES],
|
||||
const unsigned char proof[crypto_zkp_shifumi128_BYTES],
|
||||
const crypto_zkp_shifumi128_commitment commitment);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -84,7 +84,8 @@ EXTRA_DIST = \
|
||||
stream3.exp \
|
||||
stream4.exp \
|
||||
verify1.exp \
|
||||
xchacha20.exp
|
||||
xchacha20.exp \
|
||||
shifumi128.exp
|
||||
|
||||
DISTCLEANFILES = \
|
||||
aead_aegis128l.res \
|
||||
@@ -168,7 +169,8 @@ DISTCLEANFILES = \
|
||||
stream3.res \
|
||||
stream4.res \
|
||||
verify1.res \
|
||||
xchacha20.res
|
||||
xchacha20.res \
|
||||
shifumi128.res
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DTEST_SRCDIR=\"@srcdir@\" \
|
||||
@@ -249,7 +251,8 @@ TESTS_TARGETS = \
|
||||
stream2 \
|
||||
stream3 \
|
||||
stream4 \
|
||||
verify1
|
||||
verify1 \
|
||||
shifumi128
|
||||
|
||||
if !EMSCRIPTEN
|
||||
TESTS_TARGETS += \
|
||||
@@ -507,6 +510,9 @@ verify1_LDADD = $(TESTS_LDADD)
|
||||
xchacha20_SOURCE = cmptest.h xchacha20.c
|
||||
xchacha20_LDADD = $(TESTS_LDADD)
|
||||
|
||||
shifumi128_SOURC = cmptest.h shifumi128.c
|
||||
shifumi128_LDADD = $(TESTS_LDADD)
|
||||
|
||||
if !MINIMAL
|
||||
TESTS_TARGETS += \
|
||||
core_ed25519 \
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#define TEST_NAME "shifumi128"
|
||||
#include "cmptest.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
unsigned char secret[crypto_zkp_shifumi128_SECRETBYTES];
|
||||
unsigned char proof[crypto_zkp_shifumi128_BYTES];
|
||||
crypto_zkp_shifumi128_commitment move;
|
||||
|
||||
crypto_zkp_shufumi128_pick(&move);
|
||||
crypto_zkp_shifumi128_commit(secret, proof, move);
|
||||
|
||||
assert(crypto_zkp_shifumi128_verify(secret, proof, move) == 0);
|
||||
|
||||
crypto_zkp_shifumi128_commit(secret, proof, crypto_zkp_shifumi128_ROCK);
|
||||
|
||||
assert(crypto_zkp_shifumi128_verify(secret, proof,
|
||||
crypto_zkp_shifumi128_PAPER) == -1);
|
||||
}
|
||||
Reference in New Issue
Block a user