Home GnuPG

Fix too large burn_stack in camellia-glue.c
8afabc281394Unpublished

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

Fix too large burn_stack in camellia-glue.c

* cipher/camellia-glue.c (camellia_encrypt, camellia_decrypt): Do not
take full array size of KEY_TABLE_TYPE, but argument size instead.

KEY_TABLE_TYPE is array type, and sizeof(KEY_TABLE_TYPE) gives full
size of array. However what is wanted here is size of array argument
in stack, so change sizeof(KEY_TABLE_TYPE) to sizeof(void*). This
gives boost in speed for camellia cipher.

On AMD Phenom II, x86-64:

Before:

$ tests/benchmark --cipher-repetitions 10 cipher camellia128
Running each test 10 times.

   ECB/Stream         CBC             CFB             OFB             CTR
--------------- --------------- --------------- --------------- ---------------

CAMELLIA128 250ms 240ms 270ms 260ms 250ms 250ms 260ms 250ms 340ms 330ms

After:

$ tests/benchmark --cipher-repetitions 10 cipher camellia128
Running each test 10 times.

   ECB/Stream         CBC             CFB             OFB             CTR
--------------- --------------- --------------- --------------- ---------------

CAMELLIA128 140ms 130ms 150ms 160ms 150ms 150ms 150ms 140ms 220ms 220ms

[v2]

  • Add GNU style changelog
  • Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>

Details

Provenance
jukiviliAuthored on Nov 16 2012, 9:45 AM
wernerCommitted on Nov 21 2012, 11:52 AM
Parents
rCd8bdfa42ed58: Add x86_64 support for AES-NI
Branches
Unknown
Tags
Unknown

Event Timeline

Werner Koch <wk@gnupg.org> committed rC8afabc281394: Fix too large burn_stack in camellia-glue.c (authored by Jussi Kivilinna <jussi.kivilinna@mbnet.fi>).Nov 21 2012, 11:52 AM