AEZ (Duh)

Yawning Angel 8bd96ae53e Implement the bitsliced 64 bit Pass 1/Pass 2. #2 2 years ago
.gitignore c7de081252 Add a .gitignore. 2 years ago
LICENSE 683c76725c Add a LICENSE file. 2 years ago
README.md c8520fb280 Use a bitsliced constant time AES round function. 2 years ago
aead.go deddc61482 Make the Encrypt/Decrypt API more like the AEAD one. 2 years ago
aez.go 8bd96ae53e Implement the bitsliced 64 bit Pass 1/Pass 2. #2 2 years ago
aez_amd64.go a1f3a92dd8 Add initial support for the bsaes 64 bit variant. #2 2 years ago
aez_amd64.py 5776ef2988 Derp, don't need LEA. 2 years ago
aez_amd64.s 5776ef2988 Derp, don't need LEA. 2 years ago
aez_ref.go a1f3a92dd8 Add initial support for the bsaes 64 bit variant. #2 2 years ago
aez_test.go deddc61482 Make the Encrypt/Decrypt API more like the AEAD one. 2 years ago
round_bitsliced32.go 8bd96ae53e Implement the bitsliced 64 bit Pass 1/Pass 2. #2 2 years ago
round_bitsliced64.go 8bd96ae53e Implement the bitsliced 64 bit Pass 1/Pass 2. #2 2 years ago

README.md

aez - AEZ (Duh)

Yawning Angel (yawning at schwanenlied dot me)

This is an implementation of AEZ, primarily based on the reference code. It appears to be correct and the output matches test vectors.

Features:

  • Constant time, always.
  • Will use AES-NI if available on AMD64.
  • Unlike the aesni code, supports vectorized AD, nbytes > 16, and tau > 16.