Algorithm Search⌘K

Proofs: MOV reduction

These are the human proofs of MOV reduction, at full length.

Correctness of the MOV reduction full

This proof shows: correctness, termination.

Let p≡3(mod4)p \equiv 3 \pmod 4 be prime, E:y2=x3+xE : y^2 = x^3 + x over Fp\mathbb{F}_p, Fp2=Fp(i)\mathbb{F}_{p^2} = \mathbb{F}_p(i) with i2=−1i^2 = -1, and ψ(x,y)=(−x,iy)\psi(x, y) = (-x, iy). Let P∈E(Fp)P \in E(\mathbb{F}_p) have odd order nn and Q∈E(Fp)Q \in E(\mathbb{F}_p). For termination we treat the choices of line L4 as independent. We use the following standard facts about the Tate pairing, for an elliptic curve over a finite field F\mathbb{F} and mm with μm⊆F∗\mu_m \subseteq \mathbb{F}^* (Galbraith, Theorem 26.3.3 and Section 26.3.1, and Frey and Rück for non-degeneracy).

  • (T1) The reduced pairing t^m:E(F)[m]×E(F)/mE(F)→μm\hat t_m : E(\mathbb{F})[m] \times E(\mathbb{F})/mE(\mathbb{F}) \to \mu_m is bilinear.
  • (T2) It is non-degenerate: if S∈E(F)[m]S \in E(\mathbb{F})[m] and t^m(S,R)=1\hat t_m(S, R) = 1 for all R∈E(F)R \in E(\mathbb{F}), then S=OS = O.
  • (T3) If m∣Nm \mid N and both μm,μN⊆F∗\mu_m, \mu_N \subseteq \mathbb{F}^*, then t^m(S,R)=t^N(S,R)\hat t_m(S, R) = \hat t_N(S, R) for S∈E(F)[m]S \in E(\mathbb{F})[m] (Galbraith, Exercise 26.3.8).
  • (T4) For T0∈E(Fp)T_0 \in E(\mathbb{F}_p) of order mm with m∣p+1m \mid p + 1 and R∈E(Fp2)∖E(Fp)R \in E(\mathbb{F}_{p^2}) \setminus E(\mathbb{F}_p), the reduced pairing over F=Fp2\mathbb{F} = \mathbb{F}_{p^2} equals fm,T0(R)(p2−1)/mf_{m, T_0}(R)^{(p^2 - 1)/m}, where fm,T0f_{m, T_0} is any function over Fp\mathbb{F}_p with divisor m(T0)−m(O)m(T_0) - m(O) (Galbraith, Lemma 26.3.11, whose argument works for any mm prime to pp as noted there after Granger, Hess, Oyono, Thériault and Vercauteren).
  • (T5) Miller's construction: if fkf_k has divisor k(T0)−(kT0)−(k−1)(O)k(T_0) - (kT_0) - (k - 1)(O), then f2k=fk2 ℓkT0,kT0/v2kT0f_{2k} = f_k^2 \, \ell_{kT_0, kT_0} / v_{2kT_0} and fk+1=fk ℓkT0,T0/v(k+1)T0f_{k + 1} = f_k \, \ell_{kT_0, T_0} / v_{(k + 1)T_0}, where ℓ\ell is the line through the two points and vS=x−xSv_S = x - x_S is the vertical line through SS, with vO=1v_O = 1; if kT0=−T0kT_0 = -T_0, the line ℓkT0,T0\ell_{kT_0, T_0} is vT0v_{T_0} itself. Then fmf_m has divisor m(T0)−m(O)m(T_0) - m(O).

Lemma 1 (the group). #E(Fp)=p+1\#E(\mathbb{F}_p) = p + 1, E(Fp)E(\mathbb{F}_p) is cyclic, and E(Fp)[2]={O,(0,0)}E(\mathbb{F}_p)[2] = \{O, (0, 0)\}.

Proof. Since p≡3(mod4)p \equiv 3 \pmod 4, −1-1 is not a square modulo pp, so x2+1x^2 + 1 has no root and x3+x=0x^3 + x = 0 only for x=0x = 0. The map x↦−xx \mapsto -x sends x3+xx^3 + x to −(x3+x)-(x^3 + x), so for each pair {x,−x}\{x, -x\} with x≠0x \ne 0 exactly one of the two values is a nonzero square, giving two points. The (p−1)/2(p - 1)/2 pairs give p−1p - 1 points, and with (0,0)(0, 0) and OO there are p+1p + 1. The 22-torsion consists of OO and the points with y=0y = 0, which is only (0,0)(0, 0). Write E(Fp)≅Z/n1×Z/n2E(\mathbb{F}_p) \cong \mathbb{Z}/n_1 \times \mathbb{Z}/n_2 with n1∣n2n_1 \mid n_2. If n1>1n_1 > 1, a prime r∣n1r \mid n_1 would give E[r]⊆E(Fp)E[r] \subseteq E(\mathbb{F}_p), and the Weil pairing then puts μr\mu_r in Fp\mathbb{F}_p, so r∣p−1r \mid p - 1; also r∣p+1r \mid p + 1, so r=2r = 2, but E(Fp)[2]E(\mathbb{F}_p)[2] has only two elements. So n1=1n_1 = 1. □\square

Lemma 2 (membership). Line L1 returns NONE exactly when Q∉⟨P⟩Q \notin \langle P \rangle, and line L2 is correct.

Proof. A cyclic group has exactly one subgroup of each order dividing its order, and {S:nS=O}\{S : nS = O\} is the subgroup of order nn, so it equals ⟨P⟩\langle P \rangle. If Q=OQ = O then x=0x = 0. □\square

From now on Q=x∗PQ = x^* P with 0<x∗<n0 < x^* < n, so n≥3n \ge 3, and d=ord⁡(Q)d = \operatorname{ord}(Q) divides nn and is odd.

Lemma 3 (the helper point). The point R=ψ(R0)R = \psi(R_0) of line L4 lies on EE, is not in E(Fp)E(\mathbb{F}_p), and every line value in TATE is a nonzero element of Fp2\mathbb{F}_{p^2}, while every vertical line value xR−xSx_R - x_S with S∈E(Fp)S \in E(\mathbb{F}_p) lies in Fp∗\mathbb{F}_p^*.

Proof. (iy0)2=−y02=−(x03+x0)=(−x0)3+(−x0)(iy_0)^2 = -y_0^2 = -(x_0^3 + x_0) = (-x_0)^3 + (-x_0), so R∈E(Fp2)R \in E(\mathbb{F}_{p^2}), and iy0∉Fpiy_0 \notin \mathbb{F}_p since y0≠0y_0 \ne 0. For T∈E(Fp)T \in E(\mathbb{F}_p) and a slope λ∈Fp\lambda \in \mathbb{F}_p, ℓ(R)=iy0−yT−λ(−x0−xT)\ell(R) = iy_0 - y_T - \lambda(-x_0 - x_T) has imaginary part y0≠0y_0 \ne 0. If xR=xSx_R = x_S for S=(xS,yS)∈E(Fp)S = (x_S, y_S) \in E(\mathbb{F}_p), then yS2=xS3+xS=(iy0)2=−y02y_S^2 = x_S^3 + x_S = (iy_0)^2 = -y_0^2, which forces −1-1 to be a square or y0=0y_0 = 0; neither holds, so xR−xS∈Fp∗x_R - x_S \in \mathbb{F}_p^*. □\square

Lemma 4 (TATE). For T0∈E(Fp)T_0 \in E(\mathbb{F}_p) of odd order m≥3m \ge 3 with m∣p+1m \mid p + 1, and RR as in line L4, TATE(T0,R,m)=t^m(T0,R)(T_0, R, m) = \hat t_m(T_0, R), the reduced pairing over Fp2\mathbb{F}_{p^2}.

Proof. After processing the binary prefix kk of mm, the loop of lines L10 to L12 keeps T=kT0T = kT_0 and f=ckfk(R)f = c_k f_k(R) for a constant ck∈Fp∗c_k \in \mathbb{F}_p^*, with fkf_k as in (T5). Initially k=1k = 1, f1=1f_1 = 1. A doubling at line L11 multiplies by ℓT,T(R)\ell_{T,T}(R) and omits v2T(R)−1v_{2T}(R)^{-1}, and an addition at line L12 multiplies by ℓT,T0(R)\ell_{T, T_0}(R) and omits vT+T0(R)−1v_{T + T_0}(R)^{-1}. By Lemma 3 every omitted factor lies in Fp∗\mathbb{F}_p^*. Every prefix kk before the last step satisfies 1≤k<m1 \le k < m, so kT0≠OkT_0 \ne O; since mm is odd, kT0kT_0 is not (0,0)(0, 0), so the tangent at TT is not vertical and 2T≠O2T \ne O. An addition at an intermediate step has T=kT0T = kT_0 with 2≤k<m−12 \le k < m - 1, so T≠±T0T \ne \pm T_0 and the chord has a slope. The only vertical chord is at the last step, where k=m−1k = m - 1 and T=−T0T = -T_0; by (T5) its line is vT0v_{T_0}, also in Fp∗\mathbb{F}_p^* at RR, and line L12 omits it. So before line L13, f=c fm(R)f = c \, f_m(R) with c∈Fp∗c \in \mathbb{F}_p^* and fmf_m of divisor m(T0)−m(O)m(T_0) - m(O). The exponent (p2−1)/m=(p−1)(p+1)/m(p^2 - 1)/m = (p - 1)(p + 1)/m is a multiple of p−1p - 1, so c(p2−1)/m=1c^{(p^2 - 1)/m} = 1, and by (T4) the result is t^m(T0,R)\hat t_m(T_0, R). □\square

Lemma 5 (soundness). If line L5 accepts, then lines L6 to L8 return x∗x^*.

Proof. Since n∣p+1∣p2−1n \mid p + 1 \mid p^2 - 1, μn⊆Fp2∗\mu_n \subseteq \mathbb{F}_{p^2}^*, and similarly for dd. By Lemma 4 and (T3), β=t^d(Q,R)=t^n(Q,R)\beta = \hat t_d(Q, R) = \hat t_n(Q, R), and by (T1), t^n(x∗P,R)=t^n(P,R)x∗=αx∗\hat t_n(x^* P, R) = \hat t_n(P, R)^{x^*} = \alpha^{x^*}. Line L5 accepts only if αn/r≠1\alpha^{n/r} \ne 1 for every prime r∣nr \mid n; since αn=1\alpha^n = 1, α\alpha has order exactly nn. The equation αx=β\alpha^x = \beta then has the unique solution x∗x^* in [0,n)[0, n), which baby-step giant-step finds. □\square

Lemma 6 (each trial succeeds with positive probability). Let χ(R0)=t^n(P,ψ(R0))\chi(R_0) = \hat t_n(P, \psi(R_0)) for R0∈E(Fp)R_0 \in E(\mathbb{F}_p). Then χ\chi is a homomorphism from E(Fp)E(\mathbb{F}_p) onto μn\mu_n, and one trial of lines L4 and L5 accepts with probability at least φ(n)/n\varphi(n)/n.

Proof. ψ\psi is a homomorphism, since it is an isomorphism of curves over Fp2\mathbb{F}_{p^2} fixing OO (it maps y2=x3+xy^2 = x^3 + x to itself), so χ\chi is a homomorphism by (T1). Let π\pi be the pp-power Frobenius on E(Fp2)E(\mathbb{F}_{p^2}), so π2=1\pi^2 = 1 there. A point (x,y)(x, y) satisfies π(x,y)=−(x,y)\pi(x, y) = -(x, y) exactly when x∈Fpx \in \mathbb{F}_p and yp=−yy^p = -y, that is y∈iFpy \in i \mathbb{F}_p; writing y=iy1y = iy_1, the equation gives y12=(−x)3+(−x)y_1^2 = (-x)^3 + (-x), so ker⁡(π+1)=ψ(E(Fp))\ker(\pi + 1) = \psi(E(\mathbb{F}_p)), and ker⁡(π−1)=E(Fp)\ker(\pi - 1) = E(\mathbb{F}_p).

For S∈E(Fp)S \in E(\mathbb{F}_p), t^n(P,S)=1\hat t_n(P, S) = 1: computing the pairing with a divisor equivalent to (S)−(O)(S) - (O) defined over Fp\mathbb{F}_p, the value before the final exponentiation lies in Fp∗\mathbb{F}_p^*, and the exponent (p2−1)/n(p^2 - 1)/n is a multiple of p−1p - 1. Now let S∈E(Fp2)S \in E(\mathbb{F}_{p^2}) be arbitrary and let uu be an integer with 2u≡1(modn)2u \equiv 1 \pmod n, which exists because nn is odd. Then S−2uS=(1−2u)S∈nE(Fp2)S - 2uS = (1 - 2u)S \in nE(\mathbb{F}_{p^2}), and 2uS=u(S+πS)+u(S−πS)2uS = u(S + \pi S) + u(S - \pi S) with u(S+πS)∈ker⁡(π−1)u(S + \pi S) \in \ker(\pi - 1) and u(S−πS)∈ker⁡(π+1)u(S - \pi S) \in \ker(\pi + 1). Since t^n(P,⋅)\hat t_n(P, \cdot) is a homomorphism that is trivial on nE(Fp2)nE(\mathbb{F}_{p^2}) and on E(Fp)E(\mathbb{F}_p), t^n(P,S)=t^n(P,u(S−πS))\hat t_n(P, S) = \hat t_n(P, u(S - \pi S)), which lies in χ(E(Fp))\chi(E(\mathbb{F}_p)). So the image of χ\chi equals the image of t^n(P,⋅)\hat t_n(P, \cdot) on all of E(Fp2)E(\mathbb{F}_{p^2}).

If that image were a proper subgroup of the cyclic group μn\mu_n, it would lie in μn/r\mu_{n/r} for some prime r∣nr \mid n, and then t^n((n/r)P,S)=t^n(P,S)n/r=1\hat t_n((n/r)P, S) = \hat t_n(P, S)^{n/r} = 1 for every SS, so (n/r)P=O(n/r)P = O by (T2), contradicting ord⁡(P)=n\operatorname{ord}(P) = n. So χ\chi is onto μn\mu_n, and its kernel KK has (p+1)/n(p + 1)/n elements.

Line L4 draws R0R_0 uniformly from E(Fp)∖{O,(0,0)}E(\mathbb{F}_p) \setminus \{O, (0, 0)\}: x0x_0 is uniform, the draw is kept when x03+x0x_0^3 + x_0 is a nonzero square, and the sign of y0y_0 is uniform, so every affine point with y0≠0y_0 \ne 0 has the same probability. Both excluded points lie in KK: χ(O)=1\chi(O) = 1, and χ((0,0))\chi((0, 0)) has order dividing 22 and nn, so it is 11. Each element of μn\mu_n of order exactly nn has ∣K∣|K| preimages, none excluded, so the probability of acceptance is φ(n)∣K∣/(p−1)≥φ(n)∣K∣/(p+1)=φ(n)/n\varphi(n)|K| / (p - 1) \ge \varphi(n)|K| / (p + 1) = \varphi(n)/n. □\square

Termination. The loop of lines L4 to L8 ends at the first accepted trial. Trials are independent, and by Lemma 6 each accepts with probability at least φ(n)/n>0\varphi(n)/n > 0, so the loop ends with probability 11 after an expected at most n/φ(n)n/\varphi(n) trials. The inner loops are finite: drawing R0R_0 succeeds with probability about 1/21/2 per attempt, TATE runs ⌊log⁡2m⌋\lfloor \log_2 m \rfloor iterations, and baby-step giant-step runs O(n)O(\sqrt n) steps.

Conclusion. By Lemma 2 the algorithm returns NONE exactly when Q∉⟨P⟩Q \notin \langle P \rangle and returns 00 for Q=OQ = O; otherwise, by Lemmas 5 and 6, it returns x∗x^* with probability 11. ■\blacksquare

Back to MOV reduction