Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu: "Here is the crypto update for 4.3: API: - the AEAD interface transition is now complete. - add top-level skcipher interface. Drivers: - x86-64 acceleration for chacha20/poly1305. - add sunxi-ss Allwinner Security System crypto accelerator. - add RSA algorithm to qat driver. - add SRIOV support to qat driver. - add LS1021A support to caam. - add i.MX6 support to caam" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (163 commits) crypto: algif_aead - fix for multiple operations on AF_ALG sockets crypto: qat - enable legacy VFs MPI: Fix mpi_read_buffer crypto: qat - silence a static checker warning crypto: vmx - Fixing opcode issue crypto: caam - Use the preferred style for memory allocations crypto: caam - Propagate the real error code in caam_probe crypto: caam - Fix the error handling in caam_probe crypto: caam - fix writing to JQCR_MS when using service interface crypto: hash - Add AHASH_REQUEST_ON_STACK crypto: testmgr - Use new skcipher interface crypto: skcipher - Add top-level skcipher interface crypto: cmac - allow usage in FIPS mode crypto: sahara - Use dmam_alloc_coherent crypto: caam - Add support for LS1021A crypto: qat - Don't move data inside output buffer crypto: vmx - Fixing GHASH Key issue on little endian crypto: vmx - Fixing AES-CTR counter bug crypto: null - Add missing Kconfig tristate for NULL2 crypto: nx - Add forward declaration for struct crypto_aead ...
This commit is contained in:
commit
d4c90396ed
154 changed files with 15742 additions and 7446 deletions
|
|
@ -101,12 +101,6 @@
|
|||
*/
|
||||
#define CRYPTO_ALG_INTERNAL 0x00002000
|
||||
|
||||
/*
|
||||
* Temporary flag used to prevent legacy AEAD implementations from
|
||||
* being used by user-space.
|
||||
*/
|
||||
#define CRYPTO_ALG_AEAD_NEW 0x00004000
|
||||
|
||||
/*
|
||||
* Transform masks and values (for crt_flags).
|
||||
*/
|
||||
|
|
@ -142,13 +136,10 @@
|
|||
struct scatterlist;
|
||||
struct crypto_ablkcipher;
|
||||
struct crypto_async_request;
|
||||
struct crypto_aead;
|
||||
struct crypto_blkcipher;
|
||||
struct crypto_hash;
|
||||
struct crypto_tfm;
|
||||
struct crypto_type;
|
||||
struct aead_request;
|
||||
struct aead_givcrypt_request;
|
||||
struct skcipher_givcrypt_request;
|
||||
|
||||
typedef void (*crypto_completion_t)(struct crypto_async_request *req, int err);
|
||||
|
|
@ -274,47 +265,6 @@ struct ablkcipher_alg {
|
|||
unsigned int ivsize;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct old_aead_alg - AEAD cipher definition
|
||||
* @maxauthsize: Set the maximum authentication tag size supported by the
|
||||
* transformation. A transformation may support smaller tag sizes.
|
||||
* As the authentication tag is a message digest to ensure the
|
||||
* integrity of the encrypted data, a consumer typically wants the
|
||||
* largest authentication tag possible as defined by this
|
||||
* variable.
|
||||
* @setauthsize: Set authentication size for the AEAD transformation. This
|
||||
* function is used to specify the consumer requested size of the
|
||||
* authentication tag to be either generated by the transformation
|
||||
* during encryption or the size of the authentication tag to be
|
||||
* supplied during the decryption operation. This function is also
|
||||
* responsible for checking the authentication tag size for
|
||||
* validity.
|
||||
* @setkey: see struct ablkcipher_alg
|
||||
* @encrypt: see struct ablkcipher_alg
|
||||
* @decrypt: see struct ablkcipher_alg
|
||||
* @givencrypt: see struct ablkcipher_alg
|
||||
* @givdecrypt: see struct ablkcipher_alg
|
||||
* @geniv: see struct ablkcipher_alg
|
||||
* @ivsize: see struct ablkcipher_alg
|
||||
*
|
||||
* All fields except @givencrypt , @givdecrypt , @geniv and @ivsize are
|
||||
* mandatory and must be filled.
|
||||
*/
|
||||
struct old_aead_alg {
|
||||
int (*setkey)(struct crypto_aead *tfm, const u8 *key,
|
||||
unsigned int keylen);
|
||||
int (*setauthsize)(struct crypto_aead *tfm, unsigned int authsize);
|
||||
int (*encrypt)(struct aead_request *req);
|
||||
int (*decrypt)(struct aead_request *req);
|
||||
int (*givencrypt)(struct aead_givcrypt_request *req);
|
||||
int (*givdecrypt)(struct aead_givcrypt_request *req);
|
||||
|
||||
const char *geniv;
|
||||
|
||||
unsigned int ivsize;
|
||||
unsigned int maxauthsize;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct blkcipher_alg - synchronous block cipher definition
|
||||
* @min_keysize: see struct ablkcipher_alg
|
||||
|
|
@ -409,7 +359,6 @@ struct compress_alg {
|
|||
|
||||
|
||||
#define cra_ablkcipher cra_u.ablkcipher
|
||||
#define cra_aead cra_u.aead
|
||||
#define cra_blkcipher cra_u.blkcipher
|
||||
#define cra_cipher cra_u.cipher
|
||||
#define cra_compress cra_u.compress
|
||||
|
|
@ -460,7 +409,7 @@ struct compress_alg {
|
|||
* struct crypto_type, which implements callbacks common for all
|
||||
* transformation types. There are multiple options:
|
||||
* &crypto_blkcipher_type, &crypto_ablkcipher_type,
|
||||
* &crypto_ahash_type, &crypto_aead_type, &crypto_rng_type.
|
||||
* &crypto_ahash_type, &crypto_rng_type.
|
||||
* This field might be empty. In that case, there are no common
|
||||
* callbacks. This is the case for: cipher, compress, shash.
|
||||
* @cra_u: Callbacks implementing the transformation. This is a union of
|
||||
|
|
@ -508,7 +457,6 @@ struct crypto_alg {
|
|||
|
||||
union {
|
||||
struct ablkcipher_alg ablkcipher;
|
||||
struct old_aead_alg aead;
|
||||
struct blkcipher_alg blkcipher;
|
||||
struct cipher_alg cipher;
|
||||
struct compress_alg compress;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue