1 Montgomery Modular Multiplication in Hard- ware
1 Montgomery Modular Multiplication in Hard- ware
1 Montgomery Modular Multiplication in Hard- ware
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
FEI KEMT<br />
3.3.2 ECM Algorithm<br />
In 1987, H. Lenstra came up with the idea of translat<strong>in</strong>g Pollard’s method from<br />
the groups Gp and Gn to the groups of po<strong>in</strong>ts on elliptic curves E modulo n and<br />
modulo q [82]. Indeed, a group operation <strong>in</strong> E(Zn) can be def<strong>in</strong>ed by us<strong>in</strong>g the<br />
given addition formulae [32].<br />
The correspond<strong>in</strong>g homomorphism φ to the one def<strong>in</strong>ed <strong>in</strong> Equation 3.2 is:<br />
φ : E(Zn) → E(Zq) (reduction of coord<strong>in</strong>ates modulo q) (3.3)<br />
The exponentiation <strong>in</strong> Pollard’s (p−1) method is replaced by a po<strong>in</strong>t multiplication.<br />
Let n be an <strong>in</strong>teger without small prime factors which is divisible by at least two<br />
different primes, one of them q. Such numbers appear after trial division and a quick<br />
prime power test. Let E(Zn) be an elliptic curve with good reduction at all prime<br />
divisors of n (this can be checked by calculat<strong>in</strong>g the gcd of n and the discrim<strong>in</strong>ant<br />
of E, which very rarely yields a prime factor of n) and a po<strong>in</strong>t P ∈ E(Zn) �= O.<br />
A factor of n is found if k · P is not equal to the identity element <strong>in</strong> E(Zn) but<br />
k · φ(P ) equals to the identity element <strong>in</strong> E(Zq), i.e.<br />
∀k1 ∈ N : k �= k1 · ordE(Zn)(P ),<br />
∃k2 ∈ N : k = k2 · ordE(Zq)(φ(P )).<br />
Let the elliptic curve E be def<strong>in</strong>ed by the homogeneous Weierstrass Equation:<br />
y 2 z = x 3 + axz 2 + bz 3<br />
(3.4)<br />
In this case, above conditions yield two properties for the z-coord<strong>in</strong>ate zQ of the<br />
result<strong>in</strong>g po<strong>in</strong>t Q = k · P :<br />
k �= k1 · ordE(Zn)(P ) ⇐ n ∤ zQ<br />
k = k2 · ordE(Zq)(φ(P )) ⇐ q | zQ.<br />
Under these conditions, a non-trivial factor d of n is obta<strong>in</strong>ed by d = gcd(zQ, n).<br />
With the assumption that the order of P is B1-smooth and does not conta<strong>in</strong><br />
any prime power larger than B2, the scalar k is computed <strong>in</strong> the same way as e <strong>in</strong><br />
Equation 3.1 as<br />
k =<br />
�<br />
pi∈P,pi≤B1<br />
p ep i<br />
i , epi = max{r ∈ N : pr i ≤ B2} . (3.5)<br />
49