a comparison of pairing friendly curves at the 192 bit
play

A comparison of pairing-friendly curves at the 192-bit security - PowerPoint PPT Presentation

A comparison of pairing-friendly curves at the 192-bit security level Aurore Guillevic Inria Nancy, Caramba team 17/04/2019 WRACH workshop, Roscoff Joint work with Shashank Singh, IISER Bhopal, India 1/43 Plan Introduction: Discrete


  1. A comparison of pairing-friendly curves at the 192-bit security level Aurore Guillevic Inria Nancy, Caramba team 17/04/2019 WRACH workshop, Roscoff Joint work with Shashank Singh, IISER Bhopal, India 1/43

  2. Plan Introduction: Discrete logarithm and NFS Key sizes for DL-based crypto Pairings Key-sizes for pairing-based crypto Future work 2/43

  3. Asymmetric cryptography Factorization (RSA cryptosystem) Discrete logarithm problem (use in Diffie-Hellman, etc) Given a finite cyclic group ( G , · ), a generator g and h ∈ G , compute x s.t. h = g x . → can you invert the exponentiation function ( g , x ) �→ g x ? Common choice of G : ◮ prime finite field F p = Z / p Z (1976) ◮ characteristic 2 field F 2 n ( ≈ 1979) ◮ elliptic curve E ( F p ) (1985) 3/43

  4. Discrete log problem How fast can you invert the exponentiation function ( g , x ) �→ g x ? ◮ g ∈ G generator, ∃ always a preimage x ∈ { 1 , . . . , # G } ◮ naive search, try them all: # G tests ◮ random walk in G , cycle path finding algorithm in a connected graph Floyd → Pollard, baby-step-giant-step, O ( √ # G ) (the cycle path encodes the answer) ◮ parallel search in each distinct subgroup (Pohlig-Hellman) ◮ algorithmic refinements 4/43

  5. Discrete log problem How fast can you invert the exponentiation function ( g , x ) �→ g x ? ◮ g ∈ G generator, ∃ always a preimage x ∈ { 1 , . . . , # G } ◮ naive search, try them all: # G tests ◮ random walk in G , cycle path finding algorithm in a connected graph Floyd → Pollard, baby-step-giant-step, O ( √ # G ) (the cycle path encodes the answer) ◮ parallel search in each distinct subgroup (Pohlig-Hellman) ◮ algorithmic refinements → Choose G of large prime order (no subgroup) → complexity of inverting exponentiation in O ( √ # G ) → security level 128 bits means √ # G ≥ 2 128 analogy with symmetric crypto, keylength 128 bits (16 bytes) 4/43

  6. Discrete log problem How fast can you invert the exponentiation function ( g , x ) �→ g x ? G cyclic group of prime order, complexity O ( √ # G ). 5/43

  7. Discrete log problem How fast can you invert the exponentiation function ( g , x ) �→ g x ? G cyclic group of prime order, complexity O ( √ # G ). better way? 5/43

  8. Discrete log problem How fast can you invert the exponentiation function ( g , x ) �→ g x ? G cyclic group of prime order, complexity O ( √ # G ). better way? → Use additional structure of G . 5/43

  9. Discrete log problem when G = ( Z / p Z ) ∗ Index calculus algorithm [Western–Miller 68, Adleman 79], prequel of the Number Field Sieve algorithm (NFS) ◮ p prime, ( p − 1) / 2 prime, G = ( Z / p Z ) ∗ , gen. g , target h ◮ get many multiplicative relations in G g t = g e 1 1 g e 2 2 · · · g e i (mod p ), g , g 1 , g 2 , . . . , g i ∈ G i e ′ e ′ e ′ ◮ find a relation h = g 1 2 · · · g 2 i (mod p ) 1 g i ◮ take logarithm: linear relations = e 1 log g g 1 + e 2 log g g 2 + . . . + e i log g g i (mod p − 1) t . . . e ′ 1 log g g 1 + e ′ 2 log g g 2 + . . . + e ′ log g h = i log g g i (mod p − 1) ◮ solve a linear system ◮ get x = log g h 6/43

  10. Index calculus in ( Z / p Z ) ∗ : example p = 1109, r = ( p − 1) / 4 = 277 prime Smoothness bound B = 13 F 13 = { 2 , 3 , 5 , 7 , 11 , 13 } small primes up to B B -smooth integer: n = � p i ≤ B p e i i , p i prime is g i smooth? 1 ≤ i ≤ 72 is enough g 1 =     2 = 2 1 0 0 0 0 0 1 g 13 = 429 = 3 · 11 · 13 0 1 0 0 1 1 13         g 16 = 105 = 3 · 5 · 7     0 1 1 1 0 0 16     → · x = g 21 =     33 = 3 · 11 0 1 0 0 1 0 21     g 44 = 1029 = 3 · 7 3     0 1 0 3 0 0 44     g 72 = 325 = 5 2 · 13 0 0 2 0 0 1 72 x = [1 , 219 , 40 , 34 , 79 , 269] mod 277 → log g 7 = 34 mod 277, that is, ( g 34 ) 4 = 7 4 g 34 = 7 u and u 4 = 1 7/43

  11. Index calculus in ( Z / p Z ) ∗ : example x = [1 , 219 , 40 , 34 , 79 , 269] mod 277 subgroup of order 4: g 4 = g ( p − 1) / 4 { 1 , g 4 , g 2 4 , g 3 4 } = { 1 , 354 , 1108 , 755 } 3 / g 219 = 1 ⇒ log g 3 = = 219 5 / g 40 = − 1 ⇒ log g 5 = 40+ ( p − 1) / 2 = 594 7 / g 34 = g 4 ⇒ log g 7 = 34+ ( p − 1) / 4 = 311 11 / g 79 = g 3 4 ⇒ log g 11 = 79+ 3( p − 1) / 4 = 910 13 / g 269 = g 3 4 ⇒ log g 13 = 269+ 3( p − 1) / 4 = 1100 v = [1 , 219 , 594 , 311 , 910 , 1100] mod p − 1 Target h = 777 g 10 · 777 = 495 = 3 2 · 5 · 11 mod p log 2 777 = − 10 + 2 log g 3 + log g 5 + log g 11 = 824 mod p − 1 g 824 = 777 8/43

  12. Index calculus in ( Z / p Z ) ∗ : example Trick Multiplicative relations over the integers g 1 , g 2 , . . . , g i ← → small prime integers Smooth integers n = � p i ≤ B p e i are quite common → it works i 9/43

  13. Index calculus in ( Z / p Z ) ∗ : example Trick Multiplicative relations over the integers g 1 , g 2 , . . . , g i ← → small prime integers Smooth integers n = � p i ≤ B p e i are quite common → it works i Improvements in the 80’s, 90’s: ◮ Sieve (faster relation collection) ◮ Multiplicative relations in number fields Smaller integers and norms to factor ◮ Better sparse linear algebra ◮ Independent target h 9/43

  14. Number Field: Toy example with Z [ i ] (1986 technology, Coppersmith–Odlyzko–Schroeppel) reduce further the size of the integers to factor If p = 1 mod 4, ∃ U , V s.t. p = U 2 + V 2 and | U | , | V | < √ p U / V ≡ m mod p and m 2 + 1 = 0 mod p Define a map from Z [ i ] to Z / p Z φ : Z [ i ] → Z / p Z m mod p where m = U / V , m 2 + 1 = 0 mod p i �→ ring homomorphism φ ( a + bi ) = a + bm ) V − 1 φ ( a + bi ) = a + bm = ( a + b U / V ) = ( aV + bU mod p � �� � � �� � � �� � = m factor in Z factor in Z [ i ] 10/43

  15. Example in Z [ i ] p = 1109 = 1 mod 4, r = ( p − 1) / 4 = 277 prime p = 22 2 + 25 2 max( | a | , | b | ) = A = 20, B = 13 smoothness bound Rational side F rat = { 2 , 3 , 5 , 7 , 11 , 13 } primes up to B Algebraic side: think about the complex number in C (1 + i )(1 − i ) = 2, (2 + i )(2 − i ) = 5, (2 + 3 i )(2 − 3 i ) = 13 All primes p = 1 mod 4 ◮ can be written as a sum of two squares p = a 2 + b 2 ◮ factor into two conjugate Gaussian integers ( a + ib )( a − ib ) Units: i 2 = − 1 F alg = { 1 + i , 1 − i , 2 + i , 2 − i , 2 + 3 i , 2 − 3 i } “primes” of norm up to B U alg = {− 1 , i } Units 11/43

  16. Example in Z [ i ] p = 1109 ( a , b ) = ( − 4 , 7), Norm( − 4 + 7 i ) = ( − 4) 2 + 7 2 = 65 = 5 · 13 In Z [ i ], ◮ 5 = (2 + i )(2 − i ) ◮ 13 = (2 + 3 i )(2 − 3 i ) Then, → (2 ± i )(2 ± 3 i ) has norm 65 → ± (( i ))(2 ± i )(2 ± 3 i ) = ( − 4 + 7 i ) We obtain i (2 − i )(2 + 3 i ) = − 4 + 7 i 12/43

  17. Example in Z [ i ] a 2 + b 2 a + bi aV + bU = factor in Z factor in Z [ i ] 650 = 2 · 5 2 · 13 − (1 − i )(2 + i ) 2 (2 − 3 i ) − 17 + 19 i − 7 = − 7 125 = 5 3 i (2 + i ) 3 − 11 + 2 i − 231 = − 3 · 7 · 11 224 = 2 5 · 7 325 = 5 2 · 13 (2 + i ) 2 (2 + 3 i ) − 6 + 17 i 54 = 2 · 3 3 − 4 + 7 i 65 = 5 · 13 i (2 − i )(2 + 3 i ) 25 = 5 2 − (2 − i ) 2 − 3 + 4 i 13 = 13 − 28 = − 2 2 · 7 − 2 + i 5 = 5 − (2 − i ) 16 = 2 4 − 2 + 3 i 13 = 13 − (2 − 3 i ) 192 = 2 6 · 3 125 = 5 3 − (2 − i ) 3 − 2 + 11 i − 1 + i − 3 = − 3 2 = 2 − (1 − i ) 22 = 2 · 11 1 = 1 i i 1 + 3 i 91 = 7 · 13 10 = 2 · 5 (1 + i )(2 + i ) 135 = 3 3 · 5 1 + 5 i 26 = 2 · 13 − (1 − i )(2 − 3 i ) 72 = 2 3 · 3 2 2 + i 5 = 5 (2 + i ) 147 = 3 · 7 2 5 + i 26 = 2 · 13 − i (1 + i )(2 + 3 i ) 13/43

  18. Example in Z [ i ]: Matrix Build the matrix of relations: ◮ one row per ( a , b ) pair s.t. both norms are smooth ◮ one column per prime of F rat ◮ one column for 1 / V ◮ one column per prime ideal of F alg ◮ one column per unit ( − 1 , i ) ◮ store the exponents 14/43

  19. Example in Z [ i ] 2 + 3 i 2 − 3 i 1 + i 1 − i 2 + i 2 − i 1 2 3 5 7 11 13 V − 1 i   0 0 0 0 0 0 0 1 2 0 0 0 0 0 0  0 0 0 1 0 0 1 0 0 0 1 2 0 0 1      0 1 0 1 1 0 1 1 1 0 0 3 0 0 0     5 0 0 1 0 0 1 0 0 0 0 2 0 1 0     1 3 0 0 0 0 1 0 1 0 0 0 1 1 0      0 0 0 0 0 1 1 1 0 0 0 0 2 0 0      2 0 0 1 0 0 1 0 0 0 0 0 1 0 0     M = 4 0 0 0 0 0 1 1 0 0 0 0 0 0 1      6 1 0 0 0 0 1 1 0 0 0 0 3 0 0      0 1 0 0 0 0 1 0 0 0 1 0 0 0 0     1 0 0 0 1 0 1 0 1 0 0 0 0 0 0     0 0 0 1 0 1 1 0 0 1 0 1 0 0 0      0 3 1 0 0 0 1 1 0 0 1 0 0 0 1      3 2 0 0 0 0 1 0 0 0 0 1 0 0 0   0 1 0 2 0 0 1 1 1 1 0 0 0 1 0 15/43

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