Page MenuHomeFreeBSD

ossl: Add a fallback AES-GCM implementation using AES-NI
ClosedPublic

Authored by markj on May 4 2023, 7:10 PM.
Tags
None
Referenced Files
F139370322: D39967.id121581.diff
Thu, Dec 11, 8:54 AM
F139282061: D39967.id121581.diff
Wed, Dec 10, 10:15 AM
Unknown Object (File)
Nov 9 2025, 4:35 PM
Unknown Object (File)
Nov 9 2025, 4:35 PM
Unknown Object (File)
Nov 9 2025, 4:35 PM
Unknown Object (File)
Nov 9 2025, 4:35 PM
Unknown Object (File)
Nov 9 2025, 4:35 PM
Unknown Object (File)
Nov 9 2025, 12:31 PM
Subscribers

Details

Summary

This lets one use ossl(4) for AES-GCM operations on contemporary
amd64 platforms.

Bulk processing is done in aesni-gcm-x86_64.S, the rest is handled in a
C wrapper ported from OpenSSL's gcm128.c.

Sponsored by: Stormshield
Sponsored by: Klara, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.May 4 2023, 7:10 PM

Does the man page need an update to mention AES?

  • Mention AES-GCM in ossl.4.

Port gcm128_(en|de)crypt_ctr32() as well, this includes loop unrolling which
helps throughput with small (< ~256) buffers that are not handled by the
bulk processing done in aesni_gcm_(en|de)crypt().

This revision is now accepted and ready to land.May 8 2023, 6:03 PM