Jussi Kivilinna
6574e6c64e
crypto: des_3des - add x86-64 assembly implementation
Patch adds x86_64 assembly implementation of Triple DES EDE cipher algorithm.
Two assembly implementations are provided. First is regular 'one-block at
time' encrypt/decrypt function. Second is 'three-blocks at time' function that
gains performance increase on out-of-order CPUs.
tcrypt test results:
Intel Core i5-4570:
des3_ede-asm vs des3_ede-generic:
size ecb-enc ecb-dec cbc-enc cbc-dec ctr-enc ctr-dec
16B 1.21x 1.22x 1.27x 1.36x 1.25x 1.25x
64B 1.98x 1.96x 1.23x 2.04x 2.01x 2.00x
256B 2.34x 2.37x 1.21x 2.40x 2.38x 2.39x
1024B 2.50x 2.47x 1.22x 2.51x 2.52x 2.51x
8192B 2.51x 2.53x 1.21x 2.56x 2.54x 2.55x
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
2014-06-20 21:27:58 +08:00 |
| .. |
|
internal
|
crypto: skcipher - Don't use __crypto_dequeue_request()
|
2014-06-20 21:26:05 +08:00 |
|
ablk_helper.h
|
crypto: create generic version of ablk_helper
|
2013-09-24 06:02:24 +10:00 |
|
aead.h
|
[CRYPTO] aead: Add top-level givencrypt/givdecrypt calls
|
2008-01-11 08:16:50 +11:00 |
|
aes.h
|
crypto: aes - Move key_length in struct crypto_aes_ctx to be the last field
|
2009-02-18 16:48:04 +08:00 |
|
algapi.h
|
crypto: api - Move crypto_yield() to algapi.h
|
2014-06-20 21:26:04 +08:00 |
|
authenc.h
|
crypto: authenc - Export key parsing helper function
|
2013-10-16 20:56:25 +08:00 |
|
b128ops.h
|
[CRYPTO] lib: some common 128-bit block operations, nicely centralized
|
2006-12-06 18:38:55 -08:00 |
|
blowfish.h
|
crypto: blowfish - split generic and common c code
|
2011-09-22 21:25:25 +10:00 |
|
cast5.h
|
crypto: cast5/cast6 - move lookup tables to shared module
|
2012-12-06 17:16:26 +08:00 |
|
cast6.h
|
crypto: cast5/cast6 - move lookup tables to shared module
|
2012-12-06 17:16:26 +08:00 |
|
cast_common.h
|
crypto: cast5/cast6 - move lookup tables to shared module
|
2012-12-06 17:16:26 +08:00 |
|
compress.h
|
crypto: zlib - New zlib crypto module, using pcomp
|
2009-03-04 15:16:19 +08:00 |
|
cryptd.h
|
crypto: cryptd - Adding the AEAD interface type support to cryptd
|
2010-09-20 16:05:12 +08:00 |
|
crypto_wq.h
|
crypto: api - Use dedicated workqueue for crypto subsystem
|
2009-02-19 14:33:40 +08:00 |
|
ctr.h
|
[CRYPTO] ctr: Refactor into ctr and rfc3686
|
2008-01-11 08:16:41 +11:00 |
|
des.h
|
crypto: des_3des - add x86-64 assembly implementation
|
2014-06-20 21:27:58 +08:00 |
|
drbg.h
|
crypto: drbg - header file for DRBG
|
2014-06-20 21:26:09 +08:00 |
|
gf128mul.h
|
Update broken web addresses in the kernel.
|
2010-10-18 11:03:14 +02:00 |
|
hash.h
|
crypto: shash - Fix digest size offset
|
2009-07-15 21:16:05 +08:00 |
|
hash_info.h
|
crypto: provide single place for hash algo information
|
2013-10-25 17:14:03 -04:00 |
|
if_alg.h
|
net: remove mm.h inclusion from netdevice.h
|
2011-06-21 19:17:20 -07:00 |
|
lrw.h
|
crypto: lrw - add interface for parallelized cipher implementions
|
2011-11-09 11:50:31 +08:00 |
|
md5.h
|
crypto: md5 - Add export support
|
2010-01-17 21:55:31 +11:00 |
|
null.h
|
crypto: export NULL algorithms defines
|
2014-03-21 21:54:26 +08:00 |
|
padlock.h
|
crypto: padlock - Move padlock.h into include/crypto
|
2011-01-07 14:52:00 +11:00 |
|
pcrypt.h
|
crypto: pcrypt - Add pcrypt crypto parallelization wrapper
|
2010-01-07 15:57:19 +11:00 |
|
public_key.h
|
keys: change asymmetric keys to use common hash definitions
|
2013-10-25 17:15:18 -04:00 |
|
rng.h
|
crypto: rng - RNG interface and implementation
|
2008-08-29 15:50:04 +10:00 |
|
scatterwalk.h
|
crypto: api - Move crypto_yield() to algapi.h
|
2014-06-20 21:26:04 +08:00 |
|
serpent.h
|
crypto: serpent-sse2 - add lrw support
|
2011-11-21 16:13:24 +08:00 |
|
sha.h
|
crypto: sha512 - Expose generic sha512 routine to be callable from other modules
|
2013-04-25 21:00:57 +08:00 |
|
skcipher.h
|
[CRYPTO] skcipher: Add top-level givencrypt/givdecrypt calls
|
2008-01-11 08:16:49 +11:00 |
|
twofish.h
|
crypto: twofish-x86_64-3way - add lrw support
|
2011-11-09 11:53:32 +08:00 |
|
vmac.h
|
crypto: vmac - Make VMAC work when blocks aren't aligned
|
2012-10-15 22:33:20 +08:00 |
|
xts.h
|
crypto: xts: add interface for parallelized cipher implementations
|
2011-11-09 11:56:06 +08:00 |