• Non ci sono risultati.

Quanti e Segreti Un invito alla crittologia quantistica

N/A
N/A
Protected

Academic year: 2022

Condividi "Quanti e Segreti Un invito alla crittologia quantistica"

Copied!
47
0
0

Testo completo

(1)

Quanti e Segreti

Un invito alla crittologia quantistica

Università di

Camerino

Stefano Mancini

(2)

Comunicazioni…

Tutti i partecipanti possono stampare direttamente un attestato di partecipazione compilando il modulo presente su:

http://darwin.unicam.it/formazione/

La Password è: k99X6%xp

Il modulo va compilato durante il webinar

I docenti iscritti su SOFIA potranno scaricare l’attestato completo di tutto il percorso una volta terminati i laboratori

Per i docenti non iscritti su SOFIA sarà predisposto un modulo dove inserire i propri dati al fine di ottenere poi una certificazione

(3)

Per iniziare…

• krupto, ma no steganografia

• utenti legittimi, mittente e ricevente (Alice & Bob)

• utente illegittimo, eavesdropper (Eve)

• messaggio in chiaro (plain-text), messaggio cifrato (cipher-text o crittogramma), chiave

• cifrario, codice

• crittografia, crittoanalisi, crittologia

“Il desiderio di svelare segreti è profondamente radicato nella mente umana; la possibilità di partecipare a conoscenze negate ad altri eccita infatti anche la mente meno curiosa”

- John Chadwick, The Decipherment of Linear B

(4)

Sommario

Uno sguardo storico

Un codice inviolabile

La crittografia a chiave pubblica

Un salto nel futuro

La distribuzione quantistica delle chiavi (QKD)

Oltre la QKD, il bit commitment

Conclusioni

(5)

Atbash ebraico

L’atbash è un codice di sostituzione monoalfabetica, che viene utilizzato alcune volte anche nella Bibbia, per esempio nel libro di Geremia (25:26) si trova Sheshakh invece di Babel:

“Insomma, feci bere da quella coppa tutti i regni che sono sulla terra e lasciai per ultimo il re di Sheshakh”

(6)

Sostituzione Monoalfabetica

Chiamiamo Alfabeto l’insieme dei simboli che intendiamo utilizzare. Esempio di alfabeto con 26 simboli:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Uno dei primi codici a sostituzione monoalfabetica, è quello di Giulio Cesare (50 AC), che spostava semplicemente di tre

passi l’alfabeto in modo ciclico:

ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC Per decifrare si sposta indietro di tre.

Solo gli utenti legittimi sanno di quanto spostare (chiave).

(7)

Esempio

In questo modo l’incipit della Divina Commedia:

NEL MEZZO DEL CAMMIN DI NOSTRA VITA MI RITROVAI PER UNA SELVA OSCURA

diventa:

QHO PHCCR GHO FDPPLQ GL QRVWUD YLWD PL ULWURYDL SHU XQD VHOYD RVFXUD

Se spostiamo di 6 invece di 3 otteniamo:

TKR SKFFU JKR IGSSOT JO TUYZXG BOZG SO XOZXUBGO VKX ATG YKRBG UYIAXG

(8)

Un po’ di matematica

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Ad ogni simbolo si associa un numero intero x (nel nostro caso da 0 a 25 dove 0-A e 25-Z), quindi un messaggio risulta

M = x1 x2 . . . xn

Lo spazio K delle chiavi contiene 25 elementi, gli interi 1, ... 25.

Per ogni chiave k c’è una funzione di cifratura:

y=k (x) = x + k (mod 26) Nel codice di Cesare k = 3.

Per ogni chiave k c’è anche una funzione che decifra Dk che è:

Dk (y) = y -k (mod 26)

Esempio: la parola ‘GATTO’ diventa M = 06 00 19 19 14.

Se scegliamo k = 15 si ha: 15(M) = 21 15 08 08 03 V P I I D

(9)

Il metodo di esaustione

Ci sono poche chiavi. Soltanto i numeri da 1 a 25.

Quando le chiavi sono poche, per scoprire il messaggio è sufficiente provarle tutte una dopo l’altra!

Finora abbiamo considerato soltanto 25 permutazioni cicliche dei numeri 0 ... 25. Nessuno ci impedisce di utilizzare una

generica permutazione :

(M) = (x1) (x2) . . . (xn) Lo spazio delle chiavi diviene immenso!

Ci sono 26!=26x25x24x….x3x2x1 permutazioni su 26 simboli.

L’ordine dello spazio delle chiavi è circa 4.03x1026.

