Loading Documentation/DocBook/crypto-API.tmpl +2 −2 Original line number Diff line number Diff line Loading @@ -585,7 +585,7 @@ kernel crypto API | IPSEC Layer +-----------+ | | | (1) | aead | <----------------------------------- esp_output | (seqniv) | ---+ | (seqiv) | ---+ +-----------+ | | (2) +-----------+ | Loading Loading @@ -1687,7 +1687,7 @@ read(opfd, out, outlen); !Pinclude/linux/crypto.h Block Cipher Algorithm Definitions !Finclude/linux/crypto.h crypto_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 cipher_alg !Finclude/crypto/rng.h rng_alg Loading include/crypto/aead.h +24 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,30 @@ * 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 * 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. */ /** Loading Loading
Documentation/DocBook/crypto-API.tmpl +2 −2 Original line number Diff line number Diff line Loading @@ -585,7 +585,7 @@ kernel crypto API | IPSEC Layer +-----------+ | | | (1) | aead | <----------------------------------- esp_output | (seqniv) | ---+ | (seqiv) | ---+ +-----------+ | | (2) +-----------+ | Loading Loading @@ -1687,7 +1687,7 @@ read(opfd, out, outlen); !Pinclude/linux/crypto.h Block Cipher Algorithm Definitions !Finclude/linux/crypto.h crypto_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 cipher_alg !Finclude/crypto/rng.h rng_alg Loading
include/crypto/aead.h +24 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,30 @@ * 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 * 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. */ /** Loading