time space tradeoffs for attacks against one way
play

Time space tradeoffs for attacks against one-way functions and PRGs - PowerPoint PPT Presentation

Time space tradeoffs for attacks against one-way functions and PRGs Anindya De University of California, Berkeley Joint work with Luca Trevisan - UC Berkeley and Stanford University Madhur Tulsiani - Princeton University 0 / 26 What is this


  1. Time space tradeoffs for attacks against one-way functions and PRGs Anindya De University of California, Berkeley Joint work with Luca Trevisan - UC Berkeley and Stanford University Madhur Tulsiani - Princeton University 0 / 26

  2. What is this talk about? • Can “brute-force” attacks on cryptographic primitives be improved upon? 1 / 26

  3. What is this talk about? • Can “brute-force” attacks on cryptographic primitives be improved upon? • Recover a key of length k in time less than 2 k . 1 / 26

  4. What is this talk about? • Can “brute-force” attacks on cryptographic primitives be improved upon? • Recover a key of length k in time less than 2 k . • In time t , recover key with probability better than t / 2 k . 1 / 26

  5. What is this talk about? • Can “brute-force” attacks on cryptographic primitives be improved upon? • Recover a key of length k in time less than 2 k . • In time t , recover key with probability better than t / 2 k . • Brute force : optimal when restricted to uniform algorithms 1 / 26

  6. What is this talk about? • Can “brute-force” attacks on cryptographic primitives be improved upon? • Recover a key of length k in time less than 2 k . • In time t , recover key with probability better than t / 2 k . • Brute force : optimal when restricted to uniform algorithms • Are better (non-uniform) attacks possible against: • one-way functions? • pseudo-random generators? 1 / 26

  7. Definitions of primitives • N = 2 n , [ N ] ∼ = { 0 , 1 } n . 2 / 26

  8. Definitions of primitives • N = 2 n , [ N ] ∼ = { 0 , 1 } n . • One-way function: f : [ N ] → [ N ] is ( t , ǫ ) -one way if for every algorithm A of complexity ≤ t � A f ( f ( x )) = x ′ | f ( x ′ ) = f ( x ) � Pr ≤ ǫ x ∼{ 0 , 1 } n 2 / 26

  9. Definitions of primitives • N = 2 n , [ N ] ∼ = { 0 , 1 } n . • One-way function: f : [ N ] → [ N ] is ( t , ǫ ) -one way if for every algorithm A of complexity ≤ t � A f ( f ( x )) = x ′ | f ( x ′ ) = f ( x ) � Pr ≤ ǫ x ∼{ 0 , 1 } n • PRG: G : [ N ] → [ 2 N ] is a ( t , ǫ ) -secure PRG if for every algorithm A of complexity ≤ t � � x ∼ [ N ] [ A G ( G ( x )) = 1 ] − y ∼ [ 2 N ] [ A G ( y ) = 1 ] � � � Pr Pr � ≤ ǫ � � 2 / 26

  10. Measure of Complexity • complexity � = time, as A may compute f − 1 in O ( log N ) time by storing all inverses. 3 / 26

  11. Measure of Complexity • complexity � = time, as A may compute f − 1 in O ( log N ) time by storing all inverses. • complexity = pre-computed advice + running time. 3 / 26

  12. Measure of Complexity • complexity � = time, as A may compute f − 1 in O ( log N ) time by storing all inverses. • complexity = pre-computed advice + running time. • Can be implemented on a RAM machine with time and space t . • Similar to circuit complexity. 3 / 26

  13. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) 4 / 26

  14. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) 4 / 26

  15. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) ˜ O ( N 3 / 4 ) [Fiat-Naor 99] Any f , all inputs 4 / 26

  16. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) ˜ O ( N 3 / 4 ) [Fiat-Naor 99] Any f , all inputs √ ˜ ǫ ≤ N − 1 / 3 O ( ǫ N ) [DTT 10] Any f , ǫ -fraction of inputs ˜ O ( ǫ 5 / 4 N 3 / 4 ) ǫ ≥ N − 1 / 3 4 / 26

  17. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) ˜ O ( N 3 / 4 ) [Fiat-Naor 99] Any f , all inputs √ ˜ ǫ ≤ N − 1 / 3 O ( ǫ N ) [DTT 10] Any f , ǫ -fraction of inputs ˜ O ( ǫ 5 / 4 N 3 / 4 ) ǫ ≥ N − 1 / 3 ˜ def O ( ǫ 2 N ) [ACR 97] PRG G ( x ) = ( f ( x ) , P ( x )) 4 / 26

  18. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) ˜ O ( N 3 / 4 ) [Fiat-Naor 99] Any f , all inputs √ ˜ ǫ ≤ N − 1 / 3 O ( ǫ N ) [DTT 10] Any f , ǫ -fraction of inputs ˜ O ( ǫ 5 / 4 N 3 / 4 ) ǫ ≥ N − 1 / 3 ˜ def O ( ǫ 2 N ) [ACR 97] PRG G ( x ) = ( f ( x ) , P ( x )) ˜ O ( ǫ 2 N ) [DTT 10] Any PRG 4 / 26

  19. Upper bounds Primitive Complexity √ ˜ [Hellman 80] Permutation f O ( N ) ˜ O ( N 2 / 3 ) [Hellman 80] Random function f (heuristic) ˜ O ( N 3 / 4 ) [Fiat-Naor 99] Any f , all inputs √ ˜ ǫ ≤ N − 1 / 3 O ( ǫ N ) [DTT 10] Any f , ǫ -fraction of inputs ˜ O ( ǫ 5 / 4 N 3 / 4 ) ǫ ≥ N − 1 / 3 ˜ def O ( ǫ 2 N ) [ACR 97] PRG G ( x ) = ( f ( x ) , P ( x )) ˜ O ( ǫ 2 N ) [DTT 10] Any PRG All above results are actually stated as time-space tradeoffs. Complexity is optimized when T = S . 4 / 26

  20. Lower bounds Better stated in terms of a tradeoff between T and S . 5 / 26

  21. Lower bounds Better stated in terms of a tradeoff between T and S . Primitive Tradeoff [Yao 90] T · S = ˜ Permutation f , ǫ -fraction Ω( ǫ N ) √ [Gennaro-Trevisan 00] of inputs for T = O ( ǫ N ) [Wee 05] 5 / 26

  22. Lower bounds Better stated in terms of a tradeoff between T and S . Primitive Tradeoff [Yao 90] T · S = ˜ Permutation f , ǫ -fraction Ω( ǫ N ) √ [Gennaro-Trevisan 00] of inputs for T = O ( ǫ N ) [Wee 05] T · S = ˜ Permutation f , ǫ -fraction Ω( ǫ N ) [DTT 10] of inputs for any T 5 / 26

  23. Lower bounds Better stated in terms of a tradeoff between T and S . Primitive Tradeoff [Yao 90] T · S = ˜ Permutation f , ǫ -fraction Ω( ǫ N ) √ [Gennaro-Trevisan 00] of inputs for T = O ( ǫ N ) [Wee 05] T · S = ˜ Permutation f , ǫ -fraction Ω( ǫ N ) [DTT 10] of inputs for any T def T · S = Ω( ǫ 2 N ) [DTT 10] PRG G = ( f ( x ) , P ( x )) 5 / 26

  24. Hellman’s approach for permutations f ( x )

  25. Hellman’s approach for permutations f ( x ) f ( f ( x ))

  26. Hellman’s approach for permutations f ( x ) f ( f ( x )) f ( f ( f ( x )))

  27. Hellman’s approach for permutations f ( x ) f ( f ( x )) x f ( f ( f ( x )))

  28. Hellman’s approach for permutations f ( x ) f ( f ( x )) x f ( f ( f ( x ))) √ In small cycles of size less than N , compute f ( x ) , f ( f ( x )) , . . . 6 / 26

  29. Hellman’s approach for permutations f ( x ) f ( f ( x )) x f ( f ( f ( x ))) √ In small cycles of size less than N , compute f ( x ) , f ( f ( x )) , . . . At some point, you hit x . f − 1 ( x ) is the penultimate point in the sequence. 6 / 26

  30. Hellman’s approach for permutations f ( x ) f ( f ( x )) x f ( f ( f ( x ))) √ In small cycles of size less than N , compute f ( x ) , f ( f ( x )) , . . . At some point, you hit x . f − 1 ( x ) is the penultimate point in the sequence. √ Time complexity of computation is ˜ O ( N ) . 6 / 26

  31. What happens to large cycles? a x √ N c b d √ In large cycles, store back-links at a distance of N 7 / 26

  32. What happens to large cycles? a x √ N c b d √ In large cycles, store back-links at a distance of N For e.g., store ( a , b ) , ( b , c ) , ( c , d ) and ( d , a ) in a data-structure 7 / 26

  33. What happens to large cycles? a x √ N c b d Compute f ( x ) , f ( f ( x )) , . . . till you hit a point in the data structure, say a 8 / 26

  34. What happens to large cycles? a x √ N c b d Compute f ( x ) , f ( f ( x )) , . . . till you hit a point in the data structure, say a When you hit a , use back-link to go back to b 8 / 26

  35. What happens to large cycles? a x √ N c b d Now, compute f ( a ) , f ( f ( a )) , . . . until you hit x 9 / 26

  36. What happens to large cycles? a x √ N c b d Now, compute f ( a ) , f ( f ( a )) , . . . until you hit x The penultimate point in the sequence is f − 1 ( x ) 9 / 26

  37. What happens to large cycles? a x √ N c b d √ Note that all the cycles can be covered by O ( N ) back-links (each back-link √ covering a distance of N ) 10 / 26

  38. What happens to large cycles? a x √ N c b d √ Note that all the cycles can be covered by O ( N ) back-links (each back-link √ covering a distance of N ) √ Also, the total time complexity is N as you hit a “back-link” in that time 10 / 26

  39. Time and space complexity for inverting permutations √ √ • Total time T = ˜ N ) and space S = ˜ O ( O ( N ) . 11 / 26

  40. Time and space complexity for inverting permutations √ √ • Total time T = ˜ N ) and space S = ˜ O ( O ( N ) . • Can be used to invert ǫ fraction of the elements in time √ √ T = ˜ ǫ N ) and space S = ˜ O ( O ( ǫ N ) • In fact, we can achieve any time ( T ) space ( S ) tradeoff such that T · S = ǫ N . 11 / 26

  41. Abstracting the approach for permutations • Cover the graph ( x → f ( x ) ) of f by m disjoint paths of length ℓ . 12 / 26

  42. Abstracting the approach for permutations • Cover the graph ( x → f ( x ) ) of f by m disjoint paths of length ℓ . • Gives algo with T = ˜ O ( ℓ ) and S = ˜ O ( m ) (one back-link per path). 12 / 26

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