[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