]> Elliptic Curves - Computing the Tate Pairing

Elliptic Curves

Suppose we are working on a curve E over 𝔽 q with security multiplier k such that E[l] is contained in E/𝔽 q k.

e(P,Q)=f P(𝒜 Q) (q k1 )/l
where 𝒜 Q is a divisor equivalent to (Q)(O). and (f P)=l(P)l(O). For a supersingular curve with k>1 , we may simplify this to e(P,Q)=f P(Q) (q k1 )/l provided PE/𝔽 q.

Miller's Algorithm

Let g P,Q be the line between the points P and Q, and let f c be the function with divisor (f c)=c(P)(cP)(c1 )(O). Then for all a,b, we have f a+b(Q)=f a(Q)f b(Q)g aP,bP(Q)/g (a+b)P,(a+b)P(Q). Let the binary representation of l be l t,...,t 0 . Then Miller's algorithm is the following:

At the end, f=f l(Q)=f P(Q)=e(P,Q), and V=lP.

Note on implementation: by adding extra logic in the above algorithm, one can avoid handling points of infinity when computing the g functions.

The g P,Q functions

Let the curve be Y=X 3 +aX+b. In implementations, it may be more efficient scale λ appropriately and do all the divisions at once.