06.11.2014 Views

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

ANALISI DEL PROTOCOLLO SRP (SECURE REMOTE PASSWORD)

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.

e che gode delle seguenti proprietà:<br />

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

2. se p ∈ P =⇒ φ(p) = (p − 1)<br />

3. se p ∈ P =⇒ φ(p n ) = (p n − p n−1 ) = p n (1 − 1 p )<br />

4. se (m,n) = 1 =⇒ φ(mn) = φ(m)φ(n)<br />

Teorema 2.1 (di Eulero - s.d.) Dati a ∈ Z e n ≥ 1<br />

tali che siano relativamente primi tra loro, cioè<br />

si ha che<br />

□<br />

(a,n) = 1<br />

a φ(n) ≡ n 1 (1)<br />

Definizione 2 (Radice primitiva) Siano α , n ∈ N<br />

tali che (α,n) = 1, si definisce come ordine di α<br />

modulo n la seguente quantità<br />

ord n (α) = min{i > 0 | α i ≡ n 1}<br />

Dal teorema di Eulero avremo necessariamente<br />

che<br />

ord n (α) ≤ φ(n)<br />

Allora si dirà che α è radice primitiva di n se vale<br />

che<br />

ord n (α) = φ(n) (2)<br />

In generale si ha che vale il seguente risultato<br />

Teorema 2.2 (Forma delle radici primitive - s.d.)<br />

Un numero n ha radici primitive se e solo se è nella<br />

forma<br />

dove<br />

□<br />

2 , 4 , p α , 2p α<br />

p ∈ P , p > 2 , α > 1<br />

Consideriamo adesso un certo α radice primitiva di n.<br />

Per quanto appena visto vale che<br />

(α,n) = 1<br />

ma dalla teoria dei numeri sappiamo che in questo<br />

caso esiste un unico<br />

α −1 mod n<br />

Dati quindi i seguenti valori<br />

α 1 , α 2 , ... , α φ(n)<br />

valgono le seguenti considerazioni:<br />

• i valori elencati sono tutti diversi tra loro (modulo<br />

n)<br />

• i valori elencati sono tutti relativamente primi con<br />

n, poichè già vale che (α,n) = 1. Di conseguenza<br />

questo varrà anche modulo n e che quindi<br />

{α 1 mod n , α 2 mod n , ... , α φ(n) mod n} = Z ∗ p<br />

Basandoci sulle precedenti considerazioni si<br />

introduce la seguente<br />

Definizione 3 Sia p ∈ P e α radice primitiva di p, si<br />

definiscono le seguenti funzioni<br />

dove<br />

exp α,p : Z ∗ p → Z ∗ p , ind α,p : Z ∗ p → Z ∗ p<br />

exp α,p (i) = (α i mod p) (3)<br />

è detta esponenziazione discreta. Mentre<br />

ind α,p (a) = min{i > 0 | α i mod p = a} (4)<br />

è detto logaritmo discreto.<br />

Concludendo abbiamo che la funzione di esponenziazione<br />

è biettiva e risulta che<br />

ind α,p = exp −1<br />

α,p<br />

2.1.1 One-wayness della esponenziazione<br />

discreta<br />

La funzione di esponenziazione discreta è supposta<br />

essere di tipo one-way e quindi il calcolo di ind α,p (n)<br />

con p molto grande non è computazionalmente praticabile.<br />

Infatti, uno dei modi per ottenere il logaritmo<br />

discreto è quello di provare tutte le potenze di α finchè<br />

non si trova l’esponente giusto, ma con numeri grandi<br />

questo richiede molte risorse di calcolo. Esistono anche<br />

strategie più sofisticate ed efficienti, come il Pollard’s<br />

rho method [13] che comunque si vanificano<br />

con adeguate grandezze di p.<br />

Esempio<br />

Supponiamo sia dato<br />

ind 2,19 (9) = h<br />

e che si voglia ottenere h procedendo per tentativi.<br />

Dalla definizione avremo che<br />

h = min{i > 0 | 2 i mod 19 = 9}<br />

2

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

Saved successfully!

Ooh no, something went wrong!