22
Numeri primi ed Numeri primi ed pplicazioni nella crittografia pplicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43 – 81100 Caserta Via Vivaldi, 43 – 81100 Caserta http://francesco.mazzocca.name e-mail : [email protected] Anno Accademico 2008/09 Anno Accademico 2008/09 Corso di Corso di CODICI LINEARI CODICI LINEARI Francesco Mazzocca Francesco Mazzocca

Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Embed Size (px)

Citation preview

Page 1: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Numeri primi ed Numeri primi ed applicazioni nella crittografiaapplicazioni nella crittografia

Dipartimento di Matematica – S.U.N.Dipartimento di Matematica – S.U.N.Via Vivaldi, 43 – 81100 CasertaVia Vivaldi, 43 – 81100 Caserta

http://francesco.mazzocca.name e-mail : [email protected]

Anno Accademico 2008/09Anno Accademico 2008/09Corso diCorso di

CODICI LINEARICODICI LINEARI

Francesco MazzoccaFrancesco Mazzocca

Page 2: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

è oggi il modo più semplice, comodo e veloce

di inviare e trasmettere informazioni.

Un esperto informatico non ha molte difficoltà nell’intercettare, leggere e a volte

modificare dati che passano da un computer ad un altro.

Abbiamo problemi seri quando i dati intercettati

contengono informazioni riservate come

numeri di carte di credito, password

e ogni altro tipo di “messaggio segreto”!

Abbiamo problemi seri quando i dati intercettati

contengono informazioni riservate come

numeri di carte di credito, password

e ogni altro tipo di “messaggio segreto”!

INTERNET

Page 3: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Sono al momento immaginabili nuove tecnologie che impediscano ai “pirati

informatici ” l’intercettazione di informazioni riservate?

La risposta è NO!

CONCLUSIONE:Non possiamo difenderci usando

l’hardware.Cerchiamo di farlo usando il

software!

CONCLUSIONE:Non possiamo difenderci usando

l’hardware.Cerchiamo di farlo usando il

software!

Page 4: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Come si nascondono le informazioni

riservate?

Questo si può fare con le funzioni unidirezionalifunzioni unidirezionali

Questo si può fare con le funzioni unidirezionalifunzioni unidirezionali

Bisogna trasformare “facilmente” (cifrarecifrare) il messaggio originale (testo in chiarotesto in chiaro) in uno che apparentemente non abbia alcun senso

(testo cifratotesto cifrato)

Il testo cifrato deve poter essere “facilmente” ritradotto (decifratodecifrato)

nel messaggio originale solo con l’uso di una speciale informazione (chiavechiave)

Page 5: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Una funzione unidirezionale F è una funzione biunivoca che si calcola

“facilmente”, mentre è praticamente impossibile calcolare la sua inversa (non esistono algoritmi di tipo polinomiale).

Il calcolo dell’inversa di F è “semplice” se si conosce un’opportuna informazione: la

“chiave”.

funzioni unidirezionali

I numeri primi permettono di

definire funzioni unidirezionali

I numeri primi permettono di

definire funzioni unidirezionali

difficilefacile

Catenaccio asimmetrico

Page 6: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

La struttura additiva dei numeri naturali è molto

semplice :

Per costruire i numeri naturali usando l’addizione

abbiamo bisogno di un solo “mattone”:

13=1+1+1+1+1+1+1+1+1+1+1+1+1 13=1+1+1+1+1+1+1+1+1+1+1+1+1

addi

tiva

di

N

stru

ttu

ra Ogni numero naturale Ogni numero naturale n diverso da zero si n diverso da zero si

scrive come somma di scrive come somma di n volte 1. n volte 1.

Ogni numero naturale Ogni numero naturale n diverso da zero si n diverso da zero si

scrive come somma di scrive come somma di n volte 1. n volte 1.

1

Page 7: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

stru

ttur

aAdesso chiediamoci:Adesso chiediamoci: quali sono i

“mattoni” che servono a costruire i numeri naturali usando la

moltiplicazione?

mol

tiplic

at

iva

di N

2736456789 = 3 x 11 x 1931 x 42943 2736456789 = 3 x 11 x 1931 x 42943

Ogni numero naturale Ogni numero naturale maggiore maggiore

di 1 si scrive in unico modo di 1 si scrive in unico modo come prodotto di primi, come prodotto di primi, a meno dell’ordine dei a meno dell’ordine dei

fattori. fattori.

Ogni numero naturale Ogni numero naturale maggiore maggiore

di 1 si scrive in unico modo di 1 si scrive in unico modo come prodotto di primi, come prodotto di primi, a meno dell’ordine dei a meno dell’ordine dei

fattori. fattori.

Risposta:Risposta: i numeri primi.

Per costruire i numeri naturali usando la moltiplicazione

abbiamo bisogno di infiniti mattoni :

2 3 5 7 11 13

Page 8: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

perc

hé i

prim

i

si u

sano

in

critt

ogra

f

ia?

Moltiplicare due interi è ”facile” !

Dividere un intero per un altro è ”facile” !

Fattorizzare in primi un intero è “difficile”, a volte “impossibile” !

La funzione La funzione (p,q) pq(p,q) pq

che ad ogni coppia di primi che ad ogni coppia di primi associa il loro prodotto è associa il loro prodotto è

unidirezionale. unidirezionale.

La funzione La funzione (p,q) pq(p,q) pq

che ad ogni coppia di primi che ad ogni coppia di primi associa il loro prodotto è associa il loro prodotto è

unidirezionale. unidirezionale.

cioé

Page 9: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

?85

1

un semplice esempio di codifica

Messaggi = alcuni numeri primi

Chiavi = alcuni numeri primi

Cifrare = moltiplicare per la chiave

Decifrare = dividere per la chiave

messaggio851:37=23

messaggio23

37

AB

A

851

B

23 37=851

Page 10: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

RSA-576 - Premio: $10,000 - Cifre decimali: 174188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

RSA-576 - Premio: $10,000 - Cifre decimali: 174188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

The RSA Challenge Numbers

http://www.rsasecurity.com/rsalabs/challenges/factoring/numbers.html

RSA-2048 - Premio: $200,000 - Cifre decimali: 617 25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357

RSA-2048 - Premio: $200,000 - Cifre decimali: 617 25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357

Fattotizzato il 3

dicembre 2003

E’ la sfida piu’ grande.

Ce ne sono anche altre

intermedie!

Page 11: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

18819881292060796383869723946165043980716356337941738270076335642298885971523466548531906060650474304531738801130339671619969232120573403879550656996221305168759307650257059

398075086424064937397125500550386491199064362342526708406385189575946388957261768583317

X

472772146107435302536223071973048224632914695302097116459852171130520711256363590397527

=

RSA-576RSA-576

Page 12: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

crittografia simmetrica o a chiave segreta

La chiave deve essere trasmessa a mittente e destinatario prima dell’inizio di ogni comunicazione tra i due

Il mittente (per cifrare) eil destinatario (per decifrare)

usano la stessa chiave segreta

TRE GROSSI INCONVENIENTI

In un sistema con molti utenti il numero di chiavi da distribuire è così alto che la loro gestione diventa molto complicata

Una buona chiave è molto lunga e vi sono seri problemi di sicurezza per la trasmissione

Page 13: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

La sicurezza di un crittosistema non dipende dalla segretezza e dalla complessità del metodo

usato per cifrare ma solo dalla segretezza delle chiavi

il principio di KERCKOFFS

Page 14: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Chi vuole inviare un messaggio all’utente A deve cifrarlo con la chiave Apu; il messaggio così cifrato può essere decifrato solo dal A.

crittografia asimmetrica o a chiave pubblica

Il cifrario è di dominio pubblico e ogni utente A possiede una propria coppia di chiavi (Apu , Apr)Apu serve per cifrare ed è pubblica

Apr serve per decifrare ed è segreta (può essere utilizzata solo dal suo proprietario)

Un messaggio cifrato con la chiave Apu può essere decifrato solo e soltanto con la chiave privata Apr

Page 15: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Non occorre far viaggiare in segreto le chiavi per cifrare, basta far conoscere ad ogni

utente le chiavi pubbliche degli altri.

crittografia asimmetrica o a chiave pubblica

La crittografia asimmetrica permette una gestione semplice e sicura delle

chiavi, in accordo col principio di Kerckoffs.

Page 16: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

crittografia asimmetrica o a chiave pubblica

A : Apu

A Apr

Apu (T)

trasferisce ad A il testo T cifrando con la chiave pubblica Apu

trasferisce ad A il testo T cifrando con la chiave pubblica Apu

decifra il testo Apu (T) usando la chiave privata Apr

decifra il testo Apu (T) usando la chiave privata Apr

A

B

C

D

EApr

Epr

Bpr

Cpr

Dpr

B : Bpu

C : Cpu

D : Dpu

E : Epu

A : Apu

Page 17: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

il crittosistema RSA

Nel 1977 tre persone diedero il più spettacolare contributo alla crittografia a chiave pubblica: Ronald Rivest, Adi Shamir e Leonard Adleman … raccolsero la sfida di produrre un crittosistema a chiave pubblica completo. Il lavoro durò alcuni mesi durante i quali Rivest proponeva strade possibili. Adleman le attaccava e Shamir faceva o l’una o l’altra cosa.

Nel maggio del 1977 essi furono ricompensati dal successo … Avevano scoperto come una semplice parte della teoria classica dei numeri poteva essere usata per risolvere il problema.

[W.Diffie, The first ten years of public-key cryptography, Proceedings of IEEE 76 (5), 1988, 560-577]

Page 18: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

algoritmo per cifrarealgoritmo per cifrareSe l'intero positivo T è un testo in chiaro, il corrispondente testo cifrato C è definito da C=TE modN .

il criptosistema RSAil criptosistema RSA

1) N=PQ, P,Q primi molto grandi. (dell’ordine di 1024 bit)2) E>1 , intero minore di N e primo con (P-1)(Q-1).

3) DE=1 mod (P-1)(Q-1).

algoritmo per decifrarealgoritmo per decifrarePer decifrare C bisogna calcolare CD modN = T .

EsempioEsempio

(a questo punto: distruggere P e Q)

generazione delle generazione delle chiavichiavi

E=17 D=2753E=17 D=2753

Apu=(3233,17) , Apr=2753

cifriamo T=123

C=123C=1231717

mod3233=855mod3233=855decifriamo C=855

T=855T=85527532753

mod3233=123mod3233=123

P=61 Q=53 P=61 Q=53 N=PQ=3233N=PQ=3233

chiavi : chiavi : Apu=(N,E) , Apr =D

Page 19: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Un algoritmo per risolvere un problema che dipende da un numero N è polinomiale se richiede un numero di

operazioni elementari dell’ordine di log(N)h, per qualche intero h.

Un algoritmo per risolvere un problema che dipende da un numero N è polinomiale se richiede un numero di

operazioni elementari dell’ordine di log(N)h, per qualche intero h.

Gli algoritmi “buoni” sono quelli polinomiali

Gli algoritmi “buoni” sono quelli polinomiali

La classe dei problemi che possono risolversi con l’uso

di algoritmi polinomiali si denota con

P

La classe dei problemi che possono risolversi con l’uso

di algoritmi polinomiali si denota con

P

Page 20: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

http://www.cse.iitk.ac.in/news/primality.html

Un risulta

to eccezionale

Un risulta

to eccezionale

(scoperto nei p

rimi m

esi del 2

002)

(scoperto nei p

rimi m

esi del 2

002)

Page 21: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

da sinistra a destra:Nitin Saxena,Neeraj Kayal

e Manindra Agarwal

Gli autori del teorema“PRIMES IS IN P”

1. input: integer n > 1 2. if (n has the form ab with b > 1)

then output COMPOSITE

3. r := 2 4. while (r < n) {

if (gcd(n,r) is not 1) then output COMPOSITE

if (r is prime greater than 2) then { let q be the largest factor of r-1 if (q > 4sqrt(r)log n) and (n(r-

1)/q is not 1 (mod r)) then break } r := r+1}

5. for a = 1 to 2sqrt(r)log n {if ( (x-a)n is not (xn-a) (mod xr-1,n) )

then output COMPOSITE } output PRIME;

IL NUOVO TEST DI PRIMALITA’

Page 22: Numeri primi ed Numeri primi ed applicazioni nella crittografia Dipartimento di Matematica – S.U.N. Dipartimento di Matematica – S.U.N. Via Vivaldi, 43

Morale:Morale:Niente è così Niente è così pratico come pratico come una buona una buona

teoriateoria!!