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) be prime, E:y2=x3+x over Fp, Fp2=Fp(i) with i2=−1, and ψ(x,y)=(−x,iy). Let P∈E(Fp) have odd order n and Q∈E(Fp). 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 and m with μm⊆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 is bilinear.
(T2) It is non-degenerate: if S∈E(F)[m] and t^m(S,R)=1 for all R∈E(F), then S=O.
(T3) If m∣N and both μm,μN⊆F∗, then t^m(S,R)=t^N(S,R) for S∈E(F)[m] (Galbraith, Exercise 26.3.8).
(T4) For T0∈E(Fp) of order m with m∣p+1 and R∈E(Fp2)∖E(Fp), the reduced pairing over F=Fp2 equals fm,T0(R)(p2−1)/m, where fm,T0 is any function over Fp with divisor m(T0)−m(O) (Galbraith, Lemma 26.3.11, whose argument works for any m prime to p as noted there after Granger, Hess, Oyono, Thériault and Vercauteren).
(T5) Miller's construction: if fk has divisor k(T0)−(kT0)−(k−1)(O), then f2k=fk2ℓkT0,kT0/v2kT0 and fk+1=fkℓkT0,T0/v(k+1)T0, where ℓ is the line through the two points and vS=x−xS is the vertical line through S, with vO=1; if kT0=−T0, the line ℓkT0,T0 is vT0 itself. Then fm has divisor m(T0)−m(O).
Lemma 1 (the group).#E(Fp)=p+1, E(Fp) is cyclic, and E(Fp)[2]={O,(0,0)}.
Proof. Since p≡3(mod4), −1 is not a square modulo p, so x2+1 has no root and x3+x=0 only for x=0. The map x↦−x sends x3+x to −(x3+x), so for each pair {x,−x} with x=0 exactly one of the two values is a nonzero square, giving two points. The (p−1)/2 pairs give p−1 points, and with (0,0) and O there are p+1. The 2-torsion consists of O and the points with y=0, which is only (0,0). Write E(Fp)≅Z/n1×Z/n2 with n1∣n2. If n1>1, a prime r∣n1 would give E[r]⊆E(Fp), and the Weil pairing then puts μr in Fp, so r∣p−1; also r∣p+1, so r=2, but E(Fp)[2] has only two elements. So n1=1. □
Lemma 2 (membership). Line L1 returns NONE exactly when Q∈/⟨P⟩, and line L2 is correct.
Proof. A cyclic group has exactly one subgroup of each order dividing its order, and {S:nS=O} is the subgroup of order n, so it equals ⟨P⟩. If Q=O then x=0. □
From now on Q=x∗P with 0<x∗<n, so n≥3, and d=ord(Q) divides n and is odd.
Lemma 3 (the helper point). The point R=ψ(R0) of line L4 lies on E, is not in E(Fp), and every line value in TATE is a nonzero element of Fp2, while every vertical line value xR−xS with S∈E(Fp) lies in Fp∗.
Proof.(iy0)2=−y02=−(x03+x0)=(−x0)3+(−x0), so R∈E(Fp2), and iy0∈/Fp since y0=0. For T∈E(Fp) and a slope λ∈Fp, ℓ(R)=iy0−yT−λ(−x0−xT) has imaginary part y0=0. If xR=xS for S=(xS,yS)∈E(Fp), then yS2=xS3+xS=(iy0)2=−y02, which forces −1 to be a square or y0=0; neither holds, so xR−xS∈Fp∗. □
Lemma 4 (TATE). For T0∈E(Fp) of odd order m≥3 with m∣p+1, and R as in line L4, TATE(T0,R,m)=t^m(T0,R), the reduced pairing over Fp2.
Proof. After processing the binary prefix k of m, the loop of lines L10 to L12 keeps T=kT0 and f=ckfk(R) for a constant ck∈Fp∗, with fk as in (T5). Initially k=1, f1=1. A doubling at line L11 multiplies by ℓT,T(R) and omits v2T(R)−1, and an addition at line L12 multiplies by ℓT,T0(R) and omits vT+T0(R)−1. By Lemma 3 every omitted factor lies in Fp∗. Every prefix k before the last step satisfies 1≤k<m, so kT0=O; since m is odd, kT0 is not (0,0), so the tangent at T is not vertical and 2T=O. An addition at an intermediate step has T=kT0 with 2≤k<m−1, so T=±T0 and the chord has a slope. The only vertical chord is at the last step, where k=m−1 and T=−T0; by (T5) its line is vT0, also in Fp∗ at R, and line L12 omits it. So before line L13, f=cfm(R) with c∈Fp∗ and fm of divisor m(T0)−m(O). The exponent (p2−1)/m=(p−1)(p+1)/m is a multiple of p−1, so c(p2−1)/m=1, and by (T4) the result is t^m(T0,R). □
Lemma 5 (soundness). If line L5 accepts, then lines L6 to L8 return x∗.
Proof. Since n∣p+1∣p2−1, μn⊆Fp2∗, and similarly for d. By Lemma 4 and (T3), β=t^d(Q,R)=t^n(Q,R), and by (T1), t^n(x∗P,R)=t^n(P,R)x∗=αx∗. Line L5 accepts only if αn/r=1 for every prime r∣n; since αn=1, α has order exactly n. The equation αx=β then has the unique solution x∗ in [0,n), which baby-step giant-step finds. □
Lemma 6 (each trial succeeds with positive probability). Let χ(R0)=t^n(P,ψ(R0)) for R0∈E(Fp). Then χ is a homomorphism from E(Fp) onto μn, and one trial of lines L4 and L5 accepts with probability at least φ(n)/n.
Proof.ψ is a homomorphism, since it is an isomorphism of curves over Fp2 fixing O (it maps y2=x3+x to itself), so χ is a homomorphism by (T1). Let π be the p-power Frobenius on E(Fp2), so π2=1 there. A point (x,y) satisfies π(x,y)=−(x,y) exactly when x∈Fp and yp=−y, that is y∈iFp; writing y=iy1, the equation gives y12=(−x)3+(−x), so ker(π+1)=ψ(E(Fp)), and ker(π−1)=E(Fp).
For S∈E(Fp), t^n(P,S)=1: computing the pairing with a divisor equivalent to (S)−(O) defined over Fp, the value before the final exponentiation lies in Fp∗, and the exponent (p2−1)/n is a multiple of p−1. Now let S∈E(Fp2) be arbitrary and let u be an integer with 2u≡1(modn), which exists because n is odd. Then S−2uS=(1−2u)S∈nE(Fp2), and 2uS=u(S+πS)+u(S−πS) with u(S+πS)∈ker(π−1) and u(S−πS)∈ker(π+1). Since t^n(P,⋅) is a homomorphism that is trivial on nE(Fp2) and on E(Fp), t^n(P,S)=t^n(P,u(S−πS)), which lies in χ(E(Fp)). So the image of χ equals the image of t^n(P,⋅) on all of E(Fp2).
If that image were a proper subgroup of the cyclic group μn, it would lie in μn/r for some prime r∣n, and then t^n((n/r)P,S)=t^n(P,S)n/r=1 for every S, so (n/r)P=O by (T2), contradicting ord(P)=n. So χ is onto μn, and its kernel K has (p+1)/n elements.
Line L4 draws R0 uniformly from E(Fp)∖{O,(0,0)}: x0 is uniform, the draw is kept when x03+x0 is a nonzero square, and the sign of y0 is uniform, so every affine point with y0=0 has the same probability. Both excluded points lie in K: χ(O)=1, and χ((0,0)) has order dividing 2 and n, so it is 1. Each element of μn of order exactly n has ∣K∣ preimages, none excluded, so the probability of acceptance is φ(n)∣K∣/(p−1)≥φ(n)∣K∣/(p+1)=φ(n)/n. □
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, so the loop ends with probability 1 after an expected at most n/φ(n) trials. The inner loops are finite: drawing R0 succeeds with probability about 1/2 per attempt, TATE runs ⌊log2m⌋ iterations, and baby-step giant-step runs O(n) steps.
Conclusion. By Lemma 2 the algorithm returns NONE exactly when Q∈/⟨P⟩ and returns 0 for Q=O; otherwise, by Lemmas 5 and 6, it returns x∗ with probability 1. ■