aha/crypto
Herbert Xu 3c09f17c3d [CRYPTO] aead: Add authenc
This patch adds the authenc algorithm which constructs an AEAD algorithm
from an asynchronous block cipher and a hash.  The construction is done
by concatenating the encrypted result from the cipher with the output
from the hash, as is used by the IPsec ESP protocol.

The authenc algorithm exists as a template with four parameters:

	authenc(auth, authsize, enc, enckeylen).

The authentication algorithm, the authentication size (i.e., truncating
the output of the authentication algorithm), the encryption algorithm,
and the encryption key length.  Both the size field and the key length
field are in bytes.  For example, AES-128 with SHA1-HMAC would be
represented by

	authenc(hmac(sha1), 12, cbc(aes), 16)

The key for the authenc algorithm is the concatenation of the keys for
the authentication algorithm with the encryption algorithm.  For the
above example, if a key of length 36 bytes is given, then hmac(sha1)
would receive the first 20 bytes while the last 16 would be given to
cbc(aes).

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2007-10-10 16:55:43 -07:00
..
async_tx async_tx: fix dma_wait_for_async_tx 2007-09-24 10:26:26 -07:00
ablkcipher.c [CRYPTO] ablkcipher: Remove queue pointer from common alg object 2007-10-10 16:55:41 -07:00
aead.c [CRYPTO] api: Add aead crypto type 2007-10-10 16:55:39 -07:00
aes.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
algapi.c [CRYPTO] aead: Add authenc 2007-10-10 16:55:43 -07:00
anubis.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
api.c [CRYPTO] api: Wake up all waiters when larval completes 2007-07-11 20:58:53 +08:00
arc4.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
authenc.c [CRYPTO] aead: Add authenc 2007-10-10 16:55:43 -07:00
blkcipher.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
blowfish.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
camellia.c [CRYPTO] camellia: added the code of Camellia cipher algorithm. 2007-02-07 09:21:03 +11:00
cast5.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
cast6.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
cbc.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
cipher.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
compress.c [CRYPTO] api: Remove deprecated interface 2007-02-07 09:21:00 +11:00
crc32c.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
cryptd.c [CRYPTO] ablkcipher: Remove queue pointer from common alg object 2007-10-10 16:55:41 -07:00
crypto_null.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
cryptomgr.c [CRYPTO] api: Add support for multiple template parameters 2007-10-10 16:55:40 -07:00
deflate.c [CRYPTO] api: Added cra_init/cra_exit 2006-06-26 17:34:40 +10:00
des.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
digest.c [CRYPTO] api: Remove deprecated interface 2007-02-07 09:21:00 +11:00
ecb.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
fcrypt.c [CRYPTO] fcrypt: Add FCrypt from RxRPC 2007-02-07 09:20:59 +11:00
gf128mul.c [CRYPTO] lib: table driven multiplications in GF(2^128) 2006-12-06 18:38:55 -08:00
hash.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
hmac.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
internal.h [CRYPTO] api: Allow multiple frontends per backend 2007-02-07 09:21:01 +11:00
Kconfig [CRYPTO] aead: Add authenc 2007-10-10 16:55:43 -07:00
khazad.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
lrw.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
Makefile [CRYPTO] aead: Add authenc 2007-10-10 16:55:43 -07:00
md4.c [CRYPTO] all: Pass tfm instead of ctx to algorithms 2006-06-26 17:34:39 +10:00
md5.c [CRYPTO] all: Pass tfm instead of ctx to algorithms 2006-06-26 17:34:39 +10:00
michael_mic.c [PATCH] Update my email address from jkmaline@cc.hut.fi to j@w1.fi 2007-04-28 11:01:01 -04:00
pcbc.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
proc.c Make crypto API use seq_list_xxx helpers 2007-07-16 09:05:42 -07:00
scatterwalk.c [CRYPTO] scatterwalk: Add scatterwalk_map_and_copy 2007-10-10 16:55:42 -07:00
scatterwalk.h [CRYPTO] scatterwalk: Add scatterwalk_map_and_copy 2007-10-10 16:55:42 -07:00
seed.c [CRYPTO] seed: New cipher algorithm 2007-10-10 16:55:38 -07:00
serpent.c [PATCH] serpent: fix endian warnings 2006-10-10 16:15:33 -07:00
sha1.c [CRYPTO] sha: Add module aliases for sha1 / sha256 2006-09-21 11:40:20 +10:00
sha256.c [CRYPTO] sha: Add module aliases for sha1 / sha256 2006-09-21 11:40:20 +10:00
sha512.c [CRYPTO] sha512: Fix sha384 block size 2006-12-11 14:34:33 -08:00
tcrypt.c [CRYPTO] seed: New cipher algorithm 2007-10-10 16:55:38 -07:00
tcrypt.h [CRYPTO] seed: New cipher algorithm 2007-10-10 16:55:38 -07:00
tea.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
tgr192.c [CRYPTO] all: Pass tfm instead of ctx to algorithms 2006-06-26 17:34:39 +10:00
twofish.c [CRYPTO] twofish: Fix the priority 2006-09-21 11:16:28 +10:00
twofish_common.c [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
wp512.c [CRYPTO] all: Pass tfm instead of ctx to algorithms 2006-06-26 17:34:39 +10:00
xcbc.c [CRYPTO] templates: Pass type/mask when creating instances 2007-05-02 14:38:31 +10:00
xor.c async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00