mirror of
https://github.com/jedisct1/libsodium.git
synced 2024-12-19 10:05:05 -07:00
Add crypto_kx_ed25519
This commit is contained in:
parent
3e8d61dba8
commit
2d736dc2bc
@ -86,6 +86,8 @@
|
||||
<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" />
|
||||
@ -199,6 +201,7 @@
|
||||
<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" />
|
||||
@ -209,6 +212,7 @@
|
||||
<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" />
|
||||
@ -240,6 +244,7 @@
|
||||
<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" />
|
||||
|
@ -51,6 +51,12 @@
|
||||
<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>
|
||||
@ -386,6 +392,9 @@
|
||||
<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>
|
||||
@ -416,6 +425,9 @@
|
||||
<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>
|
||||
@ -509,6 +521,9 @@
|
||||
<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>
|
||||
@ -835,6 +850,12 @@
|
||||
<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>
|
||||
|
@ -86,6 +86,8 @@
|
||||
<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" />
|
||||
@ -199,6 +201,7 @@
|
||||
<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" />
|
||||
@ -209,6 +212,7 @@
|
||||
<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" />
|
||||
@ -240,6 +244,7 @@
|
||||
<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" />
|
||||
|
@ -51,6 +51,12 @@
|
||||
<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>
|
||||
@ -386,6 +392,9 @@
|
||||
<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>
|
||||
@ -416,6 +425,9 @@
|
||||
<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>
|
||||
@ -509,6 +521,9 @@
|
||||
<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>
|
||||
@ -835,6 +850,12 @@
|
||||
<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>
|
||||
|
@ -86,6 +86,8 @@
|
||||
<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" />
|
||||
@ -199,6 +201,7 @@
|
||||
<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" />
|
||||
@ -209,6 +212,7 @@
|
||||
<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" />
|
||||
@ -240,6 +244,7 @@
|
||||
<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" />
|
||||
|
@ -51,6 +51,12 @@
|
||||
<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>
|
||||
@ -386,6 +392,9 @@
|
||||
<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>
|
||||
@ -416,6 +425,9 @@
|
||||
<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>
|
||||
@ -509,6 +521,9 @@
|
||||
<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>
|
||||
@ -835,6 +850,12 @@
|
||||
<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>
|
||||
|
@ -86,6 +86,8 @@
|
||||
<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" />
|
||||
@ -199,6 +201,7 @@
|
||||
<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" />
|
||||
@ -209,6 +212,7 @@
|
||||
<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" />
|
||||
@ -240,6 +244,7 @@
|
||||
<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" />
|
||||
|
@ -51,6 +51,12 @@
|
||||
<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>
|
||||
@ -386,6 +392,9 @@
|
||||
<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>
|
||||
@ -416,6 +425,9 @@
|
||||
<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>
|
||||
@ -509,6 +521,9 @@
|
||||
<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>
|
||||
@ -835,6 +850,12 @@
|
||||
<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>
|
||||
|
@ -86,6 +86,8 @@
|
||||
<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" />
|
||||
@ -199,6 +201,7 @@
|
||||
<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" />
|
||||
@ -209,6 +212,7 @@
|
||||
<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" />
|
||||
@ -240,6 +244,7 @@
|
||||
<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" />
|
||||
|
@ -51,6 +51,12 @@
|
||||
<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>
|
||||
@ -386,6 +392,9 @@
|
||||
<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>
|
||||
@ -416,6 +425,9 @@
|
||||
<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>
|
||||
@ -509,6 +521,9 @@
|
||||
<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>
|
||||
@ -835,6 +850,12 @@
|
||||
<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>
|
||||
|
@ -250,6 +250,15 @@ _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_onetimeauth 0 1
|
||||
_crypto_onetimeauth_bytes 0 1
|
||||
_crypto_onetimeauth_final 0 1
|
||||
|
@ -324,6 +324,8 @@
|
||||
<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" />
|
||||
@ -437,6 +439,7 @@
|
||||
<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" />
|
||||
@ -447,6 +450,7 @@
|
||||
<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" />
|
||||
@ -478,6 +482,7 @@
|
||||
<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" />
|
||||
|
@ -42,6 +42,12 @@
|
||||
<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>
|
||||
@ -377,6 +383,9 @@
|
||||
<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>
|
||||
@ -407,6 +416,9 @@
|
||||
<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>
|
||||
@ -500,6 +512,9 @@
|
||||
<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>
|
||||
|
@ -154,6 +154,7 @@ 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 \
|
||||
|
143
src/libsodium/crypto_kx/ed25519/kx_ed25519.c
Normal file
143
src/libsodium/crypto_kx/ed25519/kx_ed25519.c
Normal file
@ -0,0 +1,143 @@
|
||||
|
||||
#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;
|
||||
}
|
@ -26,6 +26,8 @@ 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 \
|
||||
|
@ -28,6 +28,7 @@
|
||||
#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"
|
||||
|
66
src/libsodium/include/sodium/crypto_kx_ed25519.h
Normal file
66
src/libsodium/include/sodium/crypto_kx_ed25519.h
Normal file
@ -0,0 +1,66 @@
|
||||
#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
|
Loading…
Reference in New Issue
Block a user