mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
Add support for AES-CCM to the crypto library. This will be used to provide a streamlined implementation of the "ccm(aes)" crypto_aead algorithm. Most users of "ccm(aes)" will also be able to switch to the library, which as usual will be faster and simpler, e.g.: - fs/smb/client/ - fs/smb/server/ - net/mac80211/ - net/mac802154/ (I've already written proof-of-concept patches for all the above, and they helped inform the API design.) As in the AES-GCM API, incremental operation is supported. It has to be used carefully, especially when decrypting, but it makes the API general enough to work well for all users. The AES-CCM library code calls aes_cbcmac_blocks() directly, bypassing the higher-level aes_cbcmac_init(), aes_cbcmac_update(), and aes_cbcmac_final(). The latter set of functions is useful only for AES-CCM, so they don't make sense to keep around and will be removed once the "ccm(aes)" crypto_aead starts using the AES-CCM library. Initial test coverage is provided by the crypto_aead support added in a later commit. I'm planning a KUnit test suite as well. Link: https://patch.msgid.link/20260715221153.246410-8-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
21 lines
417 B
ReStructuredText
21 lines
417 B
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
Authenticated encryption
|
|
========================
|
|
|
|
These APIs provide support for authenticated encryption and decryption.
|
|
|
|
AES-CCM
|
|
-------
|
|
|
|
This API provides support for AES in the CCM mode of operation.
|
|
|
|
.. kernel-doc:: include/crypto/aes-ccm.h
|
|
|
|
AES-GCM
|
|
-------
|
|
|
|
This API provides support for AES in the GCM mode of operation.
|
|
|
|
.. kernel-doc:: include/crypto/aes-gcm.h
|