In
encryption techniques using an elliptic curve, in order to use a homogeneous coordinate
system [X, Y, Z], a high speed [X1, Y1, Z1, (Z1)2, (Z1)3] for the addition and a high speed [X1, Y1, Z1] for the doubling the following schemes are provided: (1) Addition is executed by [X3, Y3, Z3]=[X1, Y1, Z1, (Z1)2, (Z1)3]+[X2, Y2, Z2]. (2) Doubling is executed by a conventional [X3, Y3, Z3]=2[X1, Y1, Z1] and an addition operation is executed by [X3, Y3, Z3]=[X1, Y1, Z1, (Z1)2, (Z1)3]+[X2, Y2, Z2]. It is also required to speed up the multiplication
modulo operation. The Montgomery multiplication
modulo operation is speeded up by using the following forms of the definition order (prime): (3) the multiplication
modulo operation is executed at high speed by using a prime having a form of p=Abn+B where 0<A<2w, 0<B<2w, b=2w; and w, A, b, n and B are positive integers.