Olivier Chéron
908f979d44
Add AES-GCM-SIV
2019-08-25 16:38:01 +02:00
Olivier Chéron
0075b57f90
Add internal AES CTR variant with 32-bit counter
...
This variant of CTR mode is used by AES-GCM-SIV. The counter is in
little-endian format and uses the first four bytes of the IV only.
2019-08-25 08:55:49 +02:00
Olivier Chéron
fc07a8b931
Fix counter wrapping in AES GCM
...
The generic and AESNI implementations used different conventions
regarding counter wrapping in GCM. The generic code was based on
function block128_inc_be, for which the counter is a 128-bit value.
Whereas the AESNI code used intrinsic function _mm_add_epi64, and
therefore wrapping at 2^64.
In NIST.SP.800-38d the GCM specification mandates to use incrementing
function inc32, wrapping after 2^32 blocks. This commit changes both
generic and AESNI implementations to align to the specification and
adds a test vector specially crafted to start encryption with IV block
0xfffffffffffffffffffffffffffffffe.
2019-08-20 10:34:40 +02:00
Olivier Chéron
91c87deae1
Add Crypto.System.CPU
2019-06-15 09:28:02 +02:00
Olivier Chéron
2cf3b75636
AES CCM: use AESNI in CBC-MAC computation when possible
2019-06-06 06:48:22 +02:00
Olivier Chéron
4df2a95276
AES GCM: use Shoup's method with 4-bit table
2019-06-06 06:48:16 +02:00
Olivier Chéron
5b39ae3e48
Add missing void and const
2019-05-26 11:50:07 +02:00
Olivier Chéron
d25e44ea61
Add GHASH implementation with PCLMULQDQ
2019-05-19 11:18:40 +02:00
Olivier Chéron
1490f080a5
Use aligned block128 functions
...
Applies similar changes to what was done in #175 .
2018-02-04 14:36:03 +01:00
Olivier Chéron
4926cbb143
Improve types and indentation, fix typo
2018-02-03 19:05:20 +01:00
Baojun Wang
d5f8348a4b
use nonce_len for memcpy
2018-02-03 09:34:57 +01:00
Baojun Wang
e01ef4386e
Add AESCCM test vectors for testing
2018-02-03 09:34:57 +01:00
Baojun Wang
035693240d
fix wrong condition check in cryptonite_aes_ccm_aad
2018-02-03 09:34:57 +01:00
Baojun Wang
fefe5d75e3
flavor condition checks instead of asserts
2018-02-03 09:34:57 +01:00
Baojun Wang
48770bf79f
fix aes ccm decryption cbcmac mis-match
2018-02-03 09:34:57 +01:00
Baojun Wang
55bf620365
add aes ccm support
2018-02-03 09:31:36 +01:00
James Clarke
2b43be4d84
Fix many cases of unaligned accesses
2017-06-25 18:10:55 +01:00
Vincent Hanquez
69d8dd1a08
[tidy-exports] properly prefix aesni stuff
2015-06-21 15:16:05 +01:00
Vincent Hanquez
e6d3518c2e
[tidy-exports] properly prefix gf_mul(x)
2015-06-21 15:11:02 +01:00
Vincent Hanquez
03074526d6
[tidy-exports] properly prefix initialize_hw with cryptonite_aesni_
2015-06-21 15:06:27 +01:00
Vincent Hanquez
e302eb51ba
[AES] add prefix cryptonite_aes_ prefix everwhere
2015-04-11 15:08:44 +01:00
Vincent Hanquez
e74448aeb4
cryptonitize AES, and add foreign function interfaces to it (not exported).
2015-04-05 10:44:23 +01:00
Vincent Hanquez
6195bd40af
merge cipher-aes C files in cryptonite
2015-01-15 04:58:25 -08:00