pairings i
play

Pairings I Michael Naehrig Eindhoven Institute for the Protection - PowerPoint PPT Presentation

Pairings I Michael Naehrig Eindhoven Institute for the Protection of Systems and Information Technische Universiteit Eindhoven rtr ECC Summer School 2008, Eindhoven 18 September 2008


  1. Pairings I Michael Naehrig Eindhoven Institute for the Protection of Systems and Information Technische Universiteit Eindhoven ♠✐❝❤❛❡❧❅❝r②♣t♦❥❡❞✐✳♦r❣ ECC Summer School 2008, Eindhoven 18 September 2008

  2. What is a pairing? A pairing is a non-degenerate, bilinear map e : G 1 × G 2 → G 3 , where G 1 , G 2 are abelian groups written additively and G 3 is a multiplicative abelian group. ◮ Non-degenerate: for all 0 � = P ∈ G 1 there is a Q ∈ G 2 s.t. e ( P, Q ) � = 1 , for all 0 � = Q ∈ G 2 there is a P ∈ G 1 s.t. e ( P, Q ) � = 1 . ◮ Bilinear: for P 1 , P 2 ∈ G 1 ; Q 1 , Q 2 ∈ G 2 we have e ( P 1 + P 2 , Q 1 ) = e ( P 1 , Q 1 ) e ( P 2 , Q 1 ) , e ( P 1 , Q 1 + Q 2 ) = e ( P 1 , Q 1 ) e ( P 1 , Q 2 ) . It follows: e ([ a ] P, [ b ] Q ) = e ( P, Q ) ab = e ([ b ] P, [ a ] Q ) .

  3. What can be done with pairings? Pairings on elliptic curves can be used, ◮ as a means to attack DL-based cryptography on groups of points on elliptic curves, ◮ or to construct crypto systems with certain special properties: ◮ One-round tripartite key agreement, ◮ Identity-based key agreement, ◮ Identity-based encryption (IBE), ◮ Hierarchical IBE (HIDE), ◮ Short signatures (BLS). ◮ much more ...

  4. Elliptic curves Let p > 3 be a prime, F p the finite field with p elements and E : Y 2 = X 3 + AX + B an elliptic curve over F p . ◮ For a field extension F p ⊇ L ⊇ F p let E ( L ) = { ( x, y ) ∈ L 2 : y 2 = x 3 + Ax + B } ∪ { P ∞ } the group of L -rational points on E . ◮ Let n = # E ( F p ) be the number of F p -rational points. We have | t | ≤ 2 √ p, n = p + 1 − t, where t is the trace of Frobenius.

  5. Torsion points Let m be a non-negative integer. The set of m -torsion points E [ m ] = { P ∈ E = E ( F p ) | [ m ] P = P ∞ } is a subgroup of E . ◮ We denote by E [ m ]( L ) = { P ∈ E ( L ) | [ m ] P = P ∞ } the group of L -rational m -torsion points. ◮ If p ∤ m we have E [ m ] ∼ = Z /m Z × Z/m Z .

  6. The embedding degree Let r � = p be a large prime dividing n = # E ( F p ) . The embedding degree of E with respect to r is the smallest integer k s.t. r | p k − 1 . ◮ This is equivalent to r | Φ k ( p ) , where Φ k is the k -th cyclotomic polynomial. This follows from X k − 1 = � � Φ d ( X ) = Φ k ( X ) · Φ d ( X ) . d | k d | k,d � = k

  7. The embedding degree ◮ The embedding degree k is the order of p modulo r . Therefore k | r − 1 . ◮ For k > 1 the field F p k is the smallest extension of F p which contains the group µ r of r -th roots of unity, ◮ and for which E ( F p k ) contains all r -torsion points, i.e. E [ r ] ⊆ E ( F p k ) . For crypto-sized curve E and prime divisor r the embedding degree is usually very large.

  8. The Weil pairing The Weil pairing is a map µ r ⊆ F ∗ e r : E [ r ] × E [ r ] → p k , ( P, Q ) �→ f r,P ( D Q ) /f r,Q ( D P ) , ◮ where D P ∼ ( P ) − ( P ∞ ) and D Q ∼ ( Q ) − ( P ∞ ) are divisors with disjoint support, ◮ f r,P and f r,Q are functions on the curve with divisors ( f r,P ) = rD P = r ( P ) − r ( P ∞ ) , ( f r,Q ) = rD Q = r ( Q ) − r ( P ∞ ) .

  9. The Weil pairing The Weil pairing is a map e r : E [ r ] × E [ r ] → µ r ⊆ F p k , ( P, Q ) �→ f r,P ( D Q ) /f r,Q ( D P ) , ◮ For a divisor D = � P ∈ E n P ( P ) and a function f ∈ F p ( E ) , we can evaluate f at D by � f ( P ) n p . f ( D ) = P ∈ E ◮ The Weil pairing is bilinear, non-degenerate and alternating (i.e. e r ( P, P ) = 1 ).

  10. The MOV-FR attack Theorem: Let P ∈ E [ r ]( F p ) . Then there exists a point Q ∈ E [ r ] s.t. e r ( P, Q ) is a primitive r -th root of unity, i.e. a generator of µ r . ◮ Let P, Q be the points from the theorem. Then the map f : � P � → µ r , R �→ e r ( R, Q ) is a group isomorphism. ◮ The map f ’reduces’ the DLP on E ( F p )[ r ] to the DLP in µ r ⊆ F ∗ p k : If R = [ m ] P then e r ( R, Q ) = e r ([ m ] P, Q ) = e r ( P, Q ) m .

  11. The MOV-FR attack R = [ m ] P � e r ([ m ] P, Q ) = e r ( P, Q ) m . e r ( R, Q ) = ◮ One can find m by solving the DLP in F ∗ p k . ◮ This attack is only useful, if we can compute the Weil pairing efficiently, ◮ and if the DLP in F ∗ p k is easier than the DLP in E ( F p ) .

  12. The Tate pairing The Tate pairing is a map F ∗ p k / ( F ∗ p k ) r , �· , ·� r : E [ r ]( F p k ) × E ( F p k ) /rE ( F p k ) → �→ ( P, Q ) f r,P ( D Q ) . ◮ The divisor D Q is equivalent to the divisor ( Q ) − ( P ∞ ) and its support is disjoint from the support of ( f r,P ) = r ( P ) − r ( P ∞ ) . ◮ The result must be interpreted as representing a class in F ∗ p k / ( F ∗ p k ) r . ◮ Q is a representative of a class in E ( F p k ) /rE ( F p k ) .

  13. The reduced Tate pairing The reduced Tate pairing is a map µ r ⊂ F ∗ t r : E [ r ]( F p ) × E [ r ]( F p k ) → p k , pk − 1 r . ( P, Q ) �→ f r,P ( Q ) ◮ For the first group we restrict to E [ r ]( F p ) . ◮ If r 2 ∤ n we may represent E ( F p k ) /rE ( F p k ) by E [ r ]( F p k ) . ◮ For k > 1 we may replace D Q by Q itself. ◮ Note that for k > 1 and P ∈ E [ r ]( F p ) we have t r ( P, P ) = 1 .

  14. The reduced Tate pairing The reduced Tate pairing is a map µ r ⊂ F ∗ t r : E [ r ]( F p ) × E [ r ]( F p k ) → p k , pk − 1 r . �→ ( P, Q ) f r,P ( Q ) ◮ We obtain a unique pairing value in µ r by raising f r,P ( Q ) to the power of p k − 1 r . ◮ This so called final exponentiation is an isomorphism p k ) r → µ r . F ∗ p k / ( F ∗

  15. Miller functions To compute pairings we need to know the functions f r,P with divisor r ( P ) − r ( P ∞ ) . ◮ Let f i,P , i ∈ Z be a function on E which has a divisor ( f i,P ) = i ( P ) − ([ i ] P ) − ( i − 1)( P ∞ ) . f i,P is called a Miller function. ◮ The special case i = r leads to ( f r,P ) = r ( P ) − ([ r ] P ) − ( r − 1)( P ∞ ) = r ( P ) − r ( P ∞ ) , since [ r ] P = P ∞ .

  16. Miller’s formula Can we compute f i + j,P from f i,P and f j,P ? ◮ Compute the divisor of the product i ( P ) − ([ i ] P ) − ( i − 1)( P ∞ ) ( f i,P f j,P ) = + j ( P ) − ([ j ] P ) − ( j − 1)( P ∞ ) = ( i + j )( P ) − ([ i ] P ) − ([ j ] P ) − ( i + j − 2)( P ∞ ) = ( i + j )( P ) − ([ i + j ] P ) − ( i + j − 1)( P ∞ ) +([ i + j ] P ) − ([ i ] P ) − ([ j ] P ) + ( P ∞ ) ( f i + j,P ) + ([ i + j ] P ) − ([ i ] P ) − ([ j ] P ) + ( P ∞ ) = ◮ The sum of the divisors is ’almost’ the divisor of f i + j,P .

  17. Miller’s formula Now have a look at the lines occuring in the addition [ i ] P + [ j ] P = [ i + j ] P . ◮ The first line l goes through [ i ] P , [ j ] P and − [ i + j ] P , it has the divisor ( l ) = ([ i ] P ) + ([ j ] P ) + ( − [ i + j ] P ) − 3( P ∞ ) . ◮ The second line v is a vertical line through [ i + j ] P and − [ i + j ] P with ( v ) = ([ i + j ] P ) + ( − [ i + j ] P ) − 2( P ∞ ) . ◮ Compute ( l ) − ( v ) = ([ i ] P ) + ([ j ] P ) − ([ i + j ] P ) − ( P ∞ ) .

  18. Miller’s formula ◮ Remember ( f i,P f j,P ) = ( f i + j,P ) + ([ i + j ] P ) − ([ i ] P ) − ([ j ] P ) + ( P ∞ ) ◮ and ( l ) − ( v ) = ([ i ] P ) + ([ j ] P ) − ([ i + j ] P ) − ( P ∞ ) . We get an equation of divisors ( f i + j,P ) = ( f i,P f j,P ) + ( l ) − ( v ) . ◮ For the functions we get Miller’s formula f i + j,P = f i,P f j,P · l/v. We can choose normalized functions, i.e. f 1 ,P = 1 .

  19. Computing pairings (Miller’s algorithm) We can use the special cases i = j and j = 1 to compute the function f r,P in a square-&-multiply-like manner. ◮ Square step: f 2 i,P = f 2 i,P · l [ i ] P, [ i ] P /v [2 i ] P . ◮ Multiply step: f i +1 ,P = f i,P f 1 ,P · l [ i ] P,P /v [ i +1] P . ◮ l R,S : line through R and S , tangent if R = S , v R : vertical line through R .

  20. Computing pairings (Miller’s algorithm) Input: P ∈ E [ r ]( F p ) , Q ∈ E [ r ]( F p k ) , r = ( r m , . . . , r 0 ) 2 Output: f r,P ( Q ) R ← P , f ← 1 for ( i ← m − 1; i ≥ 0; i − − ) do f ← f 2 l R,R ( Q ) v [2] R ( Q ) R ← [2] R if ( r i = 1) then f ← f l R,P ( Q ) v R + P ( Q ) R ← R + P end if end for return f

  21. Computing pairings (Miller’s algorithm) For Miller’s algorithm we need arithmetic in E ( F p ) and F p k . ◮ If k is too large, we can’t compute pairings this way. ◮ We need special curves with small k to be able to compute in F p k . ◮ See tomorrow’s talk for methods how to find such curves.

  22. � � � � � Tripartite key agreement Tanja, Dan and Nigel would like to share a common secret key. ◮ They each choose a secret a, b, c ∈ Z r resp. ◮ They compute aP, bP, cP resp. and send it to the other two. Nigel bP cP cP aP bP � Tanja Dan aP

  23. � � � � � Tripartite key agreement Nigel bP cP cP aP bP � Tanja Dan aP ◮ Using a pairing e the three can compute a common secret key using their secrets: e ( aP, bP ) c = e ( bP, cP ) a = e ( aP, cP ) b = e ( P, P ) abc . ◮ Only one round of communication is needed.

  24. Symmetric Pairings If k > 1 we can use the reduced Tate pairing on supersingular curves to construct a symmetric pairing e : E [ r ]( F p ) × E [ r ]( F p ) → µ r ⊆ F ∗ p k , s.t. e ( P, P ) � = 1 . ◮ Supersingular elliptic curves have k ≤ 6 . ◮ Supersingular elliptic curves have distortion maps. ◮ A distortion map is an endomorphism φ of E for which ∈ E ( F p ) . If E ( F p k ) has no points of order r 2 then φ ( P ) / e ( P, P ) := t r ( P, φ ( P )) � = 1 .

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