1. 09 Nov, 2011 1 commit
    • Jussi Kivilinna's avatar
      crypto: twofish-x86_64-3way - add lrw support · 81559f9a
      Jussi Kivilinna authored
      Patch adds LRW support for twofish-x86_64-3way by using lrw_crypt(). Patch has
      been tested with tcrypt and automated filesystem tests.
      Tcrypt benchmarks results (twofish-3way/twofish-asm speed ratios):
      Intel Celeron T1600 (fam:6, model:15, step:13):
      size	lrw-enc	lrw-dec
      16B	0.99x	1.00x
      64B	1.17x	1.17x
      256B	1.26x	1.27x
      1024B	1.30x	1.31x
      8192B	1.31x	1.32x
      AMD Phenom II 1055T (fam:16, model:10):
      size	lrw-enc	lrw-dec
      16B	1.06x	1.01x
      64B	1.08x	1.14x
      256B	1.19x	1.20x
      1024B	1.21x	1.22x
      8192B	1.23x	1.24x
      Signed-off-by: default avatarJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
  2. 10 Jan, 2008 1 commit
    • Denys Vlasenko's avatar
      [CRYPTO] twofish: Do not unroll big stuff in twofish key setup · e2b21b50
      Denys Vlasenko authored
      Currently twofish cipher key setup code
      has unrolled loops - approximately 70-100
      instructions are repeated 40 times.
      As a result, twofish module is the biggest module
      in crypto/*.
      Unrolling produces x2.5 more code (+18k on i386), and speeds up key
      setup by 7%:
      	unrolled: twofish_setkey/sec: 41128
      	    loop: twofish_setkey/sec: 38148
      	CALC_K256: ~100 insns each
      	CALC_K192: ~90 insns
      	   CALC_K: ~70 insns
      Attached patch removes this unrolling.
      $ size */twofish_common.o
         text    data     bss     dec     hex filename
        37920       0       0   37920    9420 crypto.org/twofish_common.o
        13209       0       0   13209    3399 crypto/twofish_common.o
      Run tested (modprobe tcrypt reports ok). Please apply.
      Signed-off-by: default avatarDenys Vlasenko <vda.linux@googlemail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
  3. 21 Sep, 2006 2 commits
    • Herbert Xu's avatar
      [CRYPTO] api: Get rid of flags argument to setkey · 560c06ae
      Herbert Xu authored
      Now that the tfm is passed directly to setkey instead of the ctx, we no
      longer need to pass the &tfm->crt_flags pointer.
      This patch also gets rid of a few unnecessary checks on the key length
      for ciphers as the cipher layer guarantees that the key length is within
      the bounds specified by the algorithm.
      Rather than testing dia_setkey every time, this patch does it only once
      during crypto_alloc_tfm.  The redundant check from crypto_digest_setkey
      is also removed.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    • Joachim Fritschi's avatar
      [CRYPTO] twofish: Split out common c code · 2729bb42
      Joachim Fritschi authored
      This patch splits up the twofish crypto routine into a common part ( key
      setup  ) which will be uses by all twofish crypto modules ( generic-c , i586
      assembler and x86_64 assembler ) and generic-c part. It also creates a new
      header file which will be used by all 3 modules.
      This eliminates all code duplication.
      Correctness was verified with the tcrypt module and automated test scripts.
      Signed-off-by: default avatarJoachim Fritschi <jfritschi@freenet.de>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>