14.07.2013 Views

dissertacao.pdf

dissertacao.pdf

dissertacao.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

the integers to find out m. All computations can be done in time polynomial in<br />

log (N).<br />

The implementation of this attack is presented in the appendix. Table 4<br />

contains the experimental results:<br />

Table 4: Common Plain text Attack’s Experimental Results<br />

size of N (in bits) time to compute m (seconds)<br />

16 0.000169<br />

32 0.000051<br />

64 0.000049<br />

128 0.000049<br />

256 0.000052<br />

512 0.000062<br />

1024 0.000066<br />

2048 0.000095<br />

4096 0.000097<br />

Another attack, known as the Related Plain text Attack, allows for the en-<br />

crypted messages to be different but related by known polynomials, and requires<br />

a larger number of messages to be encrypted. The result, due to Bleichenbacher<br />

[17], is as follows:<br />

Theorem 22. Given the public keys < e1, N1 >, < e2, N2 >, ..., < ek, Nk ><br />

where the modulus are pairwise co-prime, and f1(x) ∈ ZN1 [x], ..., fk(x) ∈ ZNk [x],<br />

set N0 = min{N1, N2, ..., Nk} and N = k<br />

i=1 Ni. For a plain text m < N0, if<br />

k ≥ maxi{eideg(fi(x))} then given ci = fi(m) (mod Ni) and < ei, Ni > for<br />

i = 1, 2, ..., k, the plain text m can be computed in time polynomial in log N and<br />

maxi{eideg(fi(x))}.<br />

Proof. We can suppose all fi(x) are monic. If not, we just need to multiply<br />

them for the inverse of the leading coefficient. If this inverse does not exist for<br />

fj(x), we find a factor of Nj and from cj we find m.<br />

Set δ = maxi{eideg(fi(x))} and also hi = δ − deg(fi(x) ei ) for i = 1, ..., k.<br />

Now we define the k monic polynomials of degree δ:<br />

gi(x) = x hi (fi(x) ei − ci) ∈ ZNi<br />

37<br />

, for i = 1, ..., k (43)

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

Saved successfully!

Ooh no, something went wrong!