HomeFreeBSD

ossl: Add support for AES-CBC cipher

Description

ossl: Add support for AES-CBC cipher

AES-CBC OpenSSL assembly is used underneath.
The glue layer(ossl_aes.c) is based on CHACHA20 implementation.
Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic
does not have a fallback implementation in case CPU doesn't
support required instructions.
Because of that CPU caps are checked during initialization and AES
support is advertised only if available.
The feature is available on all architectures that ossl supports:
i386, amd64, arm64.

The biggest advantage of this patch over existing solutions
(aesni(4) and armv8crypto(4)) is that it supports SHA,
allowing for ETA operations.

Sponsored by: Stormshield
Obtained from: Semihalf
Reviewed by: jhb
Differential revision: https://reviews.freebsd.org/D32099

Details

Provenance
kdAuthored on Nov 2 2021, 11:53 AM
wmaCommitted on Nov 6 2021, 8:08 AM
Reviewer
jhb
Differential Revision
D32099: ossl: Add support for AES-CBC cipher
Parents
rG6badb512a94d: Prefer CPUID leaf 1Fh for Intel CPU topology detection.
Branches
Unknown
Tags
Unknown
Reverted By
rG200bc58953f0: Revert "ossl: Add support for AES-CBC cipher"