diff options
| author | Frank Denis <github@pureftpd.org> | 2020-09-23 10:18:17 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-09-24 13:16:00 -0400 |
| commit | bd89bd6fdbcc0ce5ea7763a8043fd46099022b19 (patch) | |
| tree | fb79f3598f44badcf0842ee3cef9853d44be2cf9 /src | |
| parent | bba4576281241e8824de3d48b65c55fa1b1d4c9c (diff) | |
| download | zig-bd89bd6fdbcc0ce5ea7763a8043fd46099022b19.tar.gz zig-bd89bd6fdbcc0ce5ea7763a8043fd46099022b19.zip | |
Revamp crypto/aes
* Reorganize crypto/aes in order to separate parameters, implementations and
modes.
* Add a zero-cost abstraction over the internal representation of a block,
so that blocks can be kept in vector registers in optimized implementations.
* Add architecture-independent aesenc/aesdec/aesenclast/aesdeclast operations,
so that any AES-based primitive can be implemented, including these that don't
use the original key schedule (AES-PRF, AEGIS, MeowHash...)
* Add support for parallelization/wide blocks to take advantage of hardware
implementations.
* Align T-tables to cache lines in the software implementations to slightly
reduce side channels.
* Add an optimized implementation for modern Intel CPUs with AES-NI.
* Add new tests (AES256 key expansion).
* Reimplement the counter mode to work with any block cipher, any endianness
and to take advantage of wide blocks.
* Add benchmarks for AES.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions
