diff options
author | jsing <> | 2025-07-21 10:24:23 +0000 |
---|---|---|
committer | jsing <> | 2025-07-21 10:24:23 +0000 |
commit | a480cc6bd46609c720ef107acb4380c9f5d05fb0 (patch) | |
tree | ff569faf5125c023700a2783ef5d648c47c81313 /src/lib/libc/string | |
parent | a000fa8e43ffc48c5e770f5759e0cc957e5dda2f (diff) | |
download | openbsd-a480cc6bd46609c720ef107acb4380c9f5d05fb0.tar.gz openbsd-a480cc6bd46609c720ef107acb4380c9f5d05fb0.tar.bz2 openbsd-a480cc6bd46609c720ef107acb4380c9f5d05fb0.zip |
Move AES-NI from EVP to AES for CCM mode.
The mode implementation for CCM has two variants - one takes the block
function, while the other takes a "ccm64" function. The latter is expected
to handle the lower 64 bits of the IV/counter but only for 16 byte blocks.
The AES-NI implementation for CCM currently uses the second variant.
Provide aes_ccm64_encrypt_internal() as a function that can be replaced on
a machine dependent basis, along with an aes_ccm64_encrypt_generic()
function that provides the default implementation and can be used as a
fallback. Wire up the AES-NI version for amd64 and i386, change EVP's
aes_ccm_cipher() to use CRYPTO_ctr128_{en,de}crypt_ccm64() with
aes_ccm64_encrypt_internal()) and remove the various AES-NI specific
EVP_CIPHER methods for CCM.
ok tb@
Diffstat (limited to 'src/lib/libc/string')
0 files changed, 0 insertions, 0 deletions