LA CRITTOGRAFIA QUANTISTICA La Fisica a Servizio Della Matematica prof. Sandro Pistori
M Il problema crittografico Un mittente vuole comunicare un messaggio ad un destinatario senza che una terza persona venga a conoscenza del contenuto del messaggio ANCHE SE DOVESSE ENTRARE IN POSSESSO DELLO STESSO ALICE BOB EVA M Alice codifica il messaggio in base a regole concordate solo tra Alice e Bob e spedisce il messaggio a Bob che conoscendo le regole di cifratura , e’ in grado di decodificare il messaggio e risalire all’originale. Se Eva viene in possesso del messaggio cifrato ma non conosce le regole di cifratura, non `e in grado di risalire al messaggio originale. prof. Sandro Pistori
CRITTOGRAFIA QUANTISTICA Definizioni e lessico CRITTOGRAFIA 1: arte di rendere un messaggio inintelligibile a qualsiasi persona non autorizzata a leggerlo CRITTOGRAFIA 2: studio delle tecniche matematiche connesse agli aspetti della sicurezza delle informazioni quali: Autenticità – Integrità – Confidenzialità PROTOCOLLO CRITTOGRAFICO: insieme di procedure che portano il messaggio dal mittente al ricevente ALGORITMO CRITTOGRAFICO: insieme di regole matematiche per cifrare e decifrare il messaggio da comunicare CHIAVE CRITTOGRAFICA oggetto (numerico) segreto con il quale si può codificare e decodificare il messaggio prof. Sandro Pistori
Osservazioni La crittografia non vuol dire SICUREZZA Un sistema crittografico è sicuro quanto il suo punto più debole La crittografia è DIFFICILE Da un punto di vista teorico: Si basa su tecniche matematiche avanzate perché offrono delle possibilità superiori. Per poter avere un algoritmo sicuro occorre dimostrare matematicamente quale è l’attacco più efficiente contro l’algoritmo e che questo non è praticabile Da un punto di vista implementativo : Occorre trovare il modo corretto per implementare gli algoritmi matematici con il massimo delle prestazioni ed il minimo utilizzo di risorse. Al momento dell’implementazione sorgono problemi non presenti nella formulazione dell’algoritmo: la sicurezza del codice in esecuzione, la possibilità che qualcuno legga i dati … Da un punto di vista esecutivo: l’utilizzatore è veramente capace di utilizzare il programma o l’hardware che implementa un algoritmo crittografico? prof. Sandro Pistori
Esempio: Cifrario di CESARE ALGORITMO: sostituire ogni lettera con N-esima lettera successiva nell’alfabeto ricominciando da capo quando si arriva alla Z F(x)=(x+N) mod 21 con Essendo x il valore numerico assegnato alla lettera in base al posto occupato nell’alfabeto (a 21 lettere nel caso in questione) CHIAVI: chiave di cifratura N e chiave di decifratura –N Chiavi possibili: 21. Esempio: N = 7 A B C D E F G H I L M N O P Q R S T U V Z H I L M N O P Q R S T U V Z A B C D E F G GIULIO CESARE PRESRV LNCHBN prof. Sandro Pistori
Esempio: cifratura MONOALFABETICA Consideriamo un qualsiasi riordinamento dell’alfabeto fissato, e si sostituisca ogni lettera con la lettera corrispondente. Chiavi possibili: 21! Esempio: A B C D E F G H I L M N O P Q R S T U V Z Q E R T U I O P A S D F G H L Z C V B N M GALILEI OQSASUA prof. Sandro Pistori
Esempio: Cifrario di VIGENERE prof. Sandro Pistori
Il cifrario perfetto - OTP Un cifrario perfetto è un sistema che non può essere decifrato non possedendo la chiave anche in un tempo infinito e facendo uso di computer di potenza infinita. L’esempio più conosciuto di sistema perfetto è costituito dal cifrario di Vernam (1926), altrimenti noto con il nome di blocco monouso (One Time Pad-OTP) Algoritmo OTP: Il messaggio da cifrare viene trasformato in bit Viene scelta casualmente una chiave: numero binario lungo quanto il testo da cifrare Viene fatto XOR di ogni bit del messaggio con il corrispondente bit della chiave e questo sarà il messaggio cifrato Bob decifra il messaggio facendo l’ XOR con la chiave prof. Sandro Pistori
L’operatore XOR Operatore logico binario (OR esclusivo) definito seconda la seguente tabella: XOR 1 Restituisce 1 quando opero tra valori binari diversi 0 quando opero tra valori uguali prof. Sandro Pistori
Il cifrario perfetto - OTP Alla base dell’impossibilità di violare OTP ci sta: la casualità della chiave il monouso della chiave la lunghezza della chiave (almeno quanto il testo da cifrare) Supponiamo sia N il numero di bit del messaggio in chiaro e Alice abbia cifrato il testo utilizzando OTP con una chiave random. Se Eva intercetta il messaggio cifrato per decodificarlo non ha altra scelta che provare tutte le 2N possibili chiavi Anche se Eva avesse a disposizione un computer infinitamente potente che le permettesse di decodificare tutti i possibili messaggi in un tempo ragionevole, non potrebbe scegliere quello giusto perché si troverebbe davanti tutti i possibili risultati prof. Sandro Pistori
Il cifrario perfetto - Problemi Come posso generare chiavi che siano veramente casuali ? Il generare grandi numeri casuali (random) è un problema di programmazione molto complesso che viene comunque risolto mediante difficili algoritmi matematici e l’intervento umano (molti di questi sistemi richiedono all’utente di digitare a caso sulla tastiera o di muovere il mouse casualmente) Come fa Alice a trasmettere la chiave se il canale di comunicazione non è sicuro? Crittografia a chiave pubblica e Crittografia quantistica prof. Sandro Pistori
Alice fornisce Bob di un lucchetto del quale solo lei ha la chiave: Crittografia a CHIAVE PUBBLICA Alice fornisce Bob di un lucchetto del quale solo lei ha la chiave: Il lucchetto è la chiave pubblica mediante la quale con un algoritmo noto viene cifrato il messaggio. Il messaggio cifrato da Bob e spedito da Alice può essere decodificato solo con la chiave privata di Alice Alice mediante la chiave privata decodifica il messaggio È praticamente impossibile ricavare la chiave privata in possesso solo di Alice dalla conoscenza della chiave pubblica usata per cifrare il messaggio prof. Sandro Pistori
In pratica impossibili da invertire Crittografia a CHIAVE PUBBLICA Algoritmi asimmetrici: procedure che sono matematicamente impossibili da invertire in tempi ragionevoli per la validità del messaggio comunicato Si basano sull’esistenza di One Way trapdoor function, vale a dire funzioni matematiche f: Facili da calcolare In pratica impossibili da invertire Facili da invertire solo in presenza di un’ulteriore informazione: la chiave privata segreta (trapdoor) Esempio di tale tipo di funzione è la fattorizzazione di un intero n = pq p,q primi prof. Sandro Pistori
RSA: Rivest, Shamir e Adleman Si scelgano due numeri primi p , q molto grandi Si scelga un numero casuale e tale che 1<e<r=(p-1)(q-1) ed MCD(e;r)=1 Sia n=pq Si calcoli d l’unico intero tale che ed 1 mod(r) La chiave Pubblica C è la coppia (e,n) La chiave Privata K è la coppia (d,n) Data la chiave C ed il messaggio m viene cifrato con la formula c me mod(n) Data la chiave K ed il messaggio c viene decifrato con la formula m cd mod(n) prof. Sandro Pistori
Crittografia a CHIAVE PUBBLICA Il principale problema è la lentezza a causa dell’impiego di risorse: LE CHIAVI SONO MOLTO LUNGHE PER GARANTIRE LA DIFFICOLTA’ NECESSARIA AD ESEMPIO NELLA FATTORIAZZAZIONE La crittografia a Chiave Pubblica risolve il problema principale della crittografia simmetrica, vale a dire lo scambio delle chiavi La sicurezza è basata su problemi matematici difficili da risolvere per i quali non è stata ancora dimostrata l’impossibilità dell’esistenza di algoritmi veloci che li risolvono. Nulla vieta quindi che in un futuro anche non lontano tali algoritmi non vengano scoperti prof. Sandro Pistori
La polarizzazione della luce MAXWELL: la luce è un’onda elettromagnetica, risultato in ogni punto della sua propagazione della composizione di un campo elettrico e di un campo magnetico che vibrano su direzioni variabili ma sempre tra esse perpendicolari prof. Sandro Pistori
La polarizzazione della luce Facendo passare l’onda elettromagnetica attraverso delle sostanze particolari o strumenti specifici chiamati analizzatori posso ottenere un’onda che vibra solo su un determinato piano di oscillazione: ONDA POLARIZZATA Vi sono direzioni di polarizzazione privilegiate, tra loro ortogonali: Orizzontale / Verticale Diagonale a 45° / Diagonale a 135° Quando un’onda passa attraverso un analizzatore la componente dell’onda parallela alla direzione dell’analizzatore passa mentre quella perpendicolare viene assorbita 45° prof. Sandro Pistori
Meccanica Quantistica È una disciplina della fisica ed una teoria formale nata agli inizi del ‘900 Formula le leggi fondamentali delle particelle elementari (atomiche e sub-atomiche) Le leggi che regolano il mondo delle particelle elementari sono spesso in contrasto con la nostra intuizione legato ad un macrocosmo Tre concetti principali: La MQ è molto spesso statistica, nel senso che spesso non può predire con certezza il risultato di un esperimento ma solo la probabilità di riuscita La natura è quantizzata e gli scambi di energia non avvengono in modo continuo ma discreto Non è possibile duplicare uno stato conosciuto, cioè non esiste una fotocopiatrice quantistica perché ogni misura perturba il sistema misurato prof. Sandro Pistori
Il principio di indeterminazione di HEINSEMBERG È impossibile misurare contemporaneamente la posizione e la velocità di una particella elementare La misura esatta di una delle due grandezze perturba irrimediabilmente l’altra Se si vuole misurare la posizione di un elettrone occorre usare strumenti che lavorano con lunghezze d’onda molto piccole il che comporta frequenze elevate e quindi quantità di energia che produrrà aumento di velocità della particella Se si vuole misurare la velocità si dovrà operare con strumenti a frequenze molto basse e quindi lunghezze d’onda molto grandi con le quali quindi non si riuscirà a vedere la particella prof. Sandro Pistori
I fotoni Unità fondamentale della quantizzazione dell’energia della luce. Può essere visto come un microscopico campo elettrico oscillante, la cui direzione di oscillazione rappresenta la sua polarizzazione Un raggio di luce è quindi un insieme di fotoni (massa nulla) che si muovono Un fotone è polarizzato verticalmente se dopo esser passato da un analizzatore verticale è fermato da un analizzatore orizzontale e viceversa Un fotone è polarizzato a 45° se dopo esser passato attraverso un analizzatore diagonale è fermato da un analizzatore a 135° e viceversa E NEL CASO IBRIDO VERTICALE (ORIZZONTALE) + DIAGONALE, come spiegare l’assorbimento del 50% di energia che si ha nell’interpretazione ondulatoria della luce? prof. Sandro Pistori
LA CRITTOGRAFIA QUANTISTICA Teniamo presente che: Gli elaboratori sono costituiti da circuiti stampati sempre più piccoli Le informazioni vengono sempre più spesso trasmesse attraverso onde elettromagnetiche e fotoni ed inviate mediante fibre ottiche Si stanno costruendo prototipi sempre migliori di elaboratori quantistici capaci di risolvere, grazie ad un modo di calcolare completamente diverso dagli elaboratori moderni, problemi matematicamente difficili in breve tempo (ad esempio la fattorizzazione) La CRITTOGRAFIA PROVA AD UTILIZZARE LA FISICA IN APPOGGIO ALLA MATEMATICA prof. Sandro Pistori
QKD: Quantum Key Distribution DEFINIZIONE: Protocollo per generare e scambiare in assoluta sicurezza chiavi segrete tra due corrispondenti per usi crittografici, mediante particelle elementari e sfruttando le leggi della meccanica quantistica OCCORRENTE CANALE DI COMUNICAZIONE QUANTISTICO attraverso il quale avviene lo scambio di fotoni (FIBRE OTTICHE – SPAZIO LIBERO) CANALE DI COMUNICAZIONE CLASSICO attraverso il quale avviene la comunicazione completa in modo autenticato ed integro RICETTA: Alice e Bob creano una chiave segreta in modo casuale usando principi quantistici e poi usando ad esempio OTP scambiano in maniera matematicamente sicura messaggi prof. Sandro Pistori
IL PROTOCOLLO BB84: proposto da Bennett e Bressard nel 1984 CRITTOGRAFIA QUANTISTICA IL PROTOCOLLO BB84: proposto da Bennett e Bressard nel 1984 Usando un canale di comunicazione quantistico ALICE prepara un fotone con una delle quattro polarizzazioni scelta casualmente, lo spedisce a BOB annotandosi la scelta fatta BOB sceglie in modo casuale ed indipendente da ALICE un filtro di polarizzazioni orizzontale/verticale o diagonale, misura la polarizzazione del fotone ricevuto e si annota il risultato tenendolo segreto ALICE e BOB ripetono i punti 1 e 2 un numero sufficiente di volte: questo numero dipende dalla lunghezza della chiave che si vuole generare (di norma più del doppio dei bit che compongono la chiave stessa) Usando il canale di comunicazione classico BOB informa ALICE della scelta di direzione (orizzontale/verticale o diagonale) che ha fatto per misurare la polarizzazione di ciascun fotone ma non dice il risultato della misura Alice comunica pubblicamente se per ciascun fotone Bob ha fatto la scelta di direzione corretta. ALICE e BOB scartano tutte le misure per cui BOB aveva scelto la direzione sbagliata ed i bit che rimangono formano nell’ordine la sifted key, ovvero la prima proposta di chiave prof. Sandro Pistori
Un esempio… prof. Sandro Pistori
Osservazioni Dopo i punti 1 e 2 del protocollo Bob ha il 25% di probabilità di avere il risultato sbagliato: nel 50% dei casi scegli la direzione sbagliata di misura e quando sceglie la direzione sbagliata nel 50% dei casi ottiene il risultato errato Nei punti 4 e 5 Alice e Bob eliminano i fotoni per i quali Bob ha sbagliato la direzione e quindi sono in media la metà di quelli inviati da Alice La Chiave segreta è indipendente dalle scelte fatte da Alice e Bob ma è una combinazione delle scelte casuali di entrambi Se tutto fosse perfetto ora avrebbero una chiave segreta pronta all’uso. Ma Eva?… prof. Sandro Pistori
Man in the middle: EVA all’attacco Eva si inserisce nel canale di comunicazione quantistico intercettando e rispedendo i fotoni inviati da Alice a Bob Eva come Bob non sa quale polarizzazione scegliere per misurare il fotone e quindi commette errori con la stessa percentuale di Bob Eva qualunque cosa faccia modificherà irrimediabilmente lo stato dei fotoni inviati da Alice Nel caso del semplice attacco diretto in media il 25% dei bit della sifted-key di Bob saranno diversi da quelli di Alice Quindi è possibile capire se vi è stato un attacco controllando se la sifted-key di Bob è diversa da quella di Alice A questo punto o Alice e Bob escogitano un modo per neutralizzare l’attacco di Eva modificando ulteriormente la loro key in modo da rendere inefficaci le informazioni raccolte da Eva interrompono la comunicazione e vanno a caccia di Eva prof. Sandro Pistori
I fotoni sentinelle Eva e Bob si accordano di dire pubblicamente i risultati delle misure di alcuni fotoni per controllare la sicurezza del canale In caso di attacco si possono avere quattro casi: Filtro di Alice = Filtro di Eva = Filtro di Bob Filtro di Alice Filtro di Eva = Filtro di Bob Filtro di Alice = Filtro di Eva Filtro di Bob Filtro di Alice Filtro di Eva Filtro di Bob prof. Sandro Pistori
I fotoni sentinelle I casi in cui il filtro di Alice è diverso da quello di Bob vengono scartati dal protocollo e quindi ogni risultato di Eva è inutile (secondo e terzo caso) Nel primo caso Eva è stata particolarmente fortunata e quindi è riuscita ad avere il bit esatto della sifted-key Nel quarto caso al contrario non solo ha usato il filtro sbagliato ma questo suo errore può rivelare la sua presenza nel caso in cui Alice e Bob abbiano deciso di usare quel fotone come sentinella perché il risultato ottenuto da Bob sarà diverso da Alice contrariamente a quanto sarebbe dovuto accadere. prof. Sandro Pistori
Error Correction e Privacy Amplification E se gli errori introdotti fossero errori strumentali o accidentali ? Come distinguere errori strumentali da attacchi di Eva? RISPOSTA: non si può !!! C’e sempre un errore e quindi dato che è impossibile distinguere l’errore accidentale dall’attacco di Eva butto sempre via la chiave? RISPOSTA: ovviamente NO !!! prof. Sandro Pistori
Error Correction e Privacy Amplification Si assume che tutti gli errori siano dovuti ad attacchi di Eva Alice e Bob applicano alla sifded-key ottenuta altre due fasi: Error correction: permette di eliminare gli errori nella key e stimare la percentuale degli stessi. Se questa è > 11% la chiave viene gettata Privacy Amplification: la chiave viene ulteriormente modificata in modo tale che l’informazione in possesso di Eva (<11%) viene ridotta a zero Queste due fasi possono avvenire anche pubblicamente Alla fine il numero dei bit di cui è composta la chiave può arrivare fino ad 1/8 dei fotoni utilizzati inizialmente da Alice prof. Sandro Pistori
Error Correction Alice sceglie due bit della sua chiave ed esegue XOR Alice dice a Bob i bit scelti ed il risultato dell’XOR, ma non il valore dei singoli bit Bob calcola l’XOR degli stessi due bit della sua sifdet-key e dice ad Alice se il risultato è lo stesso o no Se il risultato è lo stesso tengono il primo bit e scartano il secondo Se il risultato è diverso scartano tutti e due i bit e calcolano un errore DOMANDA: Quando questa procedura non funziona? Se, rispetto ad Alice, entrambi i bit di Bob sono errati XOR restituirà gli stessi risultati, e quindi Alice e Bob non si accorgeranno dell’errore Esistono procedure più complesse che annullano questo rischio prof. Sandro Pistori
Privacy Amplification Alice sceglie a caso due bit e ne segue l’XOR Alice comunica a Bob i due bit scelti ma non il risultato Bob esegue l’XOR dei due bit e mantiene segreto il risultato Sia Alice che Bob sostituiscono i bit con il risultato dell’XOR Se anche Eva decidesse di procedere visto che la sua sifdet-key è diversa qualche volta opererebbe con un bit giusto ed uno sbagliato e e lo sostituirebbe con il risultato dell’XOR ovviamente errato e quindi alla fine il numero di errori nella chiave di Eva teoricamente aumenterebbe prof. Sandro Pistori
Esempio ALICE : 0 1 1 0 1 0 1 1 1 BOB: 0 1 0 0 1 1 0 1 1 1) XOR 1 1 1 1 0 1 ALICE : 0 1 0 1 1 BOB: 0 1 1 1 1 2) XOR ALICE : 0 1 0 0 BOB: 0 1 1 0 prof. Sandro Pistori
A confronto… QKD Chiave pubblica/privata CON Richiede linee dedicate e necessita di Hardware specifici È molto portabile e può essere implementato in software PRO Assolutamente sicuro Matematicamente non deciso perché basato su problemi matematici dei quali non è nota pubblicamente una soluzione semplice La sicurezza è basata su principi generali che non si modificano in futuro La sicurezza è basata sulla lunghezza delle chiavi in base alla potenza degli elaboratori È sicura anche con gli elaboratori quantistici Gli elaboratori quantistici sapranno romperla sicuramente Oggi molto costoso A portata economica di chiunque Molto nuovo ed in grande sviluppo Ben sperimentato e di grande distribuzione prof. Sandro Pistori
A confronto… QKD Chiave pubblica/privata CON Ad oggi funziona solo a distanze limitate con connessioni a fibre ottiche dirette Funziona a qualsiasi distanza e con qualunque network PRO Può essere utilizzato facilmente assieme al OTP, l’unico algoritmo matematicamente sicuro Non può essere utilizzato facilmente con il OTP La velocità di creazione della chiave segreta è ancora molto bassa Richiede molte risorse computazionali quando le chiavi sono molto lunghe prof. Sandro Pistori