sok p a platform for evaluation implementation and
play

SoK: P a Platform for Evaluation, Implementation, and Generation of - PowerPoint PPT Presentation

SoK: P a Platform for Evaluation, Implementation, and Generation of S-boxes Zhenzhen Bao Jian Guo San Ling Yu Sasaki FSE 2019 March 27, 2019 @ Paris, France 1/67 Outline Introduction On Security On Implementation


  1. SoK: P����� – a Platform for Evaluation, Implementation, and Generation of S-boxes Zhenzhen Bao Jian Guo San Ling Yu Sasaki FSE 2019 – March 27, 2019 @ Paris, France 1/67

  2. Outline Introduction On Security On Implementation On Generation Summary 2/67

  3. S(ubstitution)-boxes L R IP The old Shannon idea: sequential application of k 1 Confusion and Diffusion F k 2 S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 F P k 15 F Middle 4 bits of input S 5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 k 16 00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001 Outer 01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001 1000 0110 F bits 10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110 11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011 FP This figure is modified from https://www.iacr.org/authors/tikz/ L ′ R ′ 3/67

  4. P�����– a P latform for E valuation, I mplemention, and GEN eration of S-boxes For n -bit S-boxes (3 ≤ n ≤ 8): 1 Evaluation : given a set of n -bit S-boxes, evaluate security-related properties: • DDT, LAT, BCT, ACT, ANF, LS, V S ( u ) , ( v , w ) -linearity • Equivalence relations: PXE, LE, AE 2 Implementation : given a set of n -bit S-boxes and the specific implementation configuration, generate implementations which are good in terms of • BGC , GEC , MC , and Depth 3 Generation : given a set of criteria, • if together with a set of S-boxes, filter out S-boxes fulfilling the given criteria • generate new S-boxes fulfilling the given criteria Done efficiently: Only efficient for n = 3 , 4: Not support yet: 4/67

  5. S-boxes An S-box mapping n bits to m bits – a vectorial Boolean function in n variables and with m output bits: S : F n 2 → F m 2 Coordinates of an S-box S [Nyb94] An S-box S in n variables and with m output bits has m coordinates: S e i : F n 2 → F 2 , where { e i } i < m is the standard basis for F m 2 for 1 ≤ i ≤ m . 5/67

  6. S-boxes Table representation of an S-box S x 0 1 2 3 4 5 6 7 8 9 A B C D E F S ( x ) 3 8 F 1 A 6 5 B E D 4 2 7 0 9 C Bit-sliced representation of an S-box S S ( x ) 3 8 F 1 A 6 5 B E D 4 2 7 0 9 C Hex S e 4 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 1 C396 S e 3 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 9764 S e 2 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 19B5 S e 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 52CD 6/67

  7. S-boxes Algebraic Normal Form (ANF) of a Boolean function [Can16] A Boolean function f : F n 2 → F 2 can be uniquely represented by an n -variate polynomial over F 2 , named the algebraic normal form of f : n x u i � � f ( x 1 , . . . , x n ) = i , where α u ∈ F 2 . α u u ∈ F n i = 1 2 From bit-sliced representation to ANF and vice versa: � f ( x ) and f ( x ) = � α u = α u , x � u u � x where x � u iff x i ≤ u i ∀ 1 ≤ i ≤ n . S e 4 = 1 + x 0 + x 1 + x 2 + x 3 + + x 0 x 3 + + + + + + + + S e 3 = 1 + + x 1 + + x 3 + x 0 x 1 + x 0 x 2 + + + x 1 x 3 + + x 0 x 1 x 2 + + + x 1 x 2 x 3 S e 2 = + x 0 + + x 0 x 2 + x 1 x 2 + + x 1 x 3 + + x 0 x 1 x 2 + + x 0 x 2 x 3 + x 1 x 2 x 3 + + + S e 1 = + x 0 + + x 2 + x 3 + x 0 x 1 + x 0 x 2 + x 1 x 2 + + + x 0 x 1 x 2 + + x 0 x 2 x 3 + x 1 x 2 x 3 + In this example, we start from 0 to index input variables, different with the above definition 7/67

  8. S-boxes Components of an S-box S [Nyb94] An S-box S with n input bits and m output bits has 2 m components, which are the linear combinations of its m coordinates: F n S λ : → F 2 λ ∈ F m 2 2 x λ · S ( x ) �→ where a · b is the inner product of a and b , i.e., � n i = 1 a i · b i . An S-box S : F n 2 → F m 2 is said to be balanced if it takes every value of 2 the same number 2 n − m of times F m Balancedness characterized by components [Car10] An S-box S : F n 2 → F m 2 is balanced if and only if all its non-trivial component functions are balanced. A balanced vectorial Boolean function mapping F n 2 to itself is an n -bit permutation . 8/67

  9. Outline Introduction On Security On Implementation On Generation Summary 9/67

  10. Resistance to Differential Cryptanalysis (DC) Derivative of S [Nyb91] For a vectorial Boolean function S : F n 2 → F m 2 , the derivative of S to the direction a ∈ F n 2 is defined as F n F m D a S : → 2 2 x S ( x ) ⊕ S ( x ⊕ a ) �→ 10/67

  11. Difference Distribution Table (DDT) δ S ( a , b ) � # { x ∈ F n 2 | S ( x ) ⊕ S ( x ⊕ a ) = b } a \ b 0 1 2 3 4 5 6 7 8 9 A B C D E F · · · · · · · · · · · · · · · 0 16 · · · · · · · · · · · · 1 4 4 4 4 · · · 2 · 4 2 · · · 2 · 2 2 2 · 2 · · · · · · · · · 3 2 2 2 4 2 2 2 · · · · · 4 2 2 · 2 2 · 2 · 2 · 4 · · · · · · · · · 5 2 2 2 2 2 4 2 · · 2 · · · 2 · 2 · · 4 2 · · 4 6 · · · · · · · · · · 7 4 2 2 2 2 4 · · · 2 · · · 2 · 2 · 4 · 2 · 4 8 · · · · · · · · · · 9 2 4 2 2 2 4 · · 2 2 · 4 · · 2 · 2 · · 2 2 · A · · · · · · · · · B 2 2 4 2 2 2 2 · · 2 · · 4 · 2 2 2 2 · · · 2 · C · · · · · · · · · D 2 4 2 2 2 2 2 · · 2 2 · · 2 2 2 2 · · 2 2 · · E · · · · · · · · · · · · F 4 4 4 4 11/67

  12. Difference Distribution Table (DDT) U ( S ) � max a ∈ F n 2 δ S ( a , b ) 2 \{ 0 } , b ∈ F m a \ b 0 1 2 3 4 5 6 7 8 9 A B C D E F · · · · · · · · · · · · · · · 0 16 · · · 4 · · · 4 · 4 · · · 4 · · 1 · · · · · · · · · 2 2 4 2 2 2 2 2 · 2 · 2 2 · 4 2 · · 2 2 · · · · 3 · · · · · · · · · 4 4 2 2 2 2 2 2 · 2 · · 2 · · · · 2 2 2 4 2 · · 5 · · · · · · · · · · 6 2 2 2 4 2 4 · 4 2 · · · 2 · 2 · · · 2 · · 4 7 · · · · · · · · · · 8 2 2 2 4 2 4 · · 2 · 4 · 2 · 2 · · · 2 · 4 · 9 · · · · · · · · · A 2 2 4 2 2 2 2 · 2 · · 2 · · · 4 2 2 2 · 2 · · B · · · · · · · · · C 2 4 2 2 2 2 2 · 2 4 2 2 · · 2 · · 2 2 · · · · D · · · · · · · · E 2 2 2 2 2 2 2 2 · 4 · · 4 · · · · · · · · · 4 4 F 12/67

  13. Difference Distribution Table (DDT) Differential Uniformity of S [Nyb93] U ( S ) � δ S ( a , b ) max a ∈ F n 2 \{ 0 } , b ∈ F m 2 • U ( S ) ≥ 2 for any S-box. • U ( S ) = 2 for Almost Perfect Nonlinear (APN) functions. • If U ( S ) ≤ δ , S is called differentially δ -uniform. • There is no APN Permutation on F 4 2 . • Unknown if APN Permutations exist on F n 2 if n is even and n ≥ 8. • Hence, differentially 4-uniform are of great interest when n is even. 13/67

  14. Difference Distribution Table (DDT) The frequency of the maximum occurs in the DDT of an S-box: U Freq ( S ) � # { ( a , b ) | δ S ( a , b ) = U ( S ) , a ∈ F n 2 \ { 0 } , b ∈ F m 2 } Differential Spectrum [BCC10; CR15] The differential spectrum of an S-box S : F n 2 → F m 2 is the multiset D spec ( S ) � { δ S ( a , b ) | a ∈ F n 2 \ { 0 } , b ∈ F m 2 } . 14/67

  15. Difference Distribution Table (DDT) D spec ( S ) � { δ S ( a , b ) | a ∈ F n 2 \ { 0 } , b ∈ F m 2 } . a \ b 0 1 2 3 4 5 6 7 8 9 A B C D E F · · · · · · · · · · · · · · · 0 16 · · · 4 · · · 4 · 4 · · · 4 · · 1 · · · · · · · · · 2 2 4 2 2 2 2 2 · 2 · 2 2 · 4 2 · · 2 2 · · · · 3 · · · · · · · · · 4 4 2 2 2 2 2 2 · 2 · · 2 · · · · 2 2 2 4 2 · · 5 · · · · · · · · · · 6 2 2 2 4 2 4 · 4 2 · · · 2 · 2 · · · 2 · · 4 7 · · · · · · · · · · 8 2 2 2 4 2 4 · · 2 · 4 · 2 · 2 · · · 2 · 4 · 9 · · · · · · · · · A 2 2 4 2 2 2 2 · 2 · · 2 · · · 4 2 2 2 · 2 · · B · · · · · · · · · C 2 4 2 2 2 2 2 D · 2 4 2 2 · · 2 · · 2 2 · · · · · · · · · · · · E 2 2 2 2 2 2 2 2 · · · · · · · · · · · · F 4 4 4 4 U = 4, D spec = { 0 : 159 , 2 : 72 , 4 : 24 , 16 : 1 } 15/67

  16. Resistance to Linear Cryptanalysis (LC) Walsh transform of an S-box [Car10] The Walsh transform of an S-box S : F n 2 → F m 2 is defined as: ( − 1 ) β · S ( x ) ⊕ α · x , α ∈ F n 2 , β ∈ F m � W S ( α, β ) = W S β ( α ) = 2 . x ∈ F n 2 The value taken by the transform at point ( α, β ) is called the Walsh coefficient of S at point ( α, β ) . Walsh coefficient ∼ Bias of linear approximations: W S ( α, β ) = 2 n + 1 · ε S ( α, β ) 16/67

Recommend


More recommend