Commit f6e45c24 authored by Stephan Mueller's avatar Stephan Mueller Committed by Herbert Xu

crypto: doc - AEAD API conversion

The AEAD API changes are now reflected in the crypto API doc book.
Signed-off-by: default avatarStephan Mueller <smueller@chronox.de>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 327cbbab
...@@ -585,7 +585,7 @@ kernel crypto API | IPSEC Layer ...@@ -585,7 +585,7 @@ kernel crypto API | IPSEC Layer
+-----------+ | +-----------+ |
| | (1) | | (1)
| aead | <----------------------------------- esp_output | aead | <----------------------------------- esp_output
| (seqniv) | ---+ | (seqiv) | ---+
+-----------+ | +-----------+ |
| (2) | (2)
+-----------+ | +-----------+ |
...@@ -1687,7 +1687,7 @@ read(opfd, out, outlen); ...@@ -1687,7 +1687,7 @@ read(opfd, out, outlen);
!Pinclude/linux/crypto.h Block Cipher Algorithm Definitions !Pinclude/linux/crypto.h Block Cipher Algorithm Definitions
!Finclude/linux/crypto.h crypto_alg !Finclude/linux/crypto.h crypto_alg
!Finclude/linux/crypto.h ablkcipher_alg !Finclude/linux/crypto.h ablkcipher_alg
!Finclude/linux/crypto.h aead_alg !Finclude/crypto/aead.h aead_alg
!Finclude/linux/crypto.h blkcipher_alg !Finclude/linux/crypto.h blkcipher_alg
!Finclude/linux/crypto.h cipher_alg !Finclude/linux/crypto.h cipher_alg
!Finclude/crypto/rng.h rng_alg !Finclude/crypto/rng.h rng_alg
......
...@@ -45,6 +45,30 @@ ...@@ -45,6 +45,30 @@
* a breach in the integrity of the message. In essence, that -EBADMSG error * a breach in the integrity of the message. In essence, that -EBADMSG error
* code is the key bonus an AEAD cipher has over "standard" block chaining * code is the key bonus an AEAD cipher has over "standard" block chaining
* modes. * modes.
*
* Memory Structure:
*
* To support the needs of the most prominent user of AEAD ciphers, namely
* IPSEC, the AEAD ciphers have a special memory layout the caller must adhere
* to.
*
* The scatter list pointing to the input data must contain:
*
* * for RFC4106 ciphers, the concatenation of
* associated authentication data || IV || plaintext or ciphertext. Note, the
* same IV (buffer) is also set with the aead_request_set_crypt call. Note,
* the API call of aead_request_set_ad must provide the length of the AAD and
* the IV. The API call of aead_request_set_crypt only points to the size of
* the input plaintext or ciphertext.
*
* * for "normal" AEAD ciphers, the concatenation of
* associated authentication data || plaintext or ciphertext.
*
* It is important to note that if multiple scatter gather list entries form
* the input data mentioned above, the first entry must not point to a NULL
* buffer. If there is any potential where the AAD buffer can be NULL, the
* calling code must contain a precaution to ensure that this does not result
* in the first scatter gather list entry pointing to a NULL buffer.
*/ */
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment