some cryptanalytic results on stream ciphers with short
play

Some cryptanalytic results on Stream ciphers with short internal - PowerPoint PPT Presentation

Some cryptanalytic results on Stream ciphers with short internal states Subhadeep Banik EPF, Lausanne Invited Talk to ASK 2019 14th December 2019 Outline Introduction Sprout (FSE15) Previous Work Attack by Esgin/Kara (SAC 2015)


  1. Some cryptanalytic results on Stream ciphers with short internal states Subhadeep Banik EPF, Lausanne Invited Talk to ASK 2019 14th December 2019

  2. Outline • Introduction • Sprout (FSE15) • Previous Work • Attack by Esgin/Kara (SAC 2015) • Distinguishing Attack • State Recovery Attack • After Sprout • Attack on Plantlet 2 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  3. Introduction The Stream Cipher Sprout Sprout • Biryukov, Shamir [Asiacrypt 2001] : State size must be 1.5 to 2 times size of Secret Key. • Radical Departure: Sprout by Armknecht and Mikhalev in FSE 2015. → State Size equal to size of Secret Key. → Avoids Generic TMD Tradeoff Attacks due to Key mixing in state update. • Grain like structure: LFSR and NFSR of size 40 bits each. • Much smaller in area than any known stream cipher. 3 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  4. b b b b b b b b b b Introduction State twice the size of Secret Key Biryukov, Shamir [Asiacrypt 2001] • Let N denote the size of the set of internal states. • f denotes the function mapping state to keystream. invertible g( · ) g( · ) g( · ) Key mix( · ) S D S 1 S 2 S 3 IV f( · ) f( · ) f( · ) f( · ) oneway keystream Z D Z 1 Z 2 Z 3 M 1 M 2 M 3 M D ⊕ ⊕ ⊕ ⊕ C 1 C 2 C 3 C D 4 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  5. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Introduction State twice the size of Secret Key Biryukov, Shamir [Asiacrypt 2001] • Randomly choose m initial states and form a function chain. • f is the function that maps state to keystream segment. f f f m t 5 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  6. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Introduction State twice the size of Secret Key Biryukov, Shamir [Asiacrypt 2001] • Construct some tables to cover a fixed fraction of the state space. • Online Stage: for every successive segment see if present in one of the tables. f f f m t 6 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  7. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Introduction State twice the size of Secret Key Biryukov, Shamir [Asiacrypt 2001] • Total complexity T , memory M , data D , state space N , offline complexity P . • Get the tradeoff curve TM 2 D 2 = N 2 , with the limitation that T ≥ D 2 . f f f m t 7 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  8. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Introduction State twice the size of Secret Key Biryukov, Shamir [Asiacrypt 2001] • Typical point on curve is T = N 2 / 3 , M = N 1 / 3 , D = N 1 / 3 , P = N 2 / 3 . • If N = K this is a valid attack. Rule of the thumb is N = K 2 . f f f m t 8 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  9. b b b Introduction Structure k 0 k 1 k 2 k 79 Round Key Function 3 7 3 k ∗ t g Counter f 29 6 NFSR LFSR 2 7 h 7 Initialization Phase Initialization Phase 9 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  10. b b b b b b b b b b Introduction One way inversion not possible without key invertible g( · ,Key) g( · ,Key) g( · ,Key) Key mix( · ) S D S 1 S 2 S 3 IV f( · , Key) f( · , Key) f( · , Key) f( · , Key) oneway keystream Z 1 Z 2 Z 3 Z D M 1 M 2 M 3 M D ⊕ ⊕ ⊕ ⊕ C 1 C 2 C 3 C D 10 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  11. Sprout (FSE15) Algebraic Description Description • Uses an 80 bit Key and a 70 bit IV. • Initialization: IV[0 to 39] → NFSR, IV[40 to 69]|| 0x3fe → LFSR • Key-IV Mixing : Clock 320 cycles without producing Keystream. → Xor z t to update functions of NFSR, LFSR. • Keystream: After 320 cycles, discontinue feedback and produce keystream bit 11 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  12. Sprout (FSE15) Algebraic Description Description • Update of LFSR : l t +40 = f ( L t ) = l t + l t +5 + l t +15 + l t +20 + l t +25 + l t +34 . • Update of NFSR : n t +40 = g ( N t ) + c 4 t + k ∗ t + l t 0 t denotes the 4 th LSB of the modulo 80 up-counter. → c 4 → k ∗ t is the output of the Round Key function defined as: � K t mod 80 , if t < 80 , k ∗ t = K t mod 80 · ( l t +4 + l t +21 + l t +37 + n t +9 + n t +20 + n t +29 ) , otherwise. → The non-linear function g is given as: g ( N t ) = n t +0 + n t +13 + n t +19 + n t +35 + n t +39 + n t +2 n t +25 + n t +3 n t +5 + n t +7 n t +8 + n t +14 n t +21 + n t +16 n t +18 + n t +22 n t +24 + n t +26 n t +32 + n t +33 n t +36 n t +37 n t +38 + n t +10 n t +11 n t +12 + n t +27 n t +30 n t +31 . 12 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  13. Sprout (FSE15) Algebraic Description Description • Keystream bit is produced as � z t = l t +30 + n t + i + h ( N t , L t ) . i ∈A → A = { 1 , 6 , 15 , 17 , 23 , 28 , 34 } → h ( N t , L t ) = n t +4 l t +6 + l t +8 l t +10 + l t +32 l t +17 + l t +19 l t +23 + n t +4 l t +32 n t +38 . 13 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  14. Previous Work Known Attacks Known Attacks • Related Key Distinguisher : Yonglin Hao [eprint 2015/231] • Partial State Exposure : Maitra et al [eprint 2015/236] → Guess 54 bits of the state. → Remaining bits of state and Key found by solving keystream equations in SAT solver. • Guess and Determine: Lallemand and Naya-Plasencia [CRYPTO 2015] → Faster than Brute Force by 2 10 , takes 2 46 bits of memory. 14 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  15. b b b b b Attack by Esgin/Kara (SAC 2015) Attack by Esgin/Kara (SAC 2015) Offline Offline S t ⊕ ℓ t + 4 + i ⊕ ℓ t + 21 + i ⊕ ℓ t + 37 + i ⊕ Tabulate Tabulate n t + 9 + i ⊕ n t + 20 + i ⊕ n t + 29 + i = 0 for all i = 0 to 39 S t + 40 S t S t Z t Z t ⊕ S t + 40 = F(S t ) F independent of key F independent of key Offline Phase • Note that the key mixing function is non linear. k ∗ t = K t mod 80 · ( l t +4 + l t +21 + l t +37 + n t +9 + n t +20 + n t +29 ) • Enumerate class of states for which l t +4 + l t +21 + l t +37 + n t +9 + n t +20 + n t +29 = 0 for t = 0 , 1 , . . . , 39 15 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  16. Attack by Esgin/Kara (SAC 2015) Online stage Online stage • For every keystream segment try to match in table. 1 Does not exist in table 2 Exists in table, but not produced by a weak state 3 Exists in table, and produced by a weak state ‘ • If match exists: from knowledge of keystream and state: find secret key. • Use SAT method for this. • The time complexity is practical 2 33 encryptions 16 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  17. Distinguishing Attack Sliding Key-IV pairs Idea • Fix Secret Key K and experiment with random states S 0 • 2 20 trials to satisfy both requirements → ( K, IV 1 ) and ( K, IV 2 ) are slid pairs. 17 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  18. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Distinguishing Attack Sliding Key-IV pairs Idea • 2 80 possible choices of S 0 → for every K we have 2 60 such IV pairs. • Define a graph G = ( V, E ) such that Secret Key K IV 1 IV 2 ( IV 1 , IV 2 ) ∈ E iff ( K, IV 1 ) and ( K, IV 2 ) are slid pairs • So we have | E | = 2 60 . 18 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

  19. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b Distinguishing Attack Distinguisher Attack • For any K get keystream from random IVs until we get one pair that slide. • How many random trials necessary ? Secret Key K IV 1 IV 2 N IV trials give exactly � edges to test � N 2 · 2 60 = � 2 70 ⇒ N ≈ 2 40 and 2 48 bits memory. � N � � • By Birthday rule 2 2 19 Subhadeep Banik Some cryptanalytic results on Stream ciphers with short internal states 13.12.2019

Recommend


More recommend