summaryrefslogtreecommitdiffstats
path: root/crypto/tcrypt.c
diff options
context:
space:
mode:
authorTan Swee Heng <thesweeheng@gmail.com>2007-11-23 19:45:00 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2008-01-11 08:16:15 +1100
commit2407d60872dd2a95404c6048f775f3b64d438f4b (patch)
tree6a333c5eaae616736b2f184cee8e9f052cee966d /crypto/tcrypt.c
parent332f8840f7095d294f9bb066b175a100bcde214c (diff)
downloadlinux-stable-2407d60872dd2a95404c6048f775f3b64d438f4b.tar.gz
linux-stable-2407d60872dd2a95404c6048f775f3b64d438f4b.tar.bz2
linux-stable-2407d60872dd2a95404c6048f775f3b64d438f4b.zip
[CRYPTO] salsa20: Salsa20 stream cipher
This patch implements the Salsa20 stream cipher using the blkcipher interface. The core cipher code comes from Daniel Bernstein's submission to eSTREAM: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ref/ The test vectors comes from: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ It has been tested successfully with "modprobe tcrypt mode=34" on an UML instance. Signed-off-by: Tan Swee Heng <thesweeheng@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/tcrypt.c')
-rw-r--r--crypto/tcrypt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 4d364ccacbb2..b8cb1d1420ae 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -80,7 +80,7 @@ static char *check[] = {
"cast6", "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea",
"arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea",
"khazad", "wp512", "wp384", "wp256", "tnepres", "xeta", "fcrypt",
- "camellia", "seed", NULL
+ "camellia", "seed", "salsa20", NULL
};
static void hexdump(unsigned char *buf, unsigned int len)
@@ -1309,6 +1309,12 @@ static void do_test(void)
test_hash("sha224", sha224_tv_template, SHA224_TEST_VECTORS);
break;
+ case 34:
+ test_cipher("salsa20", ENCRYPT,
+ salsa20_stream_enc_tv_template,
+ SALSA20_STREAM_ENC_TEST_VECTORS);
+ break;
+
case 100:
test_hash("hmac(md5)", hmac_md5_tv_template,
HMAC_MD5_TEST_VECTORS);