second order masked lookup table compression scheme
play

Second-Order Masked Lookup Table Compression Scheme Annapurna - PowerPoint PPT Presentation

Second-Order Masked Lookup Table Compression Scheme Annapurna Valiveti , Srinivas Vivek IIIT Bangalore annapurna@iiitb.org, srinivas.vivek@iiitb.ac.in 14-17 September, CHES 2020 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup


  1. Second-Order Masked Lookup Table Compression Scheme Annapurna Valiveti , Srinivas Vivek IIIT Bangalore annapurna@iiitb.org, srinivas.vivek@iiitb.ac.in 14-17 September, CHES 2020 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  2. Introduction Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  3. Side-Channel Attacks Traditionally, cryptosystems were viewed as black boxes Change of view in the crypto research community since mid-90s due to Kocher et al. Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  4. Side-Channel Attacks Figure: Side-channel experiment Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  5. Side-Channel Attacks Figure: Power attack setup Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  6. Masking Countermeasure In this presentation, we only focus on software countermeasures to power analysis attacks Goal is to minimise the effect of side-channel leakage Masking countermeasure against SCA x = x 1 ⊕ . . . ⊕ x d ⊕ x d +1 d ← masking order Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  7. Security Models Loosely speaking, SCA complexity is exponential w.r.t. masking order d Security offered has been relatively well analysed Probing [ ISW’03 ] & noisy leakage model [ CJJR’99, RP’13, DDF’14 ] Figure: Adversary observing using at most d probes Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  8. Masking of Block Ciphers Categories of block cipher operations: Linear functions are straightforward to compute in presence of shares f ( x ) = f ( x 1 ) ⊕ f ( x 2 ) ⊕ . . . ⊕ f ( x d +1 ) Main challenge is to securely compute non-linear functions For block ciphers, this reduces to securing their S-boxes Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  9. Classification of Countermeasures SCA Countermeasures Lookup table- Circuit-based based schemes schemes Figure: Classification of countermeasures Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  10. First-Order Table-Based Masking First-order (1-O) lookup table masking. Originally proposed in [ CJJR’99 ] Input : ( n , m )-S-box Two input shares x 1 , x 2 , s.t. x = x 1 ⊕ x 2 Method : Create a temporary table T in RAM s.t. ∀ a ∈ { 0 , 1 } n T ( a ) = S ( x 1 ⊕ a ) ⊕ y 1 Output shares : y 1 , y 2 = T ( x 2 ), s.t. S( x ) = y 1 ⊕ y 2 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  11. Table-Based vs. Circuit-Based S-Box Masking AES : time overhead factor: 2 to 4 , RAM memory = 256 bytes per S-box function RAM Memory can be expensive for highly resource-constrained environments Alternate approaches exist ( [ PR’07 ] ): O (1) RAM but time overhead factor ≥ 30 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  12. Time vs. Memory Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  13. Time vs. Memory Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  14. Lookup Table Compression Schemes Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  15. Lookup Table Compression A first-order lookup table compression scheme was proposed in [ RRST’02 ] Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  16. Lookup Table Compression A first-order lookup table compression scheme was proposed in [ RRST’02 ] An improved lookup table compression scheme was by Vadnala [ Vad’17 ] Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  17. Lookup Table Compression A first-order lookup table compression scheme was proposed in [ RRST’02 ] An improved lookup table compression scheme was by Vadnala [ Vad’17 ] Figure: Pack entries based on higher-order bits Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  18. [Vad17] 1-O Table Compression Scheme Partition the original table T into T 1 and T 2 using compression parameter, ℓ a = a (1) || a (2) ���� ���� n − ℓ ℓ Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  19. [Vad17] 1-O Table Compression Scheme Partition the original table T into T 1 and T 2 using compression parameter, ℓ a = a (1) || a (2) ���� ���� n − ℓ ℓ Pack 2 ℓ distinct entries of T into each row of T 1 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  20. [Vad17] 1-O Table Compression Scheme Partition the original table T into T 1 and T 2 using compression parameter, ℓ a = a (1) || a (2) ���� ���� n − ℓ ℓ Pack 2 ℓ distinct entries of T into each row of T 1 Unpack one of the entries of T 1 into 2 ℓ rows of T 2 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  21. [Vad17] 1-O Table Compression Scheme Partition the original table T into T 1 and T 2 using compression parameter, ℓ a = a (1) || a (2) ���� ���� n − ℓ ℓ Pack 2 ℓ distinct entries of T into each row of T 1 Unpack one of the entries of T 1 into 2 ℓ rows of T 2 There is a set of shared random values across T 1 and T 2 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  22. 2-O Table Compression Scheme [Vad17] Base scheme used in [ Vad’17 ] is [ RDP’08 ] Three steps of the second-order scheme 1: Create Table T 1 : { 0 , 1 } n − ℓ → { 0 , 1 } m Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  23. 2-O Table Compression Scheme [Vad17] Base scheme used in [ Vad’17 ] is [ RDP’08 ] Three steps of the second-order scheme 1: Create Table T 1 : { 0 , 1 } n − ℓ → { 0 , 1 } m �� � � T 1 ( b (1) :) = i ∈{ 0 , 1 } ℓ S (( x 3(1) ⊕ a (1) ⊕ r i ) || i ) ⊕ ⊕ y 1 ⊕ y 2 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  24. 2-O Table Compression Scheme [Vad17] Base scheme used in [ Vad’17 ] is [ RDP’08 ] Three steps of the second-order scheme 1: Create Table T 1 : { 0 , 1 } n − ℓ → { 0 , 1 } m 2: Create Table T 2 : { 0 , 1 } ℓ → { 0 , 1 } m Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  25. 2-O Table Compression Scheme [Vad17] Base scheme used in [ Vad’17 ] is [ RDP’08 ] Three steps of the second-order scheme 1: Create Table T 1 : { 0 , 1 } n − ℓ → { 0 , 1 } m 2: Create Table T 2 : { 0 , 1 } ℓ → { 0 , 1 } m T 2 ( b (2) ) := T 1 ( v (1) ⊕ r ( x 3(2) ⊕ a (2) ) ) ⊕ j ∈{ 0 , 1 } ℓ , j � = a (2) S ( x 3(2) ⊕ j ) ( x (1) ⊕ r ( x 3(2) ⊕ a (2) ) ⊕ r ( x 3(2) ⊕ j ) ) ⊕ Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  26. 2-O Table Compression Scheme [Vad17] Base scheme used in [ Vad’17 ] is [ RDP’08 ] Three steps of the second-order scheme 1: Create Table T 1 : { 0 , 1 } n − ℓ → { 0 , 1 } m 2: Create Table T 2 : { 0 , 1 } ℓ → { 0 , 1 } m 3: Access Table T 2 to compute the third output share y 3 = T 2 ( v (2) ) Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  27. Attack on 2-O Scheme of [Vad’17] by [Viv’17] First-order scheme is proven to be secure [ Viv’17 ] pointed a second-order attack which show that any pair of entries in Table T 2 jointly leak up to n − ℓ bits of input Lemma Let β 1 , β 2 ∈ { 0 , 1 } l . Then T 2 ( β 1 ) ⊕ T 2 ( β 2 ) = S (x (1) || ( β 1 ⊕ x (2) ⊕ v (2) )) ⊕ S (x (1) || ( β 2 ⊕ x (2) ⊕ v (2) )) Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  28. Our Contribution Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  29. Second-Order Lookup Table Compression Following are the highlights of our scheme Randomise rows of tables T 1 and T 2 Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  30. Second-Order Lookup Table Compression Following are the highlights of our scheme Randomise rows of tables T 1 and T 2 Randomness complexity : � (2 ℓ · ( n − ℓ )) + m · (2 ( n − ℓ ) + 2 ℓ ) � -bits Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  31. Second-Order Lookup Table Compression Following are the highlights of our scheme Randomise rows of tables T 1 and T 2 Randomness complexity : � (2 ℓ · ( n − ℓ )) + m · (2 ( n − ℓ ) + 2 ℓ ) � -bits Use three-wise independent PRG [ TS09, IKL + 13 ] to reduce number of true random values Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

  32. Second-Order Lookup Table Compression Following are the highlights of our scheme Randomise rows of tables T 1 and T 2 Randomness complexity : � (2 ℓ · ( n − ℓ )) + m · (2 ( n − ℓ ) + 2 ℓ ) � -bits Use three-wise independent PRG [ TS09, IKL + 13 ] to reduce number of true random values Compute masks on-the-fly Annapurna Valiveti, Srinivas Vivek Second-Order Masked Lookup Table Compression Scheme

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend