crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein...

67
crittografia

Transcript of crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein...

Page 1: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

crittografia

Page 2: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

kryptós gráphein

nascosto scrivere

la crittografia tratta delle "scritture nascoste", deimetodi per rendere un messaggio "offuscato"

Page 3: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

404 a. C

Lisandro riceve un corrierea Sparta recante la notiziadi un attacco persiano

Page 4: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

crittografia per trasposizione di lettere, la scitale greca

Page 5: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

crittografia per sostituzione nel libro di Geremia

Page 6: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

Atbash

a b c d e f g h i l m n o p q r s t u v zZ V U T S R Q P O N M L I H G F E D C B A

Page 7: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

a b c d e f g h i l m n o p q r s t u v zZ V U T S R Q P O N M L I H G F E D C B A

u n s e g r e t o t i m a n d oC L E S Q F S D I D O M Z L T I

Page 8: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

cifrario di Cesare

a b c d e f g h i l m n o p q r s t u v zD E F G H I L M N O P Q R S T U V Z A B C

con “chiave” = 3

Page 9: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

“La sicurezza di un crittosistema non deve dipenderedal tener celato il crittoalgoritmo.

La sicurezza dipenderà solo dal tener celata la chiave”

La Cryptographie Militaire, Kerckhoffs, 1883

Page 10: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

l'analisi delle frequenze

Page 11: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

i segni che identificano le lettere cambianoma le caratteristiche rimangono le stesse:

frequenza d'uso

regole grammaticali

...

Page 12: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

1467

Leon Battista Alberti pubblicail “De Cifris” e introduce lacifratura polialfabetica

Page 13: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

disco cifrante

Page 14: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

cambiando diversi alfabeti cifranti in un unico messaggio lastessa lettera viene cifrata differentemente di volta in volta

la successione delle sostituzioni di alfabetocostituisce la chiave del messaggio

Page 15: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 16: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

chiave ABCDAB CD ABCDA BCD ABCDABCDABCDtesto CRYPTO IS SHORT FOR CRYPTOGRAPHYtesto cifrato CSASTP KV SIQUT GQU CSASTPIUAQJB

Page 17: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

si hanno ancora ripetizioni, per lettere che sono distanti traloro quanto la lunghezza della chiave o multipli

Page 18: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

casuale

lunga quanto il testo da cifrare

mai riutilizzata

one time pad

Page 19: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

non ci sono appigli per un'analisi statistica

Page 20: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 21: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 22: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 23: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 24: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

la chiave è a sua volta un segreto tra mittente e destinatario

Page 25: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

possiamo scambiarci un segreto senza riverarlo?

Page 26: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

1976

Diffie, Hellman e Merkeaffrontano il problemadello scambio delle chiavi

Page 27: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 28: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 29: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 30: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 31: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 32: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 33: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

Protocollo Diffie-Hellman-Merkeper lo scambio delle chiavi

Page 34: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 35: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 36: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 37: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 38: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 39: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 40: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 41: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 42: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 43: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 44: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

la difficoltà è ora trovare funzioni “unidirezionali”, equivalentialla mescola dei colori:

invertibili

facili da calcolare in un verso ma difficili nell'altro

risultato finale indipendente dall'ordine delle operazioni

Page 45: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per
Page 46: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

2 + 5 = 7 (mod 12)

7 + 8 = 3 (mod 12)

9 + 5 = 2 (mod 12)

Page 47: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

funzioni banali diventano interessantinell'aritmetica dei moduli

Page 48: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

y=2x

Page 49: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

y=2xmod12

Page 50: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

il problema della distribuzione delle chiavi è risoltoma la procedura è macchinosa

Page 51: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

occorre l'intervento di alice e bob ad ogni passaggio

Page 52: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

non molto pratico per comunicazioni in tempo reale:

transazioni economiche e finanziarie,telefonate, email, istant messaging...

Page 53: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

ma se disponessimo di due chiavi diverse per lucchetto:

una che può solo cifrare

una che può solo decifrare

Page 54: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

1977

Rivest, Shamir, Adleman creanoil protocollo a chiave pubblica RSA

Page 55: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

alice sceglie due numeri primi molto grandi: p, qe un ulteriore numero e minore e primo con

alice inoltre calcola

e d tale che

e,N chiave pubblica

d,N chiave privata

p−1q−1

N=p⋅q

e⋅d=1mod[p−1q−1]

Page 56: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

la chiave pubblica e,N può essere divulgata liberamente

la chiave privata d,N viene tenuta nascosta

Page 57: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

C=MemodN

bob vuole inviare un messaggio ad alice:

conoscendo e,N trasforma il messaggio in chiaro Mnel messaggio criptato C con la formula

M=Cd modN

alice ricevuto il messaggio C lo ritrasformanel testo in chiaro M con la formula

Page 58: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

M=Cd modN

per alice è facile perché conosce d

non conoscendolo per violare il messaggio cifrato Csi deve ricalcolare d a partire da p e q fattori di N

ma non ci sono algoritmi efficienti per la fattorizzazione

Page 59: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

scegliere p e q molto grandi ci garantisce che calcolarli da

non sia fattibile in un tempo ragionevole per quantapotenza di calcolo si abbia a disposizione

N=p⋅q

Page 60: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

quanto tempo ci vuole per fattorizzare N?

Page 61: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

RSA Number Decimal digits Binary digits Cash prize offered Factored on RSA-129 129 426 $100 USD April 1994RSA-576 174 576 $10,000 USD December 3, 2003RSA-640 193 640 $20,000 USD November 2, 2005RSA-704 212 704 $30,000 USD openRSA-768 232 768 $50,000 USD openRSA-896 270 896 $75,000 USD openRSA-1024 309 1024 $100,000 USD openRSA-1536 463 1536 $150,000 USD openRSA-2048 617 2048 $200,000 USD open

RSA factoring challenge

Page 62: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

CRIPTAZIONE

Page 63: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

FIRMA

Page 64: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

impostori e certificati digitali

Page 65: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

la chiave di “alice” è stata emessa veramente da aliceo da un impostore?

una “certification authority” può firmare a sua volta undocumento contenente la chiave pubblica di alice, dopoche quest'ultima si e' identificata

se abbiamo fiducia in chi certifica la nostra fiducia si puòestendere a tutti i certificati che emette

Page 66: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

“nel 1790, quando la Dichiarazione dei diritti dell'Uomo fu promulgata, due persone potevano tenere una conversazione riservata con una tranquillità che oggi neanche ci sogniamo, semplicemente facendo due passi e badando che nessuno fosse nascosto tra i cespugli.

Non c'erano registratori, microfoni parabolici e laser che ti rimbalzano sugli occhiali.

E bisogna pur riconoscere che la civiltà esisteva lo stesso”.

Whitfield Diffie

Page 67: crittografia - GNU/Linux User Group Perugia · 2015-03-23 · crittografia. kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per

“CODICI E SEGRETI” Simon Singhed. BUR isbn 88-17-12539-3

http://en.wikipedia.org/wiki/Portal:Cryptography

http://it.wikipedia.org/wiki/Numbers_station

[email protected]