| .. SPDX-License-Identifier: GPL-2.0-or-later | |
| Unauthenticated encryption | |
| ========================== | |
| These APIs provide support for unauthenticated encryption and decryption, | |
| including bare stream ciphers and other length-preserving algorithms such as | |
| block ciphers in XTS mode. The legitimate use cases for these algorithms are: | |
| - Support for legacy protocols that really should have chosen an authenticated | |
| mode (or even another primitive entirely) but didn't. | |
| - Internal components of authenticated modes. For example, AES-CTR is used by | |
| AES-GCM and AES-CCM internally. | |
| - Storage encryption that cannot accommodate ciphertext expansion. Usually | |
| AES-XTS is used for this. | |
| - Stream ciphers for key derivation and random number generation. | |
| Besides the above, these shouldn't be used. | |
| AES-CBC and AES-CBC-CTS | |
| ----------------------- | |
| This API provides support for AES in the CBC and CBC-CTS modes of operation. | |
| .. kernel-doc:: include/crypto/aes-cbc.h | |
| AES-CTR and AES-XCTR | |
| -------------------- | |
| This API provides support for AES in the CTR and XCTR modes of operation. | |
| .. kernel-doc:: include/crypto/aes-ctr.h | |
| AES-ECB | |
| ------- | |
| This API provides support for AES in the ECB mode of operation. | |
| .. kernel-doc:: include/crypto/aes-ecb.h | |
| AES-XTS | |
| ------- | |
| This API provides support for AES in the XTS mode of operation. | |
| .. kernel-doc:: include/crypto/aes-xts.h |