Non è più possibile violare il codice con la sola forza bruta!

(10)

Le origini della crittoanalisi

Baghdad, al-Kindi (800-873)

Sulla decifratura di messaggi crittografici

(11)

L’indagine statistica

The Gold Bug, 1843. Un esempio di applicazione di questa tecnica si trova nel racconto di Edgar Allan Poe ‘Lo scarabeo d’oro’.

(12)

Sostituzione polialfabetica

Si può dire che la crittografia moderna sia nata nel 1586, quando il diplomatico francese Blaise de Vigenère (1523-1596) pubblicò il cifrario che porta il suo nome.

L’idea di Vigenere è quella di utilizzare più di una permutazione dell’alfabeto. Se abbiamo k permutazioni 1 2 . . . k :

Esempio con permutazioni cicliche e parola chiave: MELA = 12 04 11 00

(M) = 1(x1) 2(x2) . . . k(xk) 1(xk+1) 2(xk+2) . . .

C I V E D I A M O D O M A N I

M E L A M E L A M E L A M E L

O M U E P M L M B H A M M R T

02 08 09 04 03 08 00 12 14 03 14 12 00 13 08 12 04 11 00 12 04 11 00 12 04 11 00 12 04 11 14 12 20 04 15 12 11 12 00 07 25 12 12 17 19

(13)

Come violare i codici

di sostituzione polialfabetica

Nel 1863 Friedrich Kasiski comprese che, se è nota la lunghezza k della parola chiave, il problema di rompere un codice di sostituzione polialfabetica si può ridurre a quello di decifrare k codici monoalfabetici.

Infatti i simboli x1, xk+1, x2k+1, . . . , xhk+1 saranno cifrati dalla permutazione

1, i simboli x2, xk+2, x2k+2, . . . , xhk+2 saranno cifrati dalla permutazione 2, e così via.

Si tratta di una idea veramente algebrica: un codice complesso viene spezzato nella somma di k codici semplici.

Metodo di Kasiski: Se la parola chiave ha lunghezza k, si costruiscono (prendendo una lettera ogni k) k messaggi, ognuno dei quali è stato codificato con una singola permutazione i .

Su ognuno dei k messaggi trovati si utilizza la indagine statistica.

(14)

La chiave deve essere lunga

Kasiski stesso descrisse un metodo per trovare la lunghezza della parola chiave, basato sulla distanza tra segmenti uguali nel messaggio cifrato.

Se, per esempio, xyz appare più volte a distanze 10 e 15, è probabile che la lunghezza sia 5.

Esistono metodi molto efficienti per trovare la lunghezza, come l’indice di coincidenza I di Friedman (1922).

I è la probabilità di trovare due simboli identici scegliendo a caso la loro posizione; è tipico di ogni lingua ILi=025 pi2

I=IL sostituzione monoalfabetica I<IL sostituzione polialfabetica

(15)

La macchina Enigma

Macchina a rotori Enigma usata dai Tedeschi durante la Seconda Guerra Mondiale

(16)

I rotori

Premendo un tasto un rotore si spostava di uno scatto, e la permutazione cambiava.

Le permutazioni si ripetevano, con tre rotori, soltanto dopo 26 x 26 x 26 = 15.756 lettere. Dunque la lunghezza della parola chiave, ovvero il numero delle permutazioni utilizzate in sequenza, era pressoché uguale alla lunghezza del messaggio, se il messaggio non era lunghissimo.

(17)

Le ‘bombe’ di Turing

La correlazione esistente tra le permutazioni successive e altri errori fatti dai Tedeschi permisero al team diretto dal grande matematico Alan Turing e da Gordon Welchman di rompere il codice Enigma. Furono usati i primi calcolatori elettrici, particolari macchine dette ‘bombe’, ognuna delle quali simulava il lavoro di dodici macchine Enigma.

La rottura del codice Enigma fu di capitale importanza per le sorti della guerra.

(18)

Crittografi vs Crittoanalisti

Esiste un codice perfetto?

(19)

Il cifrario One Time Pad

(G. Vernam 1917)

01011100 11001010 10010110

plaintext KEY

cryptogram

10010110 11001010 01011100

1 0 0 1 0 1 1 0

KEY cryptogram

plaintext

I numeri interi che costituiscono plaintext, key e cryptogram possono essere rappresentati nella forma binaria

One Time Pad è inviolabile a patto che il materiale di chiave sia random, lungo quanto il messaggio e utilizzato una sola volta (Shannon, 1949).

(20)

Problema della

distributione delle chiavi

KEY 0 0 1 0 1 1 0

?

KEY 0 0 1 0 1 1 0

Prima di scambiarsi un segreto, Alice e Bob

debbono condividere un segreto!

(21)

Possibili soluzioni

Crittografia a chiave pubblica

sicurezza basata sulla complessità computazionale

Crittografia quantistica

sicurezza basata su principi fondamentali della fisica

(22)

Crittosistemi a chiave pubblica

Alice utilizza la chiave

pubblicata da Bob per cifrare

Bob decifra con la chiave privata (legata matematicamente a

quella pubblica)

(23)

Scelti N primo e g<N, essi vengono resi pubblici

Alice sceglie random x<N ed invia a Bob u=gx (mod N)

Bob sceglie random y<N ed invia ad Alice v=gy (mod N)

Alice calcola vx (mod N) = gxy (mod N)

Bob calcola uy (mod N) = gxy (mod N)

Eve dovrebbe calcolare x=logg u (mod N) e y=logg v (mod N), ma non è facile!

Crittosistema di Diffie & Hellman (1976)

(24)

La sicurezza

Con la chiave privata la decifratura deve essere facile.

Con la sola chiave pubblica la decifratura deve essere difficile.

Ricorrere a funzioni a senso unico.

(25)

Facile e difficile

L

n

) exp(L

INPUT SIZE

Execution Time

P NP EXP

BPP

Discrete log and factoring

(26)

Moltiplicare e Fattorizzare

fattorizzare un numero con L cifre decimali N=10L

# divisioni richieste (approsimativamente) N =10L/2

Fattorizzare un numero con L=100 cifre decimali con metodo delle divisioni supponendo 1010 divisioni/sec richiederebbe 1040 sec

1017 sec ?

(27)

Un piccolo problema….

La sicurezza dipende da proposizioni matematiche non dimostrate, quali la difficoltà di fattorizzare.

Qualcuno potrebbe inventare algoritmi più veloci ed efficienti per risolvere il problema della fattorizzazione e ciò porterebbe al crollo di tutti gli attuali sistemi di sicurezza!

(28)

Un ‘salto’ nel futuro

1m 1nm

faster smaller shrinking computer

Every 18 months microprocessors double in speed

FASTER = SMALLER Moore’s Law

(29)

Un esperimento mentale

(30)

L’origine di un nuovo ‘credo’

Possiamo avere una sovrapposizione coerente di due o più stati di un singolo sistema in differenti punti dello spazio allo stesso istante di tempo

Mentre misuriamo una grandezza fisica alteriamo lo stato del sistema forzandolo a ‘collassare’ in uno dei suoi possibili autostati. Lo stato nel quale il sistema

‘collassa’ dipende dalla probabilità di occorrenza di tale stato

Neils Bohr & Albert Einstein

(31)

Dal bit al quantum bit

Come avere sovrapposizioni coerenti ?

Þ y = c

0

y

0

+ c

1

y

1

, c

0

,c

1

Î C

Esempio (matematico):

y

±

= 1

2 ( y

0

± y

1

) ; y

0

1

= 1

2 ( y

+

± y

-

)

(32)

Esempio (fisico):

(33)

y

0

Pr = c

0 2

y

1

Pr = c

1 2

Come descrivere la misura ?

y = c

0

y

0

+ c

1

y

1

y = c

+

y

+

+ c

-

y

-

Proiezioni

y

+

Pr = c

+ 2

y

-

Pr = c

- 2

osservabile X

osservabile Z

(34)

Una tabella riassuntiva

y

0

Z y

0

y

1

Z y

1

y

0

X y

+

Pr = 1 2; y

-

Pr = 1 2 y

1

X y

+

Pr = 1 2; y

-

Pr = 1 2 y

+

Z y

0

Pr = 1 2; y

1

Pr = 1 2 y

-

Z y

0

Pr = 1 2; y

1

Pr = 1 2 y

+

X y

+

y

-

X y

-

Stato a priori

Stato a posteriori Osservabile

(35)

Spingiamo il là l’immaginazione….

0 or 1 0 or 1 or 0 1

Classical Bit Quantum Bit

Classical register Quantum register

101 000 001 010 011

100 101 110 111

(36)

Il computer quantistico

000 001 010 011 100 101 110 111

F(000) F(001) F(010) F(011) F(100) F(101) F(110) F(111)

F (x)

Quantum

Processor

(37)

Verso il trionfo dei crittoanalisti?

Nel 1994 Peter Shor propose un algoritmo che sfruttava il

parallelismo quantistico per risolvere efficientemente il problema della fattorizzazione

Implementando tale algoritmo, la fattorizzazione di un numero di 100 cifre richiederebbe solo qualche secondo!

Questo significa la possibile crisi degli attuali sistemi crittografici!

(38)

La vendetta dei crittografi….

Canale quantistico

Un protocollo quantistico per la distribuzione delle chiavi (BB84 QKD)

Canale classico pubblico

(39)

0 1 1 0 1 1 0 0 1 0 0 1

0

0 Z

0

Z 0

-

1 X

0

Z

0 1

Z 

0

1

X 

+

-

Z X X Z X Z Z Z X X Z Z

(40)

Riconciliazione delle basi:

Controllo del QBER:

Dei restanti bits, N vengono confrontati pubblicamente per stabilire il tasso di errore nella stringa finale (chiave)

0 1 1 0 1 1 0 0 1 0 0 1

Z X X Z X Z Z Z X X Z Z

(41)

Sicurezza QKD

Z (

0, p=1/8)

0 Z (

0, p=1/8)

Z (

0, p=1/2)

Z (p=1/2) X (p=1/2)

Probabilità che N bits di controllo coincidano nonostante l’azione di eavesdropping:

0

-

+

(42)

Ancora sulla QKD

La QKD non può impedire l’intrusione, ma la sua

sicurezza sta nella possibilità di scroprire l’intrusione!

Il guadagno di informazione da parte di Eve implica un disturbo (relazione di indeterminazione)

E’ dimostrabile la sicurezza assoluta della QKD con un quantum bit error rate >0 (max 11%).

Dalla prima dimostrazione in laboratorio nel 1992 su di una distanza di 32 cm all’esperimento su 7600 Km tra Austria-Cina nel 2018.

QKD è oramai una tecnologia affermata!

(43)

Ancora sulla QKD

(44)

Oltre la QKD

Nella computazione a due parti Alice (Bob) ha un input privato x (y) e vorrebbe aiutare Bob a calcolare una prescritta funzione f(x,y) senza rivelare x

Il bit commitment è una primitiva di calcolo distribuito sicuro

Non esistono protocolli classici che garantiscono sicurezza assoluta per il bit commitment. Può la

meccanica quantistica risolvere anche questo problema?

(45)

“The spooky action at distance”

y

0

( )

A

( ) y

0 B

; ( ) y

1 A

( ) y

1 B

stati separabili

Un’azione di Alice sul suo quantum bit ha un effetto istantaneo a distanza anche sul quantum bit di Bob!

y

0

( )

A

( ) y

0 B

+ ( ) y

1 A

( ) y

1 B

2 stato 'entangled'

y

0

( )

A

( ) y

0 B

+ ( ) y

1 A

( ) y

1 B

2

Alice misura Z

(46)

Un approccio informatico alla fisica ?

La fisica quantistica può essere vista non come una teoria meccanica delle onde e delle particelle, ma come una teoria circa le possibilità (o impossibilità) nell’elaborare informazione:

Impossibilità di segnali superluminali

Impossibilità di perfetto broadcasting (cloning) dell’informazione contenuta in uno stato sconosciuto

Impossibilità di bit commitment assolutamente sicuro

(47)

Conclusioni

Crittologia quantistica:

Un’arena per apprendere Matematica, Fisica, Informatica

Utili letture:

“Codici e segreti”, Simon Singh, BUR 2006

“Crittografia: dai bit ai qubit”, S. Mancini e C. Toffalori, XlaTangente n° 2, pag.25 (2015) online

Ulteriori informazioni:

stefano.mancini@unicam.it http://qmit.phys.unicam.it

Riferimenti

Documenti correlati

Il ragazzo vive ancora nella casa della stazione, fa il capostazione come suo padre ed è rinchiuso nella sua solitudine, senza un amico e con le sue strane abitudini

Principio: un messaggio cifrato con la chiave Pubblica può essere decifrato solo con la corrispondente chiave Privata. Un messaggio cifrato con la chiave Privata può essere

Usa questi tre segmenti (puoi anche usarne uno più volte) per costruire dei triangoli?. Disegna sul tuo quaderno

 Si dice segmento una porzione di retta Si dice segmento una porzione di retta delimitata da due punti detti estremi del delimitata da due punti detti estremi del..

Le attenzioni, pastorali e spirituali, che possono sgorgare dalla celebrazione della “Domenica della Parola di Dio” sono numerose, anche alla luce dei significativi

per il riconoscimento è memorizzare nello stack i simboli della prima metà, poi estrarre i simboli dallo stack e verificare che corrispondano a quelli della seconda metà della

[r]

[r]