[git commit] tls: replace aes encryption/decryption by much smaller one
Denys Vlasenko
vda.linux at googlemail.com
Sat Apr 1 18:11:59 UTC 2017
commit: https://git.busybox.net/busybox/commit/?id=6e99f1cb45621d36958fa97943074d9c5e2e9306
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
The replacement code is ~6 times slower,
but drastically decreases size of tls_aes.o:
text data bss dec hex filename
8050 0 0 8050 1f72 tls_aes_OLD.o
2461 0 0 2461 99d tls_aes.o
function old new delta
sbox - 256 +256
rsbox - 256 +256
KeyExpansion - 197 +197
Subword - 66 +66
AddRoundKey - 61 +61
static.Rcon - 10 +10
rcon 40 - -40
setup_mix 80 - -80
setup_mix2 123 - -123
aes_cbc_decrypt 1377 971 -406
aes_cbc_encrypt 1375 644 -731
psAesInit 848 - -848
Te4 1024 - -1024
TE0 1024 - -1024
TD0 1024 - -1024
Td4 1040 - -1040
------------------------------------------------------------------------------
(add/remove: 6/8 grow/shrink: 0/2 up/down: 846/-6340) Total: -5494 bytes
This code is based on public domain "tiny-AES128-C" code.
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
networking/tls_aes.c | 2104 ++++++++++----------------------------------------
1 file changed, 394 insertions(+), 1710 deletions(-)
Patch is too large, so refusing to show it
More information about the busybox-cvs
mailing list