Pairings I
Michael Naehrig
Eindhoven Institute for the Protection of Systems and Information Technische Universiteit Eindhoven ♠✐❝❤❛❡❧❅❝r②♣t♦❥❡❞✐✳♦r❣
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
Eindhoven Institute for the Protection of Systems and Information Technische Universiteit Eindhoven ♠✐❝❤❛❡❧❅❝r②♣t♦❥❡❞✐✳♦r❣
◮ Non-degenerate:
◮ Bilinear: for P1, P2 ∈ G1; Q1, Q2 ∈ G2 we have
◮ as a means to attack DL-based cryptography on
◮ or to construct crypto systems with certain special
◮ One-round tripartite key agreement, ◮ Identity-based key agreement, ◮ Identity-based encryption (IBE), ◮ Hierarchical IBE (HIDE), ◮ Short signatures (BLS). ◮ much more ...
◮ For a field extension Fp ⊇ L ⊇ Fp let
◮ Let n = #E(Fp) be the number of Fp-rational points.
◮ We denote by
◮ If p ∤ m we have
◮ This is equivalent to r | Φk(p), where Φk is the k-th
◮ The embedding degree k is the order of p modulo r.
◮ For k > 1 the field Fpk is the smallest extension of Fp
◮ and for which E(Fpk) contains all r-torsion points, i.e.
pk,
◮ where DP ∼ (P) − (P∞) and DQ ∼ (Q) − (P∞) are
◮ fr,P and fr,Q are functions on the curve with divisors
◮ For a divisor D = P∈E nP(P) and a function
◮ The Weil pairing is bilinear, non-degenerate and
◮ Let P, Q be the points from the theorem. Then the
◮ The map f ’reduces’ the DLP on E(Fp)[r] to the DLP
pk: If R = [m]P then
◮ One can find m by solving the DLP in F∗ pk. ◮ This attack is only useful, if we can compute the Weil
◮ and if the DLP in F∗ pk is easier than the DLP in E(Fp).
pk/(F∗ pk)r,
◮ The divisor DQ is equivalent to the divisor (Q) − (P∞)
◮ The result must be interpreted as representing a
pk/(F∗ pk)r. ◮ Q is a representative of a class in E(Fpk)/rE(Fpk).
pk,
pk−1 r .
◮ For the first group we restrict to E[r](Fp). ◮ If r2 ∤ n we may represent E(Fpk)/rE(Fpk) by
◮ For k > 1 we may replace DQ by Q itself. ◮ Note that for k > 1 and P ∈ E[r](Fp) we have
pk,
pk−1 r .
◮ We obtain a unique pairing value in µr by raising
r . ◮ This so called final exponentiation is an isomorphism
pk/(F∗ pk)r → µr.
◮ Let fi,P, i ∈ Z be a function on E which has a divisor
◮ The special case i = r leads to
◮ Compute the divisor of the product
◮ The sum of the divisors is ’almost’ the divisor of fi+j,P.
◮ The first line l goes through [i]P, [j]P and −[i + j]P, it
◮ The second line v is a vertical line through [i + j]P
◮ Compute
◮ Remember
◮ and
◮ For the functions we get Miller’s formula
◮ Square step:
i,P · l[i]P,[i]P/v[2i]P. ◮ Multiply step:
◮ lR,S: line through R and S, tangent if R = S,
v[2]R(Q)
vR+P (Q)
◮ If k is too large, we can’t compute pairings this way. ◮ We need special curves with small k to be able to
◮ See tomorrow’s talk for methods how to find such
◮ They each choose a secret a, b, c ∈ Zr resp. ◮ They compute aP, bP, cP resp. and send it to the
cP
bP
aP
cP
bP
aP
◮ Only one round of communication is needed.
pk,
◮ Supersingular elliptic curves have k ≤ 6. ◮ Supersingular elliptic curves have distortion maps. ◮ A distortion map is an endomorphism φ of E for which
◮ System parameters are the pairing
pk,
◮ To sign messages, Tanja chooses a private key
◮ She signs the message M ∈ {0, 1}∗ by computing
◮ To verify, anyone may take QT and check if
◮ e(σ, Q) = e([xT]H(M), Q) = e(H(M), [xT]Q) =
◮ The signature σ is just one point in E[r](Fp), so can
◮ Compare this to the signatures from Tanja’s 1st talk.
◮ This is 1 element of size r larger. ◮ If we represent points in E(Fp) by their x-coordinate
◮ Ate pairing:
pk,
pk−1 r .
◮ Twisted ate pairing: If E has a twist E′ of degree d,
pk,
pk−1 r .
◮ There are other choices for the loop variable which
◮ Shortest loops right now are of length 1/ϕ(k) times