diff options
author | Joachim Fritschi <jfritschi@freenet.de> | 2006-06-20 07:12:02 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2006-09-20 21:16:29 -0400 |
commit | eaf44088ff467410dd15a033fef118888002ffe6 (patch) | |
tree | 72b225b910342ae74e1b0915ceff61b4ead97883 /crypto/Kconfig | |
parent | b9f535ffe38f7eb61ac2219d32d97c377b69f70d (diff) |
[CRYPTO] twofish: x86-64 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: -27% Cycles
decrypt: -23% Cycles
Twofish Assembler vs. AES Assembler (128bit 8kb block CBC)
encrypt: +18% Cycles
decrypt: +15% Cycles
Twofish Assembler vs. AES Assembler (256bit 8kb block CBC)
encrypt: -9% Cycles
decrypt: -8% Cycles
Full Output:
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-x86_64.txt
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-x86_64.txt
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-x86_64.txt
Here is another bonnie++ benchmark with encrypted filesystems. Most runs maxed
out the hd. 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_20060610_130806_x86_64.html
Signed-off-by: Joachim Fritschi <jfritschi@freenet.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r-- | crypto/Kconfig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 306738ceecb4..fa927a287a1d 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -165,6 +165,21 @@ config CRYPTO_TWOFISH_586 | |||
165 | See also: | 165 | See also: |
166 | <http://www.schneier.com/twofish.html> | 166 | <http://www.schneier.com/twofish.html> |
167 | 167 | ||
168 | config CRYPTO_TWOFISH_X86_64 | ||
169 | tristate "Twofish cipher algorithm (x86_64)" | ||
170 | depends on CRYPTO && ((X86 || UML_X86) && 64BIT) | ||
171 | select CRYPTO_TWOFISH_COMMON | ||
172 | help | ||
173 | Twofish cipher algorithm (x86_64). | ||
174 | |||
175 | Twofish was submitted as an AES (Advanced Encryption Standard) | ||
176 | candidate cipher by researchers at CounterPane Systems. It is a | ||
177 | 16 round block cipher supporting key sizes of 128, 192, and 256 | ||
178 | bits. | ||
179 | |||
180 | See also: | ||
181 | <http://www.schneier.com/twofish.html> | ||
182 | |||
168 | config CRYPTO_SERPENT | 183 | config CRYPTO_SERPENT |
169 | tristate "Serpent cipher algorithm" | 184 | tristate "Serpent cipher algorithm" |
170 | depends on CRYPTO | 185 | depends on CRYPTO |