aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJoachim Fritschi <jfritschi@freenet.de>2006-06-20 06:59:16 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2006-09-20 21:16:28 -0400
commitb9f535ffe38f7eb61ac2219d32d97c377b69f70d (patch)
tree57e09481226ab5a25f3938963f8299c9f0cd8439 /crypto
parent758f570ea785a5fbcdca026dfab2e9e1a3f89726 (diff)
[CRYPTO] twofish: i586 assembly version
The patch passed the trycpt tests and automated filesystem tests. This rewrite resulted in some nice perfomance increase over my last patch. Short summary of the tcrypt benchmarks: Twofish Assembler vs. Twofish C (256bit 8kb block CBC) encrypt: -33% Cycles decrypt: -45% Cycles Twofish Assembler vs. AES Assembler (128bit 8kb block CBC) encrypt: +3% Cycles decrypt: -22% Cycles Twofish Assembler vs. AES Assembler (256bit 8kb block CBC) encrypt: -20% Cycles decrypt: -36% Cycles Full Output: http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-i586.txt http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-i586.txt http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-i586.txt Here is another bonnie++ benchmark with encrypted filesystems. All runs with the twofish assembler modules max out the drivespeed. It should give some idea what the module can do for encrypted filesystem performance even though you can't see the full numbers. http://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060611_205432_x86.html Signed-off-by: Joachim Fritschi <jfritschi@freenet.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig15
1 files changed, 15 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 5472f693e6e..306738ceecb 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -150,6 +150,21 @@ config CRYPTO_TWOFISH_COMMON
150 Common parts of the Twofish cipher algorithm shared by the 150 Common parts of the Twofish cipher algorithm shared by the
151 generic c and the assembler implementations. 151 generic c and the assembler implementations.
152 152
153config CRYPTO_TWOFISH_586
154 tristate "Twofish cipher algorithms (i586)"
155 depends on CRYPTO && ((X86 || UML_X86) && !64BIT)
156 select CRYPTO_TWOFISH_COMMON
157 help
158 Twofish cipher algorithm.
159
160 Twofish was submitted as an AES (Advanced Encryption Standard)
161 candidate cipher by researchers at CounterPane Systems. It is a
162 16 round block cipher supporting key sizes of 128, 192, and 256
163 bits.
164
165 See also:
166 <http://www.schneier.com/twofish.html>
167
153config CRYPTO_SERPENT 168config CRYPTO_SERPENT
154 tristate "Serpent cipher algorithm" 169 tristate "Serpent cipher algorithm"
155 depends on CRYPTO 170 depends on CRYPTO