mirror of
https://github.com/jedisct1/libsodium.git
synced 2024-12-19 10:05:05 -07:00
Add AES256-GCM support for ARM crypto
This commit is contained in:
parent
45a0cef2fc
commit
f3cf71edd7
@ -180,7 +180,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -180,7 +180,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -180,7 +180,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -180,7 +180,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -180,7 +180,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -204,7 +204,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -133,7 +133,9 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -333,9 +333,15 @@
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>crypto_aead\aegis256\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>crypto_aead\aes256gcm</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>crypto_aead\aes256gcm\aesni</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>crypto_aead\aes256gcm\armcrypto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>crypto_aead\chacha20poly1305\sodium</Filter>
|
||||
</ClCompile>
|
||||
@ -802,6 +808,9 @@
|
||||
<Filter Include="crypto_aead\aes256gcm\aesni">
|
||||
<UniqueIdentifier>{7eb51140-a50f-3f50-b379-83677a82496c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\aes256gcm\armcrypto">
|
||||
<UniqueIdentifier>{507bb9aa-b65c-3034-946b-bcd375b7deaa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="crypto_aead\chacha20poly1305">
|
||||
<UniqueIdentifier>{1f4d6dd1-517f-3eeb-b974-2304ada5e67a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
@ -418,7 +418,9 @@
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aegis256\aead_aegis256.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aegis256\aesni\aead_aegis256_aesni.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_secretstream\xchacha20poly1305\secretstream_xchacha20poly1305.c" />
|
||||
<ClCompile Include="src\libsodium\crypto_core\salsa\ref\core_salsa_ref.c" />
|
||||
|
@ -324,9 +324,15 @@
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aegis256\armcrypto\aead_aegis256_armcrypto.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\aead_aes256gcm.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\aesni\aead_aes256gcm_aesni.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_aead\aes256gcm\armcrypto\aead_aes256gcm_armcrypto.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\libsodium\crypto_aead\chacha20poly1305\sodium\aead_chacha20poly1305.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -4,6 +4,7 @@ lib_LTLIBRARIES = \
|
||||
libsodium_la_SOURCES = \
|
||||
crypto_aead/aegis128l/aead_aegis128l.c \
|
||||
crypto_aead/aegis256/aead_aegis256.c \
|
||||
crypto_aead/aes256gcm/aead_aes256gcm.c \
|
||||
crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c \
|
||||
crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c \
|
||||
crypto_auth/crypto_auth.c \
|
||||
@ -223,7 +224,8 @@ libarmcrypto_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
|
||||
@CFLAGS_ARMCRYPTO@
|
||||
libarmcrypto_la_SOURCES = \
|
||||
crypto_aead/aegis128l/armcrypto/aead_aegis128l_armcrypto.c \
|
||||
crypto_aead/aegis256/armcrypto/aead_aegis256_armcrypto.c
|
||||
crypto_aead/aegis256/armcrypto/aead_aegis256_armcrypto.c \
|
||||
crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
|
||||
|
||||
libaesni_la_LDFLAGS = $(libsodium_la_LDFLAGS)
|
||||
libaesni_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \
|
||||
|
157
src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c
Normal file
157
src/libsodium/crypto_aead/aes256gcm/aead_aes256gcm.c
Normal file
@ -0,0 +1,157 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "crypto_aead_aes256gcm.h"
|
||||
#include "private/common.h"
|
||||
#include "randombytes.h"
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_keybytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_KEYBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_nsecbytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_NSECBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_npubbytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_NPUBBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_abytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_ABYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_statebytes(void)
|
||||
{
|
||||
return (sizeof(crypto_aead_aes256gcm_state) + (size_t) 15U) & ~(size_t) 15U;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_messagebytes_max(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_MESSAGEBYTES_MAX;
|
||||
}
|
||||
|
||||
void
|
||||
crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES])
|
||||
{
|
||||
randombytes_buf(k, crypto_aead_aes256gcm_KEYBYTES);
|
||||
}
|
||||
|
||||
#if !((defined(HAVE_ARMCRYPTO) && defined(__GNUC__)) || \
|
||||
(defined(HAVE_TMMINTRIN_H) && defined(HAVE_WMMINTRIN_H)))
|
||||
|
||||
#ifndef ENOSYS
|
||||
#define ENOSYS ENXIO
|
||||
#endif
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, unsigned char *mac,
|
||||
unsigned long long *maclen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt(unsigned char *c, unsigned long long *clen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *mac, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt(unsigned char *m, unsigned long long *mlen_p, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *ad, unsigned long long adlen,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *st_, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, unsigned char *mac,
|
||||
unsigned long long *maclen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p,
|
||||
const unsigned char *m, unsigned long long mlen,
|
||||
const unsigned char *ad, unsigned long long adlen,
|
||||
const unsigned char *nsec, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *mac, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p,
|
||||
unsigned char *nsec, const unsigned char *c,
|
||||
unsigned long long clen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_is_available(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
@ -1,10 +1,3 @@
|
||||
|
||||
/*
|
||||
* AES256-GCM, based on the "Intel Carry-Less Multiplication Instruction and its
|
||||
* Usage for Computing the GCM Mode" paper and reference code, using the
|
||||
* aggregated reduction method. Originally adapted by Romain Dolbeau.
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
@ -22,7 +15,6 @@
|
||||
|
||||
#if defined(HAVE_TMMINTRIN_H) && defined(HAVE_WMMINTRIN_H)
|
||||
|
||||
#if defined(__x86_64__) || defined(__i386__)
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC target("ssse3")
|
||||
#pragma GCC target("aes")
|
||||
@ -30,17 +22,11 @@
|
||||
#endif
|
||||
#include <tmmintrin.h>
|
||||
#include <wmmintrin.h>
|
||||
#elif defined(__aarch64__)
|
||||
#include <arm_neon.h>
|
||||
#else
|
||||
#error Unsupported architecture
|
||||
#endif
|
||||
|
||||
#define ABYTES crypto_aead_aes256gcm_ABYTES
|
||||
#define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
|
||||
#define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
|
||||
|
||||
#ifdef __x86_64__
|
||||
#define PARALLEL_BLOCKS 7
|
||||
#undef USE_KARATSUBA_MULTIPLICATION
|
||||
|
||||
@ -74,66 +60,6 @@ typedef __m128i BlockVec;
|
||||
#define PREFETCH_READ(x) __builtin_prefetch((x), 0, 2)
|
||||
#define PREFETCH_WRITE(x) __builtin_prefetch((x), 1, 2);
|
||||
|
||||
#elif defined(HAVE_ARMCRYPTO)
|
||||
|
||||
#define PARALLEL_BLOCKS 6
|
||||
#undef USE_KARATSUBA_MULTIPLICATION
|
||||
|
||||
typedef uint64x2_t BlockVec;
|
||||
|
||||
#define LOAD128(a) vld1q_u64((const void *) a)
|
||||
#define STORE128(a, b) vst1q_u64(((void *) a), (b))
|
||||
#define AES_ENCRYPT(block_vec, rkey) \
|
||||
vreinterpretq_u64_u8( \
|
||||
veorq_u8(vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_u64(block_vec), vmovq_n_u8(0))), rkey))
|
||||
#define AES_ENCRYPTLAST(block_vec, rkey) \
|
||||
vreinterpretq_u64_u8(veorq_u8(vaeseq_u8(vreinterpretq_u8_u64(block_vec), vmovq_n_u8(0)), rkey))
|
||||
#define XOR128(a, b) veorq_u64((a), (b))
|
||||
#define AND128(a, b) vandq_u64((a), (b))
|
||||
#define OR128(a, b) vorrq_u64((a), (b))
|
||||
#define SET64x2(a, b) vsetq_lane_u64((uint64_t) (a), vmovq_n_u64((uint64_t) (b)), 1)
|
||||
#define ZERO128 vmovq_n_u8(0)
|
||||
#define ONE128 SET64x2(0, 1)
|
||||
#define ADD64x2(a, b) vaddq_u64((a), (b))
|
||||
#define SUB64x2(a, b) vsubq_u64((a), (b))
|
||||
#define SHL64x2(a, b) vshlq_n_u64((a), (b))
|
||||
#define SHR64x2(a, b) vshrq_n_u64((a), (b))
|
||||
#define REV128(x) \
|
||||
vreinterpretq_u64_u8(__builtin_shufflevector(vreinterpretq_u8_u64(x), vreinterpretq_u8_u64(x), \
|
||||
15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, \
|
||||
1, 0))
|
||||
#define SHUFFLE32x4(x, a, b, c, d) \
|
||||
vreinterpretq_u64_u32(__builtin_shufflevector(vreinterpretq_u32_u64(x), \
|
||||
vreinterpretq_u32_u64(x), (a), (b), (c), (d)))
|
||||
#define BYTESHL128(a, b) vreinterpretq_u64_u8(vextq_s8(vdupq_n_s8(0), (int8x16_t) a, 16 - (b)))
|
||||
#define BYTESHR128(a, b) vreinterpretq_u64_u8(vextq_s8((int8x16_t) a, vdupq_n_s8(0), (b)))
|
||||
|
||||
#define SHL128(a, b) OR128(SHL64x2((a), (b)), SHR64x2(BYTESHL128((a), 8), 64 - (b)))
|
||||
#define CLMULLO128(a, b) \
|
||||
vreinterpretq_u64_p128(vmull_p64((poly64_t) vget_low_u64(a), (poly64_t) vget_low_u64(b)))
|
||||
#define CLMULHI128(a, b) \
|
||||
vreinterpretq_u64_p128(vmull_high_p64(vreinterpretq_p64_s64(a), vreinterpretq_p64_s64(b)))
|
||||
#define CLMULLOHI128(a, b) \
|
||||
vreinterpretq_u64_p128(vmull_p64((poly64_t) vget_low_u64(a), (poly64_t) vget_high_u64(b)))
|
||||
#define CLMULHILO128(a, b) \
|
||||
vreinterpretq_u64_p128(vmull_p64((poly64_t) vget_high_u64(a), (poly64_t) vget_low_u64(b)))
|
||||
#define PREFETCH_READ(x) __builtin_prefetch((x), 0, 2)
|
||||
#define PREFETCH_WRITE(x) __builtin_prefetch((x), 1, 2);
|
||||
|
||||
static inline BlockVec
|
||||
AES_KEYGEN(BlockVec block_vec, const int rc)
|
||||
{
|
||||
uint8x16_t a = vaeseq_u8(vreinterpretq_u8_u64(block_vec), vmovq_n_u8(0));
|
||||
const uint8x16_t b =
|
||||
__builtin_shufflevector(a, a, 4, 1, 14, 11, 1, 14, 11, 4, 12, 9, 6, 3, 9, 6, 3, 12);
|
||||
const uint64x2_t c = SET64x2((uint64_t) rc << 32, (uint64_t) rc << 32);
|
||||
return XOR128(b, c);
|
||||
}
|
||||
|
||||
#else
|
||||
#error Unsupported architecture
|
||||
#endif
|
||||
|
||||
#define ROUNDS 14
|
||||
|
||||
#define PC_COUNT (2 * PARALLEL_BLOCKS)
|
||||
@ -1095,152 +1021,4 @@ crypto_aead_aes256gcm_is_available(void)
|
||||
return sodium_runtime_has_pclmul() & sodium_runtime_has_aesni();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#ifndef ENOSYS
|
||||
#define ENOSYS ENXIO
|
||||
#endif
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, unsigned char *mac,
|
||||
unsigned long long *maclen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt(unsigned char *c, unsigned long long *clen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *mac, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt(unsigned char *m, unsigned long long *mlen_p, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *ad, unsigned long long adlen,
|
||||
const unsigned char *npub, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *st_, const unsigned char *k)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, unsigned char *mac,
|
||||
unsigned long long *maclen_p, const unsigned char *m,
|
||||
unsigned long long mlen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *nsec,
|
||||
const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p,
|
||||
const unsigned char *m, unsigned long long mlen,
|
||||
const unsigned char *ad, unsigned long long adlen,
|
||||
const unsigned char *nsec, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec,
|
||||
const unsigned char *c, unsigned long long clen,
|
||||
const unsigned char *mac, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p,
|
||||
unsigned char *nsec, const unsigned char *c,
|
||||
unsigned long long clen, const unsigned char *ad,
|
||||
unsigned long long adlen, const unsigned char *npub,
|
||||
const crypto_aead_aes256gcm_state *st_)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
crypto_aead_aes256gcm_is_available(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_keybytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_KEYBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_nsecbytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_NSECBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_npubbytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_NPUBBYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_abytes(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_ABYTES;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_statebytes(void)
|
||||
{
|
||||
return (sizeof(crypto_aead_aes256gcm_state) + (size_t) 15U) & ~(size_t) 15U;
|
||||
}
|
||||
|
||||
size_t
|
||||
crypto_aead_aes256gcm_messagebytes_max(void)
|
||||
{
|
||||
return crypto_aead_aes256gcm_MESSAGEBYTES_MAX;
|
||||
}
|
||||
|
||||
void
|
||||
crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES])
|
||||
{
|
||||
randombytes_buf(k, crypto_aead_aes256gcm_KEYBYTES);
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user