diff options
author | Sergey V <sftp.mtuci@gmail.com> | 2013-11-09 20:10:10 +0400 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-11-09 21:17:18 +0100 |
commit | 51501b638546665163bbb85a14308fdb99211a28 (patch) | |
tree | bef853593f99edc238357413352f3530f9b71460 /AUTHORS | |
parent | 60ed0abbbc7cb15812f1e713143c72555acea69e (diff) | |
download | libgcrypt-51501b638546665163bbb85a14308fdb99211a28.tar.gz |
cipher/gost28147: optimization: use precomputed S-box tables
* cipher/gost.h (GOST28147_context): Remove unneeded subst and
subst_set members.
* cipher/gost28147.c (max): Remove unneeded macro.
(test_sbox): Replace with new precomputed tables.
(gost_set_subst): Remove function.
(gost_val): Use new S-box tables.
(gost_encrypt_block, gost_decrypt_block): Tweak to use new ctx and
S-box tables.
--
Use generated 8->8 S-boxes with precomputed bitwise shifts and
bitwise rotations. So in the round function gost_val() we no need
to do this operations.
Before this patch:
GOST28147 | nanosecs/byte mebibytes/sec cycles/byte
ECB enc | 24.00 ns/B 39.74 MiB/s - c/B
ECB dec | 26.41 ns/B 36.11 MiB/s - c/B
CBC enc | 24.57 ns/B 38.81 MiB/s - c/B
CBC dec | 26.58 ns/B 35.88 MiB/s - c/B
CFB enc | 24.79 ns/B 38.46 MiB/s - c/B
CFB dec | 24.72 ns/B 38.57 MiB/s - c/B
OFB enc | 24.38 ns/B 39.12 MiB/s - c/B
OFB dec | 24.35 ns/B 39.16 MiB/s - c/B
CTR enc | 24.83 ns/B 38.41 MiB/s - c/B
CTR dec | 25.27 ns/B 37.73 MiB/s - c/B
After:
GOST28147 | nanosecs/byte mebibytes/sec cycles/byte
ECB enc | 16.29 ns/B 58.55 MiB/s - c/B
ECB dec | 16.30 ns/B 58.50 MiB/s - c/B
CBC enc | 16.94 ns/B 56.29 MiB/s - c/B
CBC dec | 16.81 ns/B 56.72 MiB/s - c/B
CFB enc | 17.13 ns/B 55.66 MiB/s - c/B
CFB dec | 16.84 ns/B 56.63 MiB/s - c/B
OFB enc | 16.69 ns/B 57.13 MiB/s - c/B
OFB dec | 16.71 ns/B 57.08 MiB/s - c/B
CTR enc | 17.01 ns/B 56.06 MiB/s - c/B
CTR dec | 17.05 ns/B 55.93 MiB/s - c/B
Signed-off-by: Sergey V <sftp.mtuci@gmail.com>
Diffstat (limited to 'AUTHORS')
-rw-r--r-- | AUTHORS | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -133,6 +133,9 @@ Jussi Kivilinna <jussi.kivilinna@iki.fi> Rafaël Carré <funman@videolan.org> 2012-04-20:4F91988B.1080502@videolan.org: +Sergey V. <sftp.mtuci@gmail.com> +2013-11-07:2066221.5IYa7Yq760@darkstar: + Tomáš Mráz <tm@t8m.info> 2012-04-16:1334571250.5056.52.camel@vespa.frost.loc: |