Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di...

86
Criografia simmetrica (a chiave condivisa)

Transcript of Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di...

Page 1: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 2: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 3: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 4: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave k

chiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 5: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiaro

m

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 6: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?

? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 7: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?

? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 8: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 9: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Una grossa di�icoltà nell’uso di questo sistema risiede nellagestione delle chiavi

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 10: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 11: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 12: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante:

Page 13: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia simmetrica (a chiave condivisa)

Schema di trasmissione con chiave condivisa:

A B

chiave kchiave k

m messaggio in chiarom

messaggio cifrato

fk

? m′ ?? m′ ? ? m′ ?? m′ ?

f−1k

m m

Problema:gestione delle chiavi

servono chiavi lunghe per garantire la sicurezza;

lo scambio è problematico;

ne servono tante: n(n− 1)/2 per n interlocutori.

Page 14: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 15: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 16: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 17: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 18: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 19: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 20: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia asimmetrica (a chiave pubblica)

Schema di trasmissione con chiave pubblica:

A B

m m

? m′ ? ? m′ ?

chiavidi B

{pubblica: csegreta: d

CB DB

Requisiti:

DB è l’inversa di CB

(non stre�amente necessario, se non per l’autenticazione);

dato m, è computazionalmente facile calcolare CB(m);

dato m′, è praticamente impossibile calcolare DB(m′),a meno di non conoscere d .

Page 21: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Aritmetica modulareDati gli interi a e b e l’intero positivo n, si pone a ≡n b o anchea ≡ b (mod n) se e solo se n divide a− b. Ciò equivale dire che a e b hannolo stesso resto nella divisione per n.

Gli interi sono così ripartiti in n classi di resto modulo n:

[0]n, l’insieme dei multipli di n;[1]n, l’insieme degli interi che, divisi per n, hanno resto 1;

...[n− 1]n, l’insieme degli interi che, divisi per n, hanno resto n− 1.

Si ha [i]n = {kn+ i | k ∈ Z}, per ogni i ∈ {0, 1, 2, . . . , n− 1}.

Compatibilità: fissato n, per ogni a, b, c, d ∈ Z vale:( a ≡n bc ≡n d

)=⇒

( a+ c ≡n b + dac ≡n bd

)Ciò perme�e di definire le operazioni di addizione e moltiplicazione tra leclassi di resto, ponendo per ogni a e b: [a]n + [b]n = [a+ b]n e[a]n[b]n = [ab]n. Abbiamo così una “aritmetica modulo n”.

Page 22: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Aritmetica modulareDati gli interi a e b e l’intero positivo n, si pone a ≡n b o anchea ≡ b (mod n) se e solo se n divide a− b. Ciò equivale dire che a e b hannolo stesso resto nella divisione per n.

Gli interi sono così ripartiti in n classi di resto modulo n:

[0]n, l’insieme dei multipli di n;[1]n, l’insieme degli interi che, divisi per n, hanno resto 1;

...[n− 1]n, l’insieme degli interi che, divisi per n, hanno resto n− 1.

Si ha [i]n = {kn+ i | k ∈ Z}, per ogni i ∈ {0, 1, 2, . . . , n− 1}.

Compatibilità: fissato n, per ogni a, b, c, d ∈ Z vale:( a ≡n bc ≡n d

)=⇒

( a+ c ≡n b + dac ≡n bd

)Ciò perme�e di definire le operazioni di addizione e moltiplicazione tra leclassi di resto, ponendo per ogni a e b: [a]n + [b]n = [a+ b]n e[a]n[b]n = [ab]n. Abbiamo così una “aritmetica modulo n”.

Page 23: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Aritmetica modulareDati gli interi a e b e l’intero positivo n, si pone a ≡n b o anchea ≡ b (mod n) se e solo se n divide a− b. Ciò equivale dire che a e b hannolo stesso resto nella divisione per n.

Gli interi sono così ripartiti in n classi di resto modulo n:

[0]n, l’insieme dei multipli di n;[1]n, l’insieme degli interi che, divisi per n, hanno resto 1;

...[n− 1]n, l’insieme degli interi che, divisi per n, hanno resto n− 1.

Si ha [i]n = {kn+ i | k ∈ Z}, per ogni i ∈ {0, 1, 2, . . . , n− 1}.

Compatibilità: fissato n, per ogni a, b, c, d ∈ Z vale:( a ≡n bc ≡n d

)=⇒

( a+ c ≡n b + dac ≡n bd

)Ciò perme�e di definire le operazioni di addizione e moltiplicazione tra leclassi di resto, ponendo per ogni a e b: [a]n + [b]n = [a+ b]n e[a]n[b]n = [ab]n. Abbiamo così una “aritmetica modulo n”.

Page 24: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Aritmetica modulareDati gli interi a e b e l’intero positivo n, si pone a ≡n b o anchea ≡ b (mod n) se e solo se n divide a− b. Ciò equivale dire che a e b hannolo stesso resto nella divisione per n.

Gli interi sono così ripartiti in n classi di resto modulo n:

[0]n, l’insieme dei multipli di n;[1]n, l’insieme degli interi che, divisi per n, hanno resto 1;

...[n− 1]n, l’insieme degli interi che, divisi per n, hanno resto n− 1.

Si ha [i]n = {kn+ i | k ∈ Z}, per ogni i ∈ {0, 1, 2, . . . , n− 1}.

Esempio: Se n = 2 le classi di resto sono: [0]2, l’insieme dei numeri pari, e[1]2, l’insieme dei numeri dispari.

Compatibilità: fissato n, per ognia, b, c, d ∈ Z vale:( a ≡n b

c ≡n d

)=⇒

( a+ c ≡n b + dac ≡n bd

)Ciò perme�e di definire le operazioni di addizione e moltiplicazione tra leclassi di resto, ponendo per ogni a e b: [a]n + [b]n = [a+ b]n e[a]n[b]n = [ab]n. Abbiamo così una “aritmetica modulo n”.

Page 25: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Aritmetica modulareDati gli interi a e b e l’intero positivo n, si pone a ≡n b o anchea ≡ b (mod n) se e solo se n divide a− b. Ciò equivale dire che a e b hannolo stesso resto nella divisione per n.

Gli interi sono così ripartiti in n classi di resto modulo n:

[0]n, l’insieme dei multipli di n;[1]n, l’insieme degli interi che, divisi per n, hanno resto 1;

...[n− 1]n, l’insieme degli interi che, divisi per n, hanno resto n− 1.

Si ha [i]n = {kn+ i | k ∈ Z}, per ogni i ∈ {0, 1, 2, . . . , n− 1}.

Compatibilità: fissato n, per ogni a, b, c, d ∈ Z vale:( a ≡n bc ≡n d

)=⇒

( a+ c ≡n b + dac ≡n bd

)Ciò perme�e di definire le operazioni di addizione e moltiplicazione tra leclassi di resto, ponendo per ogni a e b: [a]n + [b]n = [a+ b]n e[a]n[b]n = [ab]n. Abbiamo così una “aritmetica modulo n”.

Page 26: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 27: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.

Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 28: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 29: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;

(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 30: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;

se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 31: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Alcuni teoremi

Invertibili in Zn

Se (e solo se) l’intero a è coprimo con n la classe [a]n è invertibile,cioè esiste un intero a′ (inverso di a modulo n) tale che aa′ ≡n 1.Un tale a′ è facile da calcolare grazie ad un algoritmo moltoe�iciente (l’algoritmo euclideo).

Funzione di Eulero — Teorema di Fermat-EuleroSia ϕ(n) il numero degli interi positivi minori o uguali ad n e coprimicon n. Allora:

ϕ(n) è facile da calcolare se si conosce la fa�orizzazione di n inprodo�o di primi;(TFE) per ogni intero a coprimo con n si ha aϕ(n) ≡n 1;se n non è divisibile per alcun quadrato maggiore di 1 e se t èun intero tale che t ≡ϕ(n) 1, si ha at ≡n a per ogni intero a.

Page 32: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

Page 33: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

Page 34: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

Page 35: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

Page 36: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

Page 37: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: scelta delle chiavi

Ogni utente sceglie le sue chiavi (pubblica e privata) in questo modo:

sceglie due primi distinti (molto grandi) p e q e ne calcola ilprodo�o n;

sceglie un intero positivo c che sia minore di n e coprimo conf := (p− 1)(q − 1);

calcola l’inverso d di c modulo f (dunque cd ≡f 1).

chiavi:

{(n, c) pubblica

d privata

N.B. Si ha: f = ϕ(n).

Page 38: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: come funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.

Cifratura: A intende mandare un messaggio a B. Allora A prendea�o della chiave pubblica (n, c) di B, codifica in un qualsiasi modo ilmessaggio con un numero intero m tale che 0 < m < n (se ciò non èpossibile perché il messaggio è troppo lungo, A suddividepreliminarmente quest’ultimo in blocchi) e calcola il resto di mc

modulo n (esistono metodi molto rapidi per farlo). Il messaggiocifrato sarà appunto questo resto, m′.

Decifrazione: B riceve m′ e, usando la sua chiave privata d , calcolail resto di (m′)d modulo n. O�iene così m, cioè il messaggiooriginario.

Page 39: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: come funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.

Cifratura: A intende mandare un messaggio a B. Allora A prendea�o della chiave pubblica (n, c) di B, codifica in un qualsiasi modo ilmessaggio con un numero intero m tale che 0 < m < n (se ciò non èpossibile perché il messaggio è troppo lungo, A suddividepreliminarmente quest’ultimo in blocchi) e calcola il resto di mc

modulo n (esistono metodi molto rapidi per farlo). Il messaggiocifrato sarà appunto questo resto, m′.

Decifrazione: B riceve m′ e, usando la sua chiave privata d , calcolail resto di (m′)d modulo n. O�iene così m, cioè il messaggiooriginario.

Page 40: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: come funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.

Cifratura: A intende mandare un messaggio a B. Allora A prendea�o della chiave pubblica (n, c) di B, codifica in un qualsiasi modo ilmessaggio con un numero intero m tale che 0 < m < n (se ciò non èpossibile perché il messaggio è troppo lungo, A suddividepreliminarmente quest’ultimo in blocchi) e calcola il resto di mc

modulo n (esistono metodi molto rapidi per farlo). Il messaggiocifrato sarà appunto questo resto, m′.

Decifrazione: B riceve m′ e, usando la sua chiave privata d , calcolail resto di (m′)d modulo n. O�iene così m, cioè il messaggiooriginario.

Page 41: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: perché funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.Cifratura: m 7→ m′ = mc mod nDecifrazione: m′ 7→ m = (m′)d mod n.

Page 42: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: perché funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.Cifratura: m 7→ m′ = mc mod nDecifrazione: m′ 7→ m = (m′)d mod n.

Sia m1 il resto di (m′)d modulo n. Abbiamo m′ ≡n mc e quindim1 ≡n (m′)d ≡n mcd . Inoltre f = ϕ(n) e cd ≡f 1, dunque mcd ≡n m.Allora si ha 0 ≤ m1,m < n e m1 ≡n m; da ciò segue m1 = m.

Page 43: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: perché funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.Cifratura: m 7→ m′ = mc mod nDecifrazione: m′ 7→ m = (m′)d mod n.

Sia m1 il resto di (m′)d modulo n. Abbiamo m′ ≡n mc e quindim1 ≡n (m′)d ≡n mcd . Inoltre f = ϕ(n) e cd ≡f 1, dunque mcd ≡n m.Allora si ha 0 ≤ m1,m < n e m1 ≡n m; da ciò segue m1 = m.

E lo spione?

Page 44: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: perché funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.Cifratura: m 7→ m′ = mc mod nDecifrazione: m′ 7→ m = (m′)d mod n.

Se una persona diversa da B sapesse fa�orizzare n, allora saprebbe anchecalcolare f = (p− 1)(q − 1) e quindi ricavare d da (n, c) e decifrare ilmessaggio. Il punto è che, se i primi p e q sono scelti bene, fa�orizzare n è(meglio: si ritiene che sia) estremamente complesso, a meno di nonutilizzare computer quantistici. Si può anche (viceversa) dimostrare che ilproblema di ricavare d da (n, c) ha lo stesso grado di complessità di quellodi fa�orizzare n, quindi altissimo. Ciò non esclude che esista qualchemetodo per scardinare RSA che prescinda dalla fa�orizzazione di n, anzi èstato dimostrato che se esiste un metodo “molto e�iciente” ne esiste ancheuno di questo tipo. Al momento (forse, speriamo) non sono noti talimetodi.

Page 45: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

RSA: perché funziona

n = pq, f = ϕ(n) = (p− 1)(q − 1), cd ≡f 1.Chiavi: (n, c) pubblica; d privata.Cifratura: m 7→ m′ = mc mod nDecifrazione: m′ 7→ m = (m′)d mod n.

RSA fornisce anche un metodo sicuro di autenticazione.

Page 46: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Un esempio di cifratura RSA

TESTO: “Matematica per la cri�ografia”.

Scelta delle chiavi: (p e q sono primi; cd ≡f 1)p = 25893247q = 34747121n = pq = 899715786591887f = (p− 1)(q − 1) = 899715725951520

c = 41794313d = 43054457chiave pubblica: (n, c)chiave privata: d

Codifica del testo: ogni le�era minuscola viene trasformata in maiuscola,ed ogni cara�ere viene sostituito dal suo codice ASCII (due cifre decimali);ad una stringa di cara�eri corrisponde il numero o�enuto concatenandoda questi codici:· · · · · · , - . · · · A B C · · · Z· · · 32 · · · 44 45 46 · · · 65 66 67 · · · 90

quindi, ad esempio, “a B. Zac” si codifica come 6532664632906567.

Page 47: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Un esempio di cifratura RSA

TESTO: “Matematica per la cri�ografia”.

Scelta delle chiavi: (p e q sono primi; cd ≡f 1)p = 25893247q = 34747121n = pq = 899715786591887f = (p− 1)(q − 1) = 899715725951520

c = 41794313d = 43054457chiave pubblica: (n, c)chiave privata: d

Codifica del testo: ogni le�era minuscola viene trasformata in maiuscola,ed ogni cara�ere viene sostituito dal suo codice ASCII (due cifre decimali);ad una stringa di cara�eri corrisponde il numero o�enuto concatenandoda questi codici:· · · · · · , - . · · · A B C · · · Z· · · 32 · · · 44 45 46 · · · 65 66 67 · · · 90

quindi, ad esempio, “a B. Zac” si codifica come 6532664632906567.

Page 48: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Un esempio di cifratura RSA

TESTO: “Matematica per la cri�ografia”.

Scelta delle chiavi: (p e q sono primi; cd ≡f 1)p = 25893247q = 34747121n = pq = 899715786591887f = (p− 1)(q − 1) = 899715725951520

c = 41794313d = 43054457chiave pubblica: (n, c)chiave privata: d

N.B. i numeri qui utilizzati sono troppo piccoli perché la cifratura siasicura. Inoltre, il metodo usato per codificare le stringhe di cara�eri ininteri, anche se comodo, è molto poco e�iciente.

Codifica del testo: ogni le�era minuscola viene trasformata in maiuscola,ed ogni cara�ere viene sostituito dal suo codice ASCII (due cifre decimali);ad una stringa di cara�eri corrisponde il numero o�enuto concatenandoda questi codici:· · · · · · , - . · · · A B C · · · Z· · · 32 · · · 44 45 46 · · · 65 66 67 · · · 90

quindi, ad esempio, “a B. Zac” si codifica come 6532664632906567.

Page 49: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Un esempio di cifratura RSA

TESTO: “Matematica per la cri�ografia”.

Scelta delle chiavi: (p e q sono primi; cd ≡f 1)p = 25893247q = 34747121n = pq = 899715786591887f = (p− 1)(q − 1) = 899715725951520

c = 41794313d = 43054457chiave pubblica: (n, c)chiave privata: d

Codifica del testo: ogni le�era minuscola viene trasformata in maiuscola,ed ogni cara�ere viene sostituito dal suo codice ASCII (due cifre decimali);ad una stringa di cara�eri corrisponde il numero o�enuto concatenandoda questi codici:· · · · · · , - . · · · A B C · · · Z· · · 32 · · · 44 45 46 · · · 65 66 67 · · · 90

quindi, ad esempio, “a B. Zac” si codifica come 6532664632906567.

Page 50: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

CHIAVI: (n, c) = (899715786591887, 41794313) d = 43054457

ll protocollo RSA perme�e di cifrare in un unico passaggio le stringhecodificate da un un intero minore di n, quindi, col sistema ora definito,certamente quelle di al più se�e cara�eri. Dunque, dividiamo la stringa“Matematica per la cri�ografia” in blocchi di lunghezza al più 7, ecodifichiamo questi cominciando dal primo:

M A T E M A T77 65 84 69 77 65 84

e similmente per gli altri:

“MATEMAT” “ICA PER" “ LA CRI” “TTOGRAF” “IA”77658469776584 73676532806982 32766532678273 84847971826570 7365

Ora:

77658469776584c ≡n 348775283430137; 73676532806982c ≡n 406106154987544

32766532678273c ≡n 727567161267633; 84847971826570c ≡n 704911937371759

7365c ≡n 285112597092454

�indi “Matematica per la cri�ografia” risulta cifrato come

348775283430137 406106154987544 727567161267633 704911937371759 285112597092454.

Page 51: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

CHIAVI: (n, c) = (899715786591887, 41794313) d = 43054457

ll protocollo RSA perme�e di cifrare in un unico passaggio le stringhecodificate da un un intero minore di n, quindi, col sistema ora definito,certamente quelle di al più se�e cara�eri. Dunque, dividiamo la stringa“Matematica per la cri�ografia” in blocchi di lunghezza al più 7, ecodifichiamo questi cominciando dal primo:

M A T E M A T77 65 84 69 77 65 84

e similmente per gli altri:

“MATEMAT” “ICA PER" “ LA CRI” “TTOGRAF” “IA”77658469776584 73676532806982 32766532678273 84847971826570 7365

Ora:

77658469776584c ≡n 348775283430137; 73676532806982c ≡n 406106154987544

32766532678273c ≡n 727567161267633; 84847971826570c ≡n 704911937371759

7365c ≡n 285112597092454

�indi “Matematica per la cri�ografia” risulta cifrato come

348775283430137 406106154987544 727567161267633 704911937371759 285112597092454.

Page 52: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

CHIAVI: (n, c) = (899715786591887, 41794313) d = 43054457

ll protocollo RSA perme�e di cifrare in un unico passaggio le stringhecodificate da un un intero minore di n, quindi, col sistema ora definito,certamente quelle di al più se�e cara�eri. Dunque, dividiamo la stringa“Matematica per la cri�ografia” in blocchi di lunghezza al più 7, ecodifichiamo questi cominciando dal primo:

M A T E M A T77 65 84 69 77 65 84

e similmente per gli altri:

“MATEMAT” “ICA PER" “ LA CRI” “TTOGRAF” “IA”77658469776584 73676532806982 32766532678273 84847971826570 7365

Ora:

77658469776584c ≡n 348775283430137; 73676532806982c ≡n 406106154987544

32766532678273c ≡n 727567161267633; 84847971826570c ≡n 704911937371759

7365c ≡n 285112597092454

�indi “Matematica per la cri�ografia” risulta cifrato come

348775283430137 406106154987544 727567161267633 704911937371759 285112597092454.

Page 53: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

CHIAVI: (n, c) = (899715786591887, 41794313) d = 43054457

ll protocollo RSA perme�e di cifrare in un unico passaggio le stringhecodificate da un un intero minore di n, quindi, col sistema ora definito,certamente quelle di al più se�e cara�eri. Dunque, dividiamo la stringa“Matematica per la cri�ografia” in blocchi di lunghezza al più 7, ecodifichiamo questi cominciando dal primo:

M A T E M A T77 65 84 69 77 65 84

e similmente per gli altri:

“MATEMAT” “ICA PER" “ LA CRI” “TTOGRAF” “IA”77658469776584 73676532806982 32766532678273 84847971826570 7365

Ora:

77658469776584c ≡n 348775283430137; 73676532806982c ≡n 406106154987544

32766532678273c ≡n 727567161267633; 84847971826570c ≡n 704911937371759

7365c ≡n 285112597092454

�indi “Matematica per la cri�ografia” risulta cifrato come

348775283430137 406106154987544 727567161267633 704911937371759 285112597092454.

Page 54: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Logaritmo discreto

Problema (PLD)

Dati gli interi a, b, n (con n > 0), nell’ipotesi che b ≡n al per unopportuno intero l, si trovi un tale l.

Il PLD si può porre in ambienti diversi (gruppi, in genere) ed èspesso di grande complessità computazionale. Si possono quindicostruire funzioni “a senso unico” del tipo t 7→ at .�este funzioni esponenziali vengono usate in diversi protocollicri�ografici. È utile il fa�o che, per ogni fissata base a, essecommutano tra loro.

Esempio: tavola dei logaritmi in base 10 modulo 4567:1 02 29163 8154 12665 1651

6 37317 2928 41829 163010 1

11 19612 208113 55214 320815 2466

16 253217 21318 454619 214320 2917

21 110722 311223 2659 · · ·24 43125 3302

Page 55: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Logaritmo discreto

Problema (PLD)

Dati gli interi a, b, n (con n > 0), nell’ipotesi che b ≡n al per unopportuno intero l, si trovi un tale l.

Il PLD si può porre in ambienti diversi (gruppi, in genere) ed èspesso di grande complessità computazionale. Si possono quindicostruire funzioni “a senso unico” del tipo t 7→ at .�este funzioni esponenziali vengono usate in diversi protocollicri�ografici. È utile il fa�o che, per ogni fissata base a, essecommutano tra loro.

Esempio: tavola dei logaritmi in base 10 modulo 4567:1 02 29163 8154 12665 1651

6 37317 2928 41829 163010 1

11 19612 208113 55214 320815 2466

16 253217 21318 454619 214320 2917

21 110722 311223 2659 · · ·24 43125 3302

Page 56: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Logaritmo discreto

Problema (PLD)

Dati gli interi a, b, n (con n > 0), nell’ipotesi che b ≡n al per unopportuno intero l, si trovi un tale l.

Il PLD si può porre in ambienti diversi (gruppi, in genere) ed èspesso di grande complessità computazionale. Si possono quindicostruire funzioni “a senso unico” del tipo t 7→ at .�este funzioni esponenziali vengono usate in diversi protocollicri�ografici. È utile il fa�o che, per ogni fissata base a, essecommutano tra loro.

Esempio: tavola dei logaritmi in base 10 modulo 4567:1 02 29163 8154 12665 1651

6 37317 2928 41829 163010 1

11 19612 208113 55214 320815 2466

16 253217 21318 454619 214320 2917

21 110722 311223 2659 · · ·24 43125 3302

Page 57: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 58: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 59: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 60: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 61: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 62: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 63: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 64: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 65: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 66: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A e B fissano un primo p escelgono un intero segretociascuno: α e β, entrambicoprimi con p− 1.A può calcolare α′ tale che

αα′ ≡p−1 1.

B può calcolare β′ tale che

ββ′ ≡p−1 1.

A Bm

m

mα mod p

mαβ mod p

mβ ≡p mαβα′

mββ′ ≡p m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 67: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Cri�ografia senza chiavi condivise

A e B fissano un primo p escelgono un intero segretociascuno: α e β, entrambicoprimi con p− 1.A può calcolare α′ tale che

αα′ ≡p−1 1.

B può calcolare β′ tale che

ββ′ ≡p−1 1.

A Bm

m

10 p = 17

α = 5

α′ = 13

β = 3

β′ = 11

mα ≡p 6

12 ≡p 6β

12α′ ≡p 14

10 ≡p 14β′

10

Page 68: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Protocollo Di�ie-Hellman(-Merkle)

come A e B si possono accordare su una chiave senza trasme�erla:

A fissa un primo p, ed un opportuno intero a tale che 0 < a < p,ed un intero (segreto) α, e trasme�e a B: p, a e a1 := aα mod p;Esempio: A: [α = 5] p = 13, a = 7, a1 = 11 → BB fissa un intero segreto β e trasme�e ad A a2 := aβ mod p;B: [β = 8] a2 = 3 → Aa questo punto A e B possono calcolare la loro chiavecomune k: il resto di aα2 ≡p a

β1 ≡p aαβ modulo p.

A: 35 ≡13 9; B: 118 ≡13 9

Page 69: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Protocollo Di�ie-Hellman(-Merkle)

come A e B si possono accordare su una chiave senza trasme�erla:

A fissa un primo p, ed un opportuno intero a tale che 0 < a < p,ed un intero (segreto) α, e trasme�e a B: p, a e a1 := aα mod p;Esempio: A: [α = 5] p = 13, a = 7, a1 = 11 → B

B fissa un intero segreto β e trasme�e ad A a2 := aβ mod p;B: [β = 8] a2 = 3 → Aa questo punto A e B possono calcolare la loro chiavecomune k: il resto di aα2 ≡p a

β1 ≡p aαβ modulo p.

A: 35 ≡13 9; B: 118 ≡13 9

Page 70: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Protocollo Di�ie-Hellman(-Merkle)

come A e B si possono accordare su una chiave senza trasme�erla:

A fissa un primo p, ed un opportuno intero a tale che 0 < a < p,ed un intero (segreto) α, e trasme�e a B: p, a e a1 := aα mod p;Esempio: A: [α = 5] p = 13, a = 7, a1 = 11 → BB fissa un intero segreto β e trasme�e ad A a2 := aβ mod p;B: [β = 8] a2 = 3 → A

a questo punto A e B possono calcolare la loro chiavecomune k: il resto di aα2 ≡p a

β1 ≡p aαβ modulo p.

A: 35 ≡13 9; B: 118 ≡13 9

Page 71: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Protocollo Di�ie-Hellman(-Merkle)

come A e B si possono accordare su una chiave senza trasme�erla:

A fissa un primo p, ed un opportuno intero a tale che 0 < a < p,ed un intero (segreto) α, e trasme�e a B: p, a e a1 := aα mod p;Esempio: A: [α = 5] p = 13, a = 7, a1 = 11 → BB fissa un intero segreto β e trasme�e ad A a2 := aβ mod p;B: [β = 8] a2 = 3 → Aa questo punto A e B possono calcolare la loro chiavecomune k: il resto di aα2 ≡p a

β1 ≡p aαβ modulo p.

A: 35 ≡13 9; B: 118 ≡13 9

Page 72: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Protocollo Di�ie-Hellman(-Merkle)

come A e B si possono accordare su una chiave senza trasme�erla:

A fissa un primo p, ed un opportuno intero a tale che 0 < a < p,ed un intero (segreto) α, e trasme�e a B: p, a e a1 := aα mod p;Esempio: A: [α = 5] p = 13, a = 7, a1 = 11 → BB fissa un intero segreto β e trasme�e ad A a2 := aβ mod p;B: [β = 8] a2 = 3 → Aa questo punto A e B possono calcolare la loro chiavecomune k: il resto di aα2 ≡p a

β1 ≡p aαβ modulo p.

A: 35 ≡13 9; B: 118 ≡13 9

La segretezza della chiave è garantita dal fa�o che, anche se p, a, a1 ≡p aα

e a2 ≡p aβ sono noti (al solito spione), egli non ha a disposizione metodiper calcolare, ad esempio, α e quindi aα2 (problema del logaritmo discreto)

Page 73: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Sistema cri�ografico ElGamal

1. Scelta delle chiavi: ogni utente sceglie le sue chiavi (pubblica eprivata) in questo modo: viene scelto un “ambiente di calcolo” G (ungruppo), un elemento a di G, in modo che il PLD sia “molto complesso” perle potenze di a in G. Ciascun utente sceglie poi un intero d come chiaveprivata e, come chiave pubblica (G, a, ad).

2. Cifratura: A intende mandare un messaggio a B. Allora A prende a�odella chiave pubblica (G, a, c) di B, codifica in un qualsiasi modo ilmessaggio come un elemento di G, sceglie un intero α ed invia a B ilmessaggio cifrato come

(aα,mcα

).

3. Decifrazione: B riceve (aα,mcα), ovvero

(aα,maαd

), e, usando la

sua chiave privata d , da aα calcola aαd ; di questo è facile calcolare l’inverso(aαd)−1

, quindi B può calcolare m =(maαd

)(aαd)−1

.

Page 74: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Sistema cri�ografico ElGamal

1. Scelta delle chiavi: ogni utente sceglie le sue chiavi (pubblica eprivata) in questo modo: viene scelto un “ambiente di calcolo” G (ungruppo), un elemento a di G, in modo che il PLD sia “molto complesso” perle potenze di a in G. Ciascun utente sceglie poi un intero d come chiaveprivata e, come chiave pubblica (G, a, ad).

2. Cifratura: A intende mandare un messaggio a B. Allora A prende a�odella chiave pubblica (G, a, c) di B, codifica in un qualsiasi modo ilmessaggio come un elemento di G, sceglie un intero α ed invia a B ilmessaggio cifrato come

(aα,mcα

).

3. Decifrazione: B riceve (aα,mcα), ovvero

(aα,maαd

), e, usando la

sua chiave privata d , da aα calcola aαd ; di questo è facile calcolare l’inverso(aαd)−1

, quindi B può calcolare m =(maαd

)(aαd)−1

.

Page 75: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Sistema cri�ografico ElGamal

1. Scelta delle chiavi: ogni utente sceglie le sue chiavi (pubblica eprivata) in questo modo: viene scelto un “ambiente di calcolo” G (ungruppo), un elemento a di G, in modo che il PLD sia “molto complesso” perle potenze di a in G. Ciascun utente sceglie poi un intero d come chiaveprivata e, come chiave pubblica (G, a, ad).

2. Cifratura: A intende mandare un messaggio a B. Allora A prende a�odella chiave pubblica (G, a, c) di B, codifica in un qualsiasi modo ilmessaggio come un elemento di G, sceglie un intero α ed invia a B ilmessaggio cifrato come

(aα,mcα

).

3. Decifrazione: B riceve (aα,mcα), ovvero

(aα,maαd

), e, usando la

sua chiave privata d , da aα calcola aαd ; di questo è facile calcolare l’inverso(aαd)−1

, quindi B può calcolare m =(maαd

)(aαd)−1

.

Page 76: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Sistema cri�ografico ElGamal

1. Scelta delle chiavi: ogni utente sceglie le sue chiavi (pubblica eprivata) in questo modo: viene scelto un “ambiente di calcolo” G (ungruppo), un elemento a di G, in modo che il PLD sia “molto complesso” perle potenze di a in G. Ciascun utente sceglie poi un intero d come chiaveprivata e, come chiave pubblica (G, a, ad).

2. Cifratura: A intende mandare un messaggio a B. Allora A prende a�odella chiave pubblica (G, a, c) di B, codifica in un qualsiasi modo ilmessaggio come un elemento di G, sceglie un intero α ed invia a B ilmessaggio cifrato come

(aα,mcα

).

3. Decifrazione: B riceve (aα,mcα), ovvero

(aα,maαd

), e, usando la

sua chiave privata d , da aα calcola aαd ; di questo è facile calcolare l’inverso(aαd)−1

, quindi B può calcolare m =(maαd

)(aαd)−1

.

Page 77: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 78: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − x

y2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 79: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 80: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 81: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 82: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 83: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 84: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 85: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13

Page 86: Cri˛ografia simmetrica (a chiave condivisa)Cri˛ografia asimmetrica (a chiave pubblica) Schema di trasmissione con chiave pubblica: A B m m? m0? ? m0? chiavi di B ˆ pubblica: c segreta:

Curve elli�iche

y2 = x3 − xy2 = x3 − 2x+ 2

P

Q

P +Q

R Z13