Revert "Add crypto_kx_ed25519" and "Add low-level kx_curve25519 functions"

This reverts commit 2d736dc2bc.
This reverts commit 7f3bc5cd08.
This commit is contained in:
Frank Denis 2018-12-25 19:13:47 +01:00
parent d3976446a0
commit e60049aad1
23 changed files with 90 additions and 612 deletions

View File

@ -86,8 +86,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -201,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -212,7 +209,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash.h" />
@ -244,7 +240,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -51,12 +51,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c">
<Filter>crypto_kx</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>crypto_kx\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>crypto_kx\curve25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c">
<Filter>crypto_sign</Filter>
</ClCompile>
@ -392,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -425,9 +416,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,9 +509,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -850,12 +835,6 @@
<Filter Include="crypto_kx">
<UniqueIdentifier>{898b6bd5-1360-3a34-adcd-0fade7561685}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\curve25519">
<UniqueIdentifier>{a87725bb-5474-365f-be59-ada5ae3f9e73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\ed25519">
<UniqueIdentifier>{57637f5e-c7cb-31ae-8f7b-1a68c22ef39f}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_onetimeauth">
<UniqueIdentifier>{323c0a15-3c1d-39b2-9ec1-299deb299497}</UniqueIdentifier>
</Filter>

View File

@ -86,8 +86,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -201,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -212,7 +209,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash.h" />
@ -244,7 +240,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -51,12 +51,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c">
<Filter>crypto_kx</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>crypto_kx\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>crypto_kx\curve25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c">
<Filter>crypto_sign</Filter>
</ClCompile>
@ -392,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -425,9 +416,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,9 +509,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -850,12 +835,6 @@
<Filter Include="crypto_kx">
<UniqueIdentifier>{898b6bd5-1360-3a34-adcd-0fade7561685}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\curve25519">
<UniqueIdentifier>{a87725bb-5474-365f-be59-ada5ae3f9e73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\ed25519">
<UniqueIdentifier>{57637f5e-c7cb-31ae-8f7b-1a68c22ef39f}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_onetimeauth">
<UniqueIdentifier>{323c0a15-3c1d-39b2-9ec1-299deb299497}</UniqueIdentifier>
</Filter>

View File

@ -86,8 +86,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -201,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -212,7 +209,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash.h" />
@ -244,7 +240,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -51,12 +51,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c">
<Filter>crypto_kx</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>crypto_kx\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>crypto_kx\curve25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c">
<Filter>crypto_sign</Filter>
</ClCompile>
@ -392,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -425,9 +416,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,9 +509,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -850,12 +835,6 @@
<Filter Include="crypto_kx">
<UniqueIdentifier>{898b6bd5-1360-3a34-adcd-0fade7561685}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\curve25519">
<UniqueIdentifier>{a87725bb-5474-365f-be59-ada5ae3f9e73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\ed25519">
<UniqueIdentifier>{57637f5e-c7cb-31ae-8f7b-1a68c22ef39f}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_onetimeauth">
<UniqueIdentifier>{323c0a15-3c1d-39b2-9ec1-299deb299497}</UniqueIdentifier>
</Filter>

View File

@ -86,8 +86,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -201,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -212,7 +209,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash.h" />
@ -244,7 +240,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -51,12 +51,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c">
<Filter>crypto_kx</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>crypto_kx\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>crypto_kx\curve25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c">
<Filter>crypto_sign</Filter>
</ClCompile>
@ -392,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -425,9 +416,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,9 +509,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -850,12 +835,6 @@
<Filter Include="crypto_kx">
<UniqueIdentifier>{898b6bd5-1360-3a34-adcd-0fade7561685}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\curve25519">
<UniqueIdentifier>{a87725bb-5474-365f-be59-ada5ae3f9e73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\ed25519">
<UniqueIdentifier>{57637f5e-c7cb-31ae-8f7b-1a68c22ef39f}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_onetimeauth">
<UniqueIdentifier>{323c0a15-3c1d-39b2-9ec1-299deb299497}</UniqueIdentifier>
</Filter>

View File

@ -86,8 +86,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -201,7 +199,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -212,7 +209,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_hash.h" />
@ -244,7 +240,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -51,12 +51,6 @@
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\crypto_kx.c">
<Filter>crypto_kx</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>crypto_kx\ed25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>crypto_kx\curve25519</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\libsodium\crypto_sign\crypto_sign.c">
<Filter>crypto_sign</Filter>
</ClCompile>
@ -392,9 +386,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\core.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\version.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\export.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -425,9 +416,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -521,9 +509,6 @@
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>include\sodium</Filter>
</ClInclude>
@ -850,12 +835,6 @@
<Filter Include="crypto_kx">
<UniqueIdentifier>{898b6bd5-1360-3a34-adcd-0fade7561685}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\curve25519">
<UniqueIdentifier>{a87725bb-5474-365f-be59-ada5ae3f9e73}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_kx\ed25519">
<UniqueIdentifier>{57637f5e-c7cb-31ae-8f7b-1a68c22ef39f}</UniqueIdentifier>
</Filter>
<Filter Include="crypto_onetimeauth">
<UniqueIdentifier>{323c0a15-3c1d-39b2-9ec1-299deb299497}</UniqueIdentifier>
</Filter>

View File

@ -236,24 +236,6 @@ _crypto_kdf_keybytes 1 1
_crypto_kdf_keygen 1 1
_crypto_kdf_primitive 0 1
_crypto_kx_client_session_keys 1 1
_crypto_kx_curve25519_client_session_keys 0 1
_crypto_kx_curve25519_keypair 0 1
_crypto_kx_curve25519_primitive 0 1
_crypto_kx_curve25519_publickeybytes 0 1
_crypto_kx_curve25519_secretkeybytes 0 1
_crypto_kx_curve25519_seed_keypair 0 1
_crypto_kx_curve25519_seedbytes 0 1
_crypto_kx_curve25519_server_session_keys 0 1
_crypto_kx_curve25519_sessionkeybytes 0 1
_crypto_kx_ed25519_client_session_keys 0 1
_crypto_kx_ed25519_keypair 0 1
_crypto_kx_ed25519_primitive 0 1
_crypto_kx_ed25519_publickeybytes 0 1
_crypto_kx_ed25519_secretkeybytes 0 1
_crypto_kx_ed25519_seed_keypair 0 1
_crypto_kx_ed25519_seedbytes 0 1
_crypto_kx_ed25519_server_session_keys 0 1
_crypto_kx_ed25519_sessionkeybytes 0 1
_crypto_kx_keypair 1 1
_crypto_kx_primitive 0 1
_crypto_kx_publickeybytes 1 1

File diff suppressed because one or more lines are too long

View File

@ -324,8 +324,6 @@
<ClCompile Include="src\libsodium\crypto_generichash\blake2b\ref\generichash_blake2b.c" />
<ClCompile Include="src\libsodium\crypto_generichash\blake2b\ref\blake2b-ref.c" />
<ClCompile Include="src\libsodium\crypto_kx\crypto_kx.c" />
<ClCompile Include="src\libsodium\crypto_kx\ed25519\kx_ed25519.c" />
<ClCompile Include="src\libsodium\crypto_kx\curve25519\kx_curve25519.c" />
<ClCompile Include="src\libsodium\crypto_sign\crypto_sign.c" />
<ClCompile Include="src\libsodium\crypto_sign\ed25519\sign_ed25519.c" />
<ClCompile Include="src\libsodium\crypto_sign\ed25519\ref10\obsolete.c" />
@ -439,7 +437,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_core_hchacha20.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_hash_sha512.h" />
<ClInclude Include="src\libsodium\include\sodium\core.h" />
<ClInclude Include="src\libsodium\include\sodium\version.h" />
<ClInclude Include="src\libsodium\include\sodium\export.h" />
<ClInclude Include="src\libsodium\include\sodium\randombytes_salsa20_random.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_core_salsa20.h" />
@ -450,7 +447,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_auth_hmacsha512.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_aead_xchacha20poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_stream_salsa20.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_kx_ed25519.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_kx.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_hash.h" />
@ -482,7 +478,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_pwhash_argon2id.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_secretstream_xchacha20poly1305.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_kx_curve25519.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_sign_ed25519.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_onetimeauth.h" />
<ClInclude Include="src\libsodium\include\sodium\crypto_verify_64.h" />

View File

@ -42,12 +42,6 @@
<ClCompile Include="src\libsodium\crypto_kx\crypto_kx.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_kx\ed25519\kx_ed25519.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_kx\curve25519\kx_curve25519.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\libsodium\crypto_sign\crypto_sign.c">
<Filter>Source Files</Filter>
</ClCompile>
@ -383,9 +377,6 @@
<ClInclude Include="src\libsodium\include\sodium\core.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\export.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -416,9 +407,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_stream_salsa20.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_kx_ed25519.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_onetimeauth_poly1305.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -512,9 +500,6 @@
<ClInclude Include="src\libsodium\include\sodium\crypto_pwhash_scryptsalsa208sha256.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_kx_curve25519.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\libsodium\include\sodium\crypto_sign_ed25519.h">
<Filter>Header Files</Filter>
</ClInclude>

View File

@ -1,4 +1,3 @@
lib_LTLIBRARIES = \
libsodium.la
@ -35,7 +34,6 @@ libsodium_la_SOURCES = \
crypto_kdf/blake2b/kdf_blake2b.c \
crypto_kdf/crypto_kdf.c \
crypto_kx/crypto_kx.c \
crypto_kx/curve25519/kx_curve25519.c \
crypto_onetimeauth/crypto_onetimeauth.c \
crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \
crypto_onetimeauth/poly1305/onetimeauth_poly1305.h \
@ -154,7 +152,6 @@ libsodium_la_SOURCES += \
crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c \
crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c \
crypto_core/ed25519/core_ed25519.c \
crypto_kx/ed25519/kx_ed25519.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c \
crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \
crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c \

View File

@ -1,21 +1,33 @@
#include <stddef.h>
#include "core.h"
#include "crypto_generichash.h"
#include "crypto_kx.h"
#include "crypto_kx_curve25519.h"
#include "crypto_scalarmult.h"
#include "private/common.h"
#include "randombytes.h"
#include "utils.h"
int
crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_SECRETKEYBYTES],
const unsigned char seed[crypto_kx_SEEDBYTES])
{
return crypto_kx_curve25519_seed_keypair(pk, sk, seed);
crypto_generichash(sk, crypto_kx_SECRETKEYBYTES,
seed, crypto_kx_SEEDBYTES, NULL, 0);
return crypto_scalarmult_base(pk, sk);
}
int
crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_SECRETKEYBYTES])
{
return crypto_kx_curve25519_keypair(pk, sk);
COMPILER_ASSERT(crypto_kx_SECRETKEYBYTES == crypto_scalarmult_SCALARBYTES);
COMPILER_ASSERT(crypto_kx_PUBLICKEYBYTES == crypto_scalarmult_BYTES);
randombytes_buf(sk, crypto_kx_SECRETKEYBYTES);
return crypto_scalarmult_base(pk, sk);
}
int
@ -25,8 +37,38 @@ crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
const unsigned char client_sk[crypto_kx_SECRETKEYBYTES],
const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES])
{
return crypto_kx_curve25519_client_session_keys(rx, tx, client_pk,
client_sk, server_pk);
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_BYTES];
unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult(q, client_sk, server_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) {
rx[i] = keys[i];
tx[i] = keys[i + crypto_kx_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
int
@ -36,36 +78,66 @@ crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
const unsigned char server_sk[crypto_kx_SECRETKEYBYTES],
const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES])
{
return crypto_kx_curve25519_server_session_keys(rx, tx, server_pk,
server_sk, client_pk);
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_BYTES];
unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult(q, server_sk, client_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) {
tx[i] = keys[i];
rx[i] = keys[i + crypto_kx_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
size_t
crypto_kx_publickeybytes(void)
{
return crypto_kx_curve25519_PUBLICKEYBYTES;
return crypto_kx_PUBLICKEYBYTES;
}
size_t
crypto_kx_secretkeybytes(void)
{
return crypto_kx_curve25519_SECRETKEYBYTES;
return crypto_kx_SECRETKEYBYTES;
}
size_t
crypto_kx_seedbytes(void)
{
return crypto_kx_curve25519_SEEDBYTES;
return crypto_kx_SEEDBYTES;
}
size_t
crypto_kx_sessionkeybytes(void)
{
return crypto_kx_curve25519_SESSIONKEYBYTES;
return crypto_kx_SESSIONKEYBYTES;
}
const char *
crypto_kx_primitive(void)
{
return crypto_kx_curve25519_PRIMITIVE;
return crypto_kx_PRIMITIVE;
}

View File

@ -1,143 +0,0 @@
#include <stddef.h>
#include "core.h"
#include "crypto_generichash.h"
#include "crypto_kx_curve25519.h"
#include "crypto_scalarmult_curve25519.h"
#include "private/common.h"
#include "randombytes.h"
#include "utils.h"
int
crypto_kx_curve25519_seed_keypair(unsigned char pk[crypto_kx_curve25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char seed[crypto_kx_curve25519_SEEDBYTES])
{
crypto_generichash(sk, crypto_kx_curve25519_SECRETKEYBYTES,
seed, crypto_kx_curve25519_SEEDBYTES, NULL, 0);
return crypto_scalarmult_curve25519_base(pk, sk);
}
int
crypto_kx_curve25519_keypair(unsigned char pk[crypto_kx_curve25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_curve25519_SECRETKEYBYTES])
{
COMPILER_ASSERT(crypto_kx_curve25519_SECRETKEYBYTES == crypto_scalarmult_curve25519_SCALARBYTES);
COMPILER_ASSERT(crypto_kx_curve25519_PUBLICKEYBYTES == crypto_scalarmult_curve25519_BYTES);
randombytes_buf(sk, crypto_kx_curve25519_SECRETKEYBYTES);
return crypto_scalarmult_curve25519_base(pk, sk);
}
int
crypto_kx_curve25519_client_session_keys(unsigned char rx[crypto_kx_curve25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_curve25519_SESSIONKEYBYTES],
const unsigned char client_pk[crypto_kx_curve25519_PUBLICKEYBYTES],
const unsigned char client_sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char server_pk[crypto_kx_curve25519_PUBLICKEYBYTES])
{
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_curve25519_BYTES];
unsigned char keys[2 * crypto_kx_curve25519_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult_curve25519(q, client_sk, server_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_curve25519_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_curve25519_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_curve25519_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_curve25519_SESSIONKEYBYTES; i++) {
rx[i] = keys[i];
tx[i] = keys[i + crypto_kx_curve25519_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
int
crypto_kx_curve25519_server_session_keys(unsigned char rx[crypto_kx_curve25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_curve25519_SESSIONKEYBYTES],
const unsigned char server_pk[crypto_kx_curve25519_PUBLICKEYBYTES],
const unsigned char server_sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char client_pk[crypto_kx_curve25519_PUBLICKEYBYTES])
{
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_curve25519_BYTES];
unsigned char keys[2 * crypto_kx_curve25519_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult_curve25519(q, server_sk, client_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_curve25519_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_curve25519_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_curve25519_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_curve25519_SESSIONKEYBYTES; i++) {
tx[i] = keys[i];
rx[i] = keys[i + crypto_kx_curve25519_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
size_t
crypto_kx_curve25519_publickeybytes(void)
{
return crypto_kx_curve25519_PUBLICKEYBYTES;
}
size_t
crypto_kx_curve25519_secretkeybytes(void)
{
return crypto_kx_curve25519_SECRETKEYBYTES;
}
size_t
crypto_kx_curve25519_seedbytes(void)
{
return crypto_kx_curve25519_SEEDBYTES;
}
size_t
crypto_kx_curve25519_sessionkeybytes(void)
{
return crypto_kx_curve25519_SESSIONKEYBYTES;
}
const char *
crypto_kx_curve25519_primitive(void)
{
return crypto_kx_curve25519_PRIMITIVE;
}

View File

@ -1,143 +0,0 @@
#include <stddef.h>
#include "core.h"
#include "crypto_generichash.h"
#include "crypto_kx_ed25519.h"
#include "crypto_scalarmult_ed25519.h"
#include "private/common.h"
#include "randombytes.h"
#include "utils.h"
int
crypto_kx_ed25519_seed_keypair(unsigned char pk[crypto_kx_ed25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char seed[crypto_kx_ed25519_SEEDBYTES])
{
crypto_generichash(sk, crypto_kx_ed25519_SECRETKEYBYTES,
seed, crypto_kx_ed25519_SEEDBYTES, NULL, 0);
return crypto_scalarmult_ed25519_base(pk, sk);
}
int
crypto_kx_ed25519_keypair(unsigned char pk[crypto_kx_ed25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_ed25519_SECRETKEYBYTES])
{
COMPILER_ASSERT(crypto_kx_ed25519_SECRETKEYBYTES == crypto_scalarmult_ed25519_SCALARBYTES);
COMPILER_ASSERT(crypto_kx_ed25519_PUBLICKEYBYTES == crypto_scalarmult_ed25519_BYTES);
randombytes_buf(sk, crypto_kx_ed25519_SECRETKEYBYTES);
return crypto_scalarmult_ed25519_base(pk, sk);
}
int
crypto_kx_ed25519_client_session_keys(unsigned char rx[crypto_kx_ed25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_ed25519_SESSIONKEYBYTES],
const unsigned char client_pk[crypto_kx_ed25519_PUBLICKEYBYTES],
const unsigned char client_sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char server_pk[crypto_kx_ed25519_PUBLICKEYBYTES])
{
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_ed25519_BYTES];
unsigned char keys[2 * crypto_kx_ed25519_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult_ed25519(q, client_sk, server_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_ed25519_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_ed25519_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_ed25519_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_ed25519_SESSIONKEYBYTES; i++) {
rx[i] = keys[i];
tx[i] = keys[i + crypto_kx_ed25519_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
int
crypto_kx_ed25519_server_session_keys(unsigned char rx[crypto_kx_ed25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_ed25519_SESSIONKEYBYTES],
const unsigned char server_pk[crypto_kx_ed25519_PUBLICKEYBYTES],
const unsigned char server_sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char client_pk[crypto_kx_ed25519_PUBLICKEYBYTES])
{
crypto_generichash_state h;
unsigned char q[crypto_scalarmult_ed25519_BYTES];
unsigned char keys[2 * crypto_kx_ed25519_SESSIONKEYBYTES];
int i;
if (rx == NULL) {
rx = tx;
}
if (tx == NULL) {
tx = rx;
}
if (rx == NULL) {
sodium_misuse(); /* LCOV_EXCL_LINE */
}
if (crypto_scalarmult_ed25519(q, server_sk, client_pk) != 0) {
return -1;
}
COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX);
crypto_generichash_init(&h, NULL, 0U, sizeof keys);
crypto_generichash_update(&h, q, crypto_scalarmult_ed25519_BYTES);
sodium_memzero(q, sizeof q);
crypto_generichash_update(&h, client_pk, crypto_kx_ed25519_PUBLICKEYBYTES);
crypto_generichash_update(&h, server_pk, crypto_kx_ed25519_PUBLICKEYBYTES);
crypto_generichash_final(&h, keys, sizeof keys);
sodium_memzero(&h, sizeof h);
for (i = 0; i < crypto_kx_ed25519_SESSIONKEYBYTES; i++) {
tx[i] = keys[i];
rx[i] = keys[i + crypto_kx_ed25519_SESSIONKEYBYTES];
}
sodium_memzero(keys, sizeof keys);
return 0;
}
size_t
crypto_kx_ed25519_publickeybytes(void)
{
return crypto_kx_ed25519_PUBLICKEYBYTES;
}
size_t
crypto_kx_ed25519_secretkeybytes(void)
{
return crypto_kx_ed25519_SECRETKEYBYTES;
}
size_t
crypto_kx_ed25519_seedbytes(void)
{
return crypto_kx_ed25519_SEEDBYTES;
}
size_t
crypto_kx_ed25519_sessionkeybytes(void)
{
return crypto_kx_ed25519_SESSIONKEYBYTES;
}
const char *
crypto_kx_ed25519_primitive(void)
{
return crypto_kx_ed25519_PRIMITIVE;
}

View File

@ -26,8 +26,6 @@ SODIUM_EXPORT = \
sodium/crypto_kdf.h \
sodium/crypto_kdf_blake2b.h \
sodium/crypto_kx.h \
sodium/crypto_kx_curve25519.h \
sodium/crypto_kx_ed25519.h \
sodium/crypto_onetimeauth.h \
sodium/crypto_onetimeauth_poly1305.h \
sodium/crypto_pwhash.h \

View File

@ -27,8 +27,6 @@
#include "sodium/crypto_kdf.h"
#include "sodium/crypto_kdf_blake2b.h"
#include "sodium/crypto_kx.h"
#include "sodium/crypto_kx_curve25519.h"
#include "sodium/crypto_kx_ed25519.h"
#include "sodium/crypto_onetimeauth.h"
#include "sodium/crypto_onetimeauth_poly1305.h"
#include "sodium/crypto_pwhash.h"

View File

@ -3,7 +3,6 @@
#include <stddef.h>
#include "crypto_kx_curve25519.h"
#include "export.h"
#ifdef __cplusplus
@ -13,23 +12,23 @@
extern "C" {
#endif
#define crypto_kx_PUBLICKEYBYTES crypto_kx_curve25519_PUBLICKEYBYTES
#define crypto_kx_PUBLICKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_publickeybytes(void);
#define crypto_kx_SECRETKEYBYTES crypto_kx_curve25519_SECRETKEYBYTES
#define crypto_kx_SECRETKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_secretkeybytes(void);
#define crypto_kx_SEEDBYTES crypto_kx_curve25519_SEEDBYTES
#define crypto_kx_SEEDBYTES 32
SODIUM_EXPORT
size_t crypto_kx_seedbytes(void);
#define crypto_kx_SESSIONKEYBYTES crypto_kx_curve25519_SESSIONKEYBYTES
#define crypto_kx_SESSIONKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_sessionkeybytes(void);
#define crypto_kx_PRIMITIVE crypto_kx_curve25519_PRIMITIVE
#define crypto_kx_PRIMITIVE "x25519blake2b"
SODIUM_EXPORT
const char *crypto_kx_primitive(void);

View File

@ -1,66 +0,0 @@
#ifndef crypto_kx_curve25519_H
#define crypto_kx_curve25519_H
#include <stddef.h>
#include "export.h"
#ifdef __cplusplus
# ifdef __GNUC__
# pragma GCC diagnostic ignored "-Wlong-long"
# endif
extern "C" {
#endif
#define crypto_kx_curve25519_PUBLICKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_curve25519_publickeybytes(void);
#define crypto_kx_curve25519_SECRETKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_curve25519_secretkeybytes(void);
#define crypto_kx_curve25519_SEEDBYTES 32
SODIUM_EXPORT
size_t crypto_kx_curve25519_seedbytes(void);
#define crypto_kx_curve25519_SESSIONKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_curve25519_sessionkeybytes(void);
#define crypto_kx_curve25519_PRIMITIVE "x25519blake2b"
SODIUM_EXPORT
const char *crypto_kx_curve25519_primitive(void);
SODIUM_EXPORT
int crypto_kx_curve25519_seed_keypair(unsigned char pk[crypto_kx_curve25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char seed[crypto_kx_curve25519_SEEDBYTES])
__attribute__ ((nonnull));
SODIUM_EXPORT
int crypto_kx_curve25519_keypair(unsigned char pk[crypto_kx_curve25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_curve25519_SECRETKEYBYTES])
__attribute__ ((nonnull));
SODIUM_EXPORT
int crypto_kx_curve25519_client_session_keys(unsigned char rx[crypto_kx_curve25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_curve25519_SESSIONKEYBYTES],
const unsigned char client_pk[crypto_kx_curve25519_PUBLICKEYBYTES],
const unsigned char client_sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char server_pk[crypto_kx_curve25519_PUBLICKEYBYTES])
__attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5)));
SODIUM_EXPORT
int crypto_kx_curve25519_server_session_keys(unsigned char rx[crypto_kx_curve25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_curve25519_SESSIONKEYBYTES],
const unsigned char server_pk[crypto_kx_curve25519_PUBLICKEYBYTES],
const unsigned char server_sk[crypto_kx_curve25519_SECRETKEYBYTES],
const unsigned char client_pk[crypto_kx_curve25519_PUBLICKEYBYTES])
__attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5)));
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,66 +0,0 @@
#ifndef crypto_kx_ed25519_H
#define crypto_kx_ed25519_H
#include <stddef.h>
#include "export.h"
#ifdef __cplusplus
# ifdef __GNUC__
# pragma GCC diagnostic ignored "-Wlong-long"
# endif
extern "C" {
#endif
#define crypto_kx_ed25519_PUBLICKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_ed25519_publickeybytes(void);
#define crypto_kx_ed25519_SECRETKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_ed25519_secretkeybytes(void);
#define crypto_kx_ed25519_SEEDBYTES 32
SODIUM_EXPORT
size_t crypto_kx_ed25519_seedbytes(void);
#define crypto_kx_ed25519_SESSIONKEYBYTES 32
SODIUM_EXPORT
size_t crypto_kx_ed25519_sessionkeybytes(void);
#define crypto_kx_ed25519_PRIMITIVE "ed25519blake2b"
SODIUM_EXPORT
const char *crypto_kx_ed25519_primitive(void);
SODIUM_EXPORT
int crypto_kx_ed25519_seed_keypair(unsigned char pk[crypto_kx_ed25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char seed[crypto_kx_ed25519_SEEDBYTES])
__attribute__ ((nonnull));
SODIUM_EXPORT
int crypto_kx_ed25519_keypair(unsigned char pk[crypto_kx_ed25519_PUBLICKEYBYTES],
unsigned char sk[crypto_kx_ed25519_SECRETKEYBYTES])
__attribute__ ((nonnull));
SODIUM_EXPORT
int crypto_kx_ed25519_client_session_keys(unsigned char rx[crypto_kx_ed25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_ed25519_SESSIONKEYBYTES],
const unsigned char client_pk[crypto_kx_ed25519_PUBLICKEYBYTES],
const unsigned char client_sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char server_pk[crypto_kx_ed25519_PUBLICKEYBYTES])
__attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5)));
SODIUM_EXPORT
int crypto_kx_ed25519_server_session_keys(unsigned char rx[crypto_kx_ed25519_SESSIONKEYBYTES],
unsigned char tx[crypto_kx_ed25519_SESSIONKEYBYTES],
const unsigned char server_pk[crypto_kx_ed25519_PUBLICKEYBYTES],
const unsigned char server_sk[crypto_kx_ed25519_SECRETKEYBYTES],
const unsigned char client_pk[crypto_kx_ed25519_PUBLICKEYBYTES])
__attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5)));
#ifdef __cplusplus
}
#endif
#endif