14.07.2013 Views

dissertacao.pdf

dissertacao.pdf

dissertacao.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

There is a lot of efficient ways to compute the Resultant of two polynomials.<br />

One property of the resultant which will be useful for an attack in Chapter 3 is<br />

that its application allows for the elimination of one variable from a system of<br />

two polynomial equations[45].<br />

To calculate (a, b) we can use the Extended Euclidean Algorithm, which<br />

runs in time linear in the size of a and b and outputs also integers x, y such that<br />

xa + yb = (a, b). We present it now:<br />

Algorithm 2. (Extended Euclidean Algorithm): Given two integers a > b,<br />

in step k = 0 we set r−2 = a, r−1 = b, x0 = y0 = 0, x1 = y1 = 1 and<br />

compute r0 : r−2 = q1 ∗ r−1 + r0, where q1 = ⌊ r−2<br />

⌋. In step k = i, we<br />

compute ri : ri−2 = qi ∗ ri−1 + ri, where qi = ⌊ ri−2<br />

⌋. Then we compute<br />

r−1<br />

ri−1<br />

xi = xi−2 − qi−1xi−1 and yi = yi−2 − qi−1yi−1 if qi−1 is defined.<br />

The algorithm stops at step k = l if rl = 0 and outputs (a, b) = rl−1 and<br />

also xl−2 and yl−2 which satisfy xl−2a + yl−2b = (a, b).<br />

Some properties of Euler’s Totient function, φ(N), and Carmichael’s<br />

Lambda Function, λ(N), are particularly relevant for RSA analysis:<br />

Theorem 2. If p, q are two different prime integers and N = pq we have:<br />

1. φ(p) = p − 1<br />

2. φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1)<br />

3. λ(N) = lcm(p − 1, q − 1) = (p−1)(q−1)<br />

(p−1,q−1)<br />

= φ(N)<br />

(p−1,q−1)<br />

We are now in position to present Euler’s Theorem.<br />

Theorem 3. (Euler’s Theorem): If a and N are co-prime positive integers<br />

then:<br />

a φ(N) ∼ = 1 (mod N) (15)<br />

Proof. Let m1, m2, ..., m φ(N) be the positive integers co-prime to and less than<br />

N. These numbers are all distinct modulo N and a is co-prime to N, so each<br />

of the integers am1, am2, ..., am φ(N) is congruent to one of m1, m2, ..., m φ(N).<br />

Because congruences preserve multiplicity, we have:<br />

am1am2...am φ(N) ∼ = m1m2...m φ(N) (mod N) ⇔ (16)<br />

m1m2...m φ(N)a φ(N) ∼ = m1m2...m φ(N) (mod N) (17)<br />

Diving both sides by m1m2...m φ(N) we get the equality.<br />

11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!