linux/arch/x86/crypto
Ard Biesheuvel 9ae433bc79 crypto: chacha20 - convert generic and x86 versions to skcipher
This converts the ChaCha20 code from a blkcipher to a skcipher, which
is now the preferred way to implement symmetric block and stream ciphers.

This ports the generic and x86 versions at the same time because the
latter reuses routines of the former.

Note that the skcipher_walk() API guarantees that all presented blocks
except the final one are a multiple of the chunk size, so we can simplify
the encrypt() routine somewhat.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-12-27 17:47:31 +08:00
..
sha1-mb crypto: sha-mb - Fix total_len for correct hash when larger than 512MB 2016-11-17 23:35:00 +08:00
sha256-mb crypto: sha-mb - Fix total_len for correct hash when larger than 512MB 2016-11-17 23:35:00 +08:00
sha512-mb crypto: sha-mb - Fix total_len for correct hash when larger than 512MB 2016-11-17 23:35:00 +08:00
aes_ctrby8_avx-x86_64.S crypto: aesni - fix "by8" variant for 128 bit keys 2015-01-05 21:35:02 +11:00
aes_glue.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
aes-i586-asm_32.S crypto: x86/aes - assembler clean-ups: use ENTRY/ENDPROC, localize jump targets 2013-01-20 10:16:47 +11:00
aes-x86_64-asm_64.S crypto: x86/aes - assembler clean-ups: use ENTRY/ENDPROC, localize jump targets 2013-01-20 10:16:47 +11:00
aesni-intel_asm.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
aesni-intel_avx-x86_64.S crypto: aesni - fix build on x86 (32bit) 2014-01-15 11:36:34 +08:00
aesni-intel_glue.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-12-14 13:31:29 -08:00
blowfish_glue.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
blowfish-x86_64-asm_64.S crypto: blowfish-x86_64: use ENTRY()/ENDPROC() for assembler functions and localize jump targets 2013-01-20 10:16:48 +11:00
camellia_aesni_avx2_glue.c x86/cpufeature: Replace cpu_has_avx with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
camellia_aesni_avx_glue.c x86/cpufeature: Replace cpu_has_avx with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
camellia_glue.c crypto: xts - consolidate sanity check for keys 2016-02-17 04:07:51 +08:00
camellia-aesni-avx2-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
camellia-aesni-avx-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
camellia-x86_64-asm_64.S crypto: camellia-x86_64/aes-ni: use ENTRY()/ENDPROC() for assembler functions and localize jump targets 2013-01-20 10:16:48 +11:00
cast5_avx_glue.c x86/fpu: Rename XSAVE macros 2015-09-14 12:21:46 +02:00
cast5-avx-x86_64-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
cast6_avx_glue.c crypto: xts - consolidate sanity check for keys 2016-02-17 04:07:51 +08:00
cast6-avx-x86_64-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
chacha20_glue.c crypto: chacha20 - convert generic and x86 versions to skcipher 2016-12-27 17:47:31 +08:00
chacha20-avx2-x86_64.S crypto: chacha20 - Add an eight block AVX2 variant for x86_64 2015-07-17 21:20:25 +08:00
chacha20-ssse3-x86_64.S crypto: chacha20-ssse3 - Align stack pointer to 64 bytes 2016-01-25 21:47:45 +08:00
crc32-pclmul_asm.S x86, crc32-pclmul: Fix build with older binutils 2013-05-30 16:36:23 -07:00
crc32-pclmul_glue.c x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
crc32c-intel_glue.c x86/fpu: Remove use_eager_fpu() 2016-10-07 11:14:36 +02:00
crc32c-pcl-intel-asm_64.S x86/asm/crypto: Move jump_table to .rodata section 2016-02-24 08:35:42 +01:00
crct10dif-pcl-asm_64.S Reinstate "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework" 2013-09-07 12:56:26 +10:00
crct10dif-pclmul_glue.c x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
des3_ede_glue.c crypto: x86/des3_ede - drop bogus module aliases 2015-01-13 22:30:52 +11:00
des3_ede-asm_64.S crypto: des_3des - add x86-64 assembly implementation 2014-06-20 21:27:58 +08:00
fpu.c crypto: aesni - Convert to skcipher 2016-11-28 21:23:20 +08:00
ghash-clmulni-intel_asm.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
ghash-clmulni-intel_glue.c crypto: ghash-clmulni - Fix cryptd reordering 2016-06-23 18:29:53 +08:00
glue_helper-asm-avx2.S crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher 2013-04-25 21:09:05 +08:00
glue_helper-asm-avx.S crypto: x86 - add more optimized XTS-mode for serpent-avx 2013-04-25 21:01:51 +08:00
glue_helper.c crypto: glue_helper - Add skcipher xts helpers 2016-11-28 21:23:20 +08:00
Makefile crypto: sha512-mb - SHA512 multibuffer job manager and glue code 2016-06-28 16:06:35 +08:00
poly1305_glue.c x86/cpufeature: Replace cpu_has_avx with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
poly1305-avx2-x86_64.S crypto: poly1305 - Add a four block AVX2 variant for x86_64 2015-07-17 21:20:29 +08:00
poly1305-sse2-x86_64.S crypto: poly1305 - Add a two block SSE2 variant for x86_64 2015-07-17 21:20:28 +08:00
salsa20_glue.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
salsa20-i586-asm_32.S crypto: x86/salsa20 - assembler cleanup, use ENTRY/ENDPROC for assember functions and rename ECRYPT_* to salsa20_* 2013-01-20 10:16:50 +11:00
salsa20-x86_64-asm_64.S crypto: x86/salsa20 - assembler cleanup, use ENTRY/ENDPROC for assember functions and rename ECRYPT_* to salsa20_* 2013-01-20 10:16:50 +11:00
serpent_avx2_glue.c x86/cpufeature: Replace cpu_has_avx2 with boot_cpu_has() usage 2016-04-13 11:37:39 +02:00
serpent_avx_glue.c crypto: xts - consolidate sanity check for keys 2016-02-17 04:07:51 +08:00
serpent_sse2_glue.c x86/cpufeature: Remove cpu_has_xmm2 2016-03-31 13:35:09 +02:00
serpent-avx2-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
serpent-avx-x86_64-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
serpent-sse2-i586-asm_32.S crypto: x86/serpent - use ENTRY/ENDPROC for assember functions and localize jump targets 2013-01-20 10:16:50 +11:00
serpent-sse2-x86_64-asm_64.S crypto: x86/serpent - use ENTRY/ENDPROC for assember functions and localize jump targets 2013-01-20 10:16:50 +11:00
sha1_avx2_x86_64_asm.S crypto: x86/sha1 - reduce size of the AVX2 asm implementation 2014-03-25 20:25:43 +08:00
sha1_ni_asm.S crypto: x86/sha - Intel SHA Extensions optimized SHA1 transform function 2015-09-21 22:01:05 +08:00
sha1_ssse3_asm.S crypto: x86/sha1 - assembler clean-ups: use ENTRY/ENDPROC 2013-01-20 10:16:51 +11:00
sha1_ssse3_glue.c crypto: sha-ssse3 - add MODULE_ALIAS 2016-05-31 16:41:46 +08:00
sha256_ni_asm.S crypto: x86/sha - Intel SHA Extensions optimized SHA256 transform function 2015-09-21 22:01:06 +08:00
sha256_ssse3_glue.c crypto: sha-ssse3 - add MODULE_ALIAS 2016-05-31 16:41:46 +08:00
sha256-avx2-asm.S crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer 2015-04-10 21:39:47 +08:00
sha256-avx-asm.S crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer 2015-04-10 21:39:47 +08:00
sha256-ssse3-asm.S crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer 2015-04-10 21:39:47 +08:00
sha512_ssse3_glue.c crypto: sha-ssse3 - add MODULE_ALIAS 2016-05-31 16:41:46 +08:00
sha512-avx2-asm.S crypto: x86/sha512_ssse3 - fixup for asm function prototype change 2015-04-24 20:09:01 +08:00
sha512-avx-asm.S crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer 2015-04-10 21:39:48 +08:00
sha512-ssse3-asm.S crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer 2015-04-10 21:39:48 +08:00
twofish_avx_glue.c x86/fpu: Fixup uninitialized feature_name warning 2015-09-24 09:21:20 +02:00
twofish_glue_3way.c crypto: xts - consolidate sanity check for keys 2016-02-17 04:07:51 +08:00
twofish_glue.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
twofish-avx-x86_64-asm_64.S x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
twofish-i586-asm_32.S crypto: x86/twofish - assembler clean-ups: use ENTRY/ENDPROC, localize jump labels 2013-01-20 10:16:51 +11:00
twofish-x86_64-asm_64-3way.S crypto: x86/twofish - assembler clean-ups: use ENTRY/ENDPROC, localize jump labels 2013-01-20 10:16:51 +11:00
twofish-x86_64-asm_64.S x86/asm: Replace "MOVQ $imm, %reg" with MOVL 2015-04-01 13:17:39 +02:00