1
linux/crypto
Herbert Xu 378f4f51f9 [CRYPTO] skcipher: Add crypto_grab_skcipher interface
Note: From now on the collective of ablkcipher/blkcipher/givcipher will
be known as skcipher, i.e., symmetric key cipher.  The name blkcipher has
always been much of a misnomer since it supports stream ciphers too.

This patch adds the function crypto_grab_skcipher as a new way of getting
an ablkcipher spawn.  The problem is that previously we did this in two
steps, first getting the algorithm and then calling crypto_init_spawn.

This meant that each spawn user had to be aware of what type and mask to
use for these two steps.  This is difficult and also presents a problem
when the type/mask changes as they're about to be for IV generators.

The new interface does both steps together just like crypto_alloc_ablkcipher.

As a side-effect this also allows us to be stronger on type enforcement
for spawns.  For now this is only done for ablkcipher but it's trivial
to extend for other types.

This patch also moves the type/mask logic for skcipher into the helpers
crypto_skcipher_type and crypto_skcipher_mask.

Finally this patch introduces the function crypto_require_sync to determine
whether the user is specifically requesting a sync algorithm.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2008-01-11 08:16:42 +11:00
..
async_tx async_tx: fix dma_wait_for_async_tx 2007-09-24 10:26:26 -07:00
ablkcipher.c [CRYPTO] skcipher: Add crypto_grab_skcipher interface 2008-01-11 08:16:42 +11:00
aead.c [CRYPTO] aead: Make authsize a run-time parameter 2008-01-11 08:16:29 +11:00
aes_generic.c [CRYPTO] aes-generic: Make key generation exportable 2008-01-11 08:16:09 +11:00
algapi.c [CRYPTO] api: Add crypto_attr_alg_name 2008-01-11 08:16:40 +11:00
anubis.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
api.c crypto: convert "crypto" subdirectory to UTF-8 2007-10-19 23:06:17 +02:00
arc4.c
authenc.c [CRYPTO] authenc: Merge common hashing code 2008-01-11 08:16:38 +11:00
blkcipher.c [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto 2008-01-11 08:16:32 +11:00
blowfish.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
camellia.c [CRYPTO] camellia: Move more common code into camellia_setup_tail 2008-01-11 08:16:22 +11:00
cast5.c
cast6.c
cbc.c [CRYPTO] cbc: Require block size to be a power of 2 2008-01-11 08:16:19 +11:00
cipher.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
compress.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
crc32c.c
cryptd.c [CRYPTO] ablkcipher: Add distinct ABLKCIPHER type 2008-01-11 08:16:15 +11:00
crypto_null.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
cryptomgr.c [CRYPTO] cryptomgr: Fix parsing of recursive algorithms 2007-10-10 16:55:45 -07:00
ctr.c [CRYPTO] ctr: Refactor into ctr and rfc3686 2008-01-11 08:16:41 +11:00
deflate.c
des_generic.c [CRYPTO] hifn_795x: Detect weak keys 2008-01-11 08:16:03 +11:00
digest.c [CRYPTO] scatterwalk: Restore custom sg chaining for now 2008-01-11 08:16:33 +11:00
ecb.c
fcrypt.c crypto: convert "crypto" subdirectory to UTF-8 2007-10-19 23:06:17 +02:00
gcm.c [CRYPTO] gcm: Add support for async ciphers 2008-01-11 08:16:42 +11:00
gf128mul.c [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks 2007-10-10 16:55:45 -07:00
hash.c [CRYPTO] api: Add missing headers for setkey_unaligned 2007-10-10 16:55:40 -07:00
hmac.c [CRYPTO] scatterwalk: Restore custom sg chaining for now 2008-01-11 08:16:33 +11:00
internal.h [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto 2008-01-11 08:16:32 +11:00
Kconfig [CRYPTO] blkcipher: Merge ablkcipher and blkcipher into one option/module 2008-01-11 08:16:41 +11:00
khazad.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
lrw.c
lzo.c [CRYPTO] lzo: Add LZO compression algorithm support 2008-01-11 08:16:35 +11:00
Makefile [CRYPTO] blkcipher: Merge ablkcipher and blkcipher into one option/module 2008-01-11 08:16:41 +11:00
md4.c
md5.c
michael_mic.c
pcbc.c [CRYPTO] pcbc: Use crypto_xor 2008-01-11 08:16:19 +11:00
proc.c Make crypto API use seq_list_xxx helpers 2007-07-16 09:05:42 -07:00
salsa20_generic.c [CRYPTO] salsa20_generic: Fix multi-page processing 2008-01-11 08:16:34 +11:00
scatterwalk.c [CRYPTO] scatterwalk: Restore custom sg chaining for now 2008-01-11 08:16:33 +11:00
seed.c [CRYPTO] seed: New cipher algorithm 2007-10-10 16:55:38 -07:00
serpent.c
sha1_generic.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
sha256_generic.c [CRYPTO] sha256-generic: Extend sha256_generic.c to support SHA-224 2008-01-11 08:16:12 +11:00
sha512.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
tcrypt.c [CRYPTO] ctr: Refactor into ctr and rfc3686 2008-01-11 08:16:41 +11:00
tcrypt.h [CRYPTO] tcrypt: Added salsa20 speed test 2008-01-11 08:16:36 +11:00
tea.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
tgr192.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
twofish_common.c [CRYPTO] twofish: Do not unroll big stuff in twofish key setup 2008-01-11 08:16:06 +11:00
twofish.c
wp512.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
xcbc.c [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto 2008-01-11 08:16:32 +11:00
xor.c
xts.c [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks 2007-10-10 16:55:45 -07:00