Liam Eagen's Elliptic curve inner product

This is a summary of [Ea22]. I will follow the notations from the previous post. Let's think about the prover has elliptic curve points PiE(F), and wants to prove that i=0nPi=O. To achieve effectiveness, the paper uses the function field and the Weil reciprocity.

First, the prover prepares a divisor witness fF such that

div(f)=i=0n1[Pi]n[O]Div(E).

Such f exists because Pi=O as mentioned in the previous post. Such f can be constructed efficiently by Euclidean algorithm or other methods. The output will be f=a(x)yb(x) for polynomials a,b whose degrees are less than n/2. I will explain this later. Now, the prover commits f and Pi. Then, the verifier chooses a random line

l=yλxμF(E)

in the function field whose intersection with E is contained in rational points E(Fq), and assume this line does not have zero at the point of infinity O. Alternatively, this can be done by choosing two points A0,A1E(Fq) such that A0±A1. Then, the line through A0 and A1 will be the random challenge. The line intersects with another point A2E(F) and it is automatically a rational point.

By the Weil reciprocity for f and l,

D(A0)D(A1)D(A2)=i=0n1l(Pi)

With some technical condition, log derivative with respect toμ yields

i=02f(Ai)f(Ai)dx(Ai)dμ=i=0n11l(Pi)

where f=ddxf and x(Ai) is a polynomial which maps (λ,μ) to x-coordinate of Ai. The prover can make an arithmetic circuit with this equation instead of Pi=O.


Higher multiplicity challenge

Instead of choosing distinct A0,A1,A2 as a challenge, the verifier can choose A0=A1A2. That is, l is the tangent line at A0. Similarly, log derivative of the Weil reciprocity induces

(c+2λ)f(A0)f(A0)+cf(A2)f(A2)=i=0n1x(A0)x(Pi)l(Pi)

where

c=2y(A2)(x(A0)x(A2))3x(A2)2+A02λy(A2)

and x(P) and y(P) are x and y-coordinate of elliptic curve points. This higher multiplicity challenge will reduce the number of multiplications in an arithmetic circuit and the length of the challenge. 

To prove Pi=O by sending all the points, the arithmetic circuit needs to implement n1 elliptic curve additions, which requires 14(n1) field multiplications in general. But for higher multiplicity challenges, the circuit requires only n+1 multiplications while it needs more commitments.


Inner product version

Now, let's reduce more if there is a lot of repetition of points. That is, the prover wants to show

i=0n1eiPi=Q.

First, calculate (3)-adic representation of ei. We have unique dij{1,0,1} such that

ei=j=0ldij(3)j

and divide ei into ai and bi such that ei=aibi, namely,

ai=j=0l|dij|+dij2(3)j,   bi=j=0l|dij|dij2(3)j

From here, all the summations without range run over 0in1. Define

Ql1=di,l1PiQl2=(di,l1(3)+di,l2)PiQl3=(di,l1(3)2+di,l2(3)+di,l3)PiQ1=(di,l1(3)l2++di,1)PiQ0=eiPi=Q

Then, choose fjF(E) such that

div(fl1)=[di,l1Pi]+[Ql1]Nl1[O]div(fl2)=[di,l2Pi]+[Ql2]+3[Ql1]Nl2[O]div(fl3)=[di,l3Pi]+[Ql3]+3[Ql2]Nl3[O]div(f1)=[di,1Pi]+[Q1]+3[Q2]N1[O]div(f0)=[di,0Pi]+[Q]+3[Q1]N0[O]

for some NjN which makes divDiv0(E). Then, we have

div(f0f1(3)fl1(3)l1)=[Q]+ai[Pi]+bi[Pi]N[O]

By the previous log derivations on the Weil reciprocity for f0f1(3)fl1(3)l1, we have

j=0l1(3)ji=02fj(Ai)fj(Ai)dx(Ai)dμ=T(Q)+i=0n1aiT(Pi)+biT(Pi)

where

T(P)=1l(P){1 if A0A1x(A0)x(P)if A0=A1

댓글