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.

Theorem 25. Let two plain texts m1, m2 satisfy m2 = am1 + b. Suppose this<br />

two plain texts are encrypted with the public key < 3, N >. Then, knowing the<br />

corresponding cypher texts c1, c2, a, b, N and e = 3, it is possible to compute m1<br />

(and therefore m2) in time polynomial in log(N)<br />

Proof. Knowing c1, c2, a, b, e, N we compute:<br />

b(c2 + 2a3c1 − b3 )<br />

a(c2 − a3c1 + 2b3 ) ∼ = m1(3a3bm2 1 + 3a2b2m1 + 3ab3 )<br />

3a3bm2 1 + 3a2b2m1 + 3ab3 ∼ = m1 (mod N) (51)<br />

All calculations are done in time polynomial in log(N), so we have the required<br />

result.<br />

It becomes clear that, when using public exponent e = 3, we cannot send<br />

messages linearly related.<br />

3.3.3 Random Padding Attack<br />

As it was shown before, plain RSA without a prior padding scheme has been<br />

proven to be insecure. So, when implementing RSA, it is mandatory to pad the<br />

messages before encryption, that is, to transform the plain text m in the plain<br />

text m ′ = m+b where b is usually a random number with some special structure<br />

(for example, number of bits). This procedure needs special attention. When<br />

the public exponent is e = 3 and the absolute value of b sufficiently small, an<br />

attack by Coppersmith [9] allows for the recovery of the plain text.<br />

Theorem 26. Let < 3, N > be a public key. Suppose two plain texts m1, m2<br />

satisfying m2 = m1 + b are encrypted with the public key < 3, N >. Knowing<br />

the two cypher texts c1 ∼ = m 3 1 (mod N) , c2 ∼ = m 3 2 (mod N) and the public key<br />

< 3, N >, if |b| < N 1<br />

9 , it is possible to compute m1 and m2 in time polynomial<br />

in log(N).<br />

Proof. We have that m 3 1 − c1 ∼ = 0 (mod N) and (m1 + b) 3 − c2 ∼ = 0 (mod N).<br />

Now lets calculate the resultant, taking this two expressions as polynomials in<br />

b:<br />

Resultantm1 (m3 1 − c1, m1 + b) 3 − c2) ∼ =<br />

∼= b 9 + (3c1 − 3c2)b 6 + (3c 2 1 + 21c1c2 + 3c 2 2)b 3 + (c1 − c2) 3 (mod N)<br />

∼= 0 (mod N)<br />

44

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

Saved successfully!

Ooh no, something went wrong!