|  |  D.12.3.33 ECPP Procedure from librarycrypto.lib(see  crypto_lib).
 
Example:Usage:
ECPP(N);
Return:
message:N is not prime or {L,P,m,q} as certificate for N being primeL a list (y^2=x^3+L[1]*x+L[2] defines an elliptic curve C)
 P a list ((P[1]:P[2]:P[3]) is a point of C)
 m,q integers
 
Assume:
gcd(N,6)=1
Note:
The basis of the algorithm is the following theorem:
Given C, an elliptic curve over Z/N, P a point of C(Z/N),
m an integer, q a prime with the following properties:
 - q|m
 - q>(4-th root(N) +1)^2
 - m*P=0=(0:1:0)
 - (m/q)*P=(x:y:z) and z a unit in Z/N
 Then N is prime.
 
 |  | LIB "crypto.lib";
bigint N=1267985441;
ECPP(N);
==> P= [1]:
==>    780306204
==> [2]:
==>    1106324420
==> [3]:
==>    1
==> [1]:
==>    [1]:
==>       67394594
==>    [2]:
==>       380636642
==> [2]:
==>    [1]:
==>       780306204
==>    [2]:
==>       1106324420
==>    [3]:
==>       1
==> [3]:
==>    1267993236
==> [4]:
==>    105666103
 | 
 
 |