WHIRLBOB, the Whirlpool based Variant of STRIBOB Lighter, Faster, and Constant Time Markku–Juhani O. Saarinen 1 B. B. Brumley 2 1 ECIT, Queen’s University Belfast, UK m.saarinen@qub.ac.uk 2 Tampere University of Technology, Finland billy.brumley@tut.fi NordSec 2015, Stockholm 20 Oct 2015 1 / 28
Part I CAESAR and WHIRLBOB 2 / 28
CAESAR competition 3 / 28
CAESAR round 1 4 / 28
CAESAR round 2 5 / 28
CAESAR candidate: WHIRLBOB 6 / 28
WHIRLBOB: sponge design 7 / 28
WHIRLBOB: LPS design 8 / 28
Part II BLNK mode 9 / 28
BLNK and sponge state 10 / 28
BLNK operations 11 / 28
BLNK pseudocode 12 / 28
BLNK constants 13 / 28
BLNK and AEAD 14 / 28
Part III Permutation π 15 / 28
S : SubBytes 16 / 28
P : ShiftColumns 17 / 28
L : MixRows 18 / 28
AddRoundKey 19 / 28
Part IV Implementation and performance 20 / 28
Optimizing SubBytes: decomposition 21 / 28
Optimizing SubBytes: SIMD variable vector shuffles 22 / 28
Optimizing MixRows: SIMD across rows 23 / 28
Software performance 24 / 28
Performance compared 25 / 28
Hardware and demo 26 / 28
Part V Conclusion and future work 27 / 28
Conclusion ◮ STRIBOB/WHIRLBOB is an elegant CAESAR round 2 candidate ◮ Borrows from analyzed, exisiting components ◮ Round 3 in March Future work ◮ Implement CAESAR HW API ◮ Better optimization of linear layer 28 / 28
Recommend
More recommend