teoria dell’informazione e crittografia - dipartimento di...

21
Teoria dell’Informazione e Crittografia di Francesco Napoli Claude Shannon C. Shannon è considerato "il padre della teoria dell'informazione“. A Mathematical Theory of Communication (1948) Communication Theory of Secrecy Systems (1949) (Bell Systems Technical Journal)

Upload: vantuong

Post on 19-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Teoria dell’Informazione e Crittografia

di

Francesco Napoli

Claude Shannon

C. Shannon è considerato "il padre della teoria dell'informazione“.

A Mathematical Theory of Communication(1948)

Communication Theory of Secrecy Systems(1949)

(Bell Systems Technical Journal)

Shannon

• La moderna teoria dell’informazione è stata originariamente sviluppata da Shannon per lo studio teorico del problema generale della comunicazione efficiente ed affidabile su di un canale reale inaffidabile(rumoroso).

• Shannon si rende conto che la Crittografia fornisce interessanti applicazioni della sua MTC.

Sistema di Comunicazione

sorgente destinazione

rumore

canale

Modello dettagliato

Sorgente Destinazione

Acquisizione Ricostruzione

Codificasorgente

cifratura

Decodificasorgente

decifratura

Codificacanale

Decodificacanale

modulazione demodulazioneCanale continuo

distorsione(rumore)

Canale discreto

Crittosistema - Modello Generale

Sorgente delmessaggio

Destinazione

Sorgente dellachiave

cifratura decifrazione

testo inchiaro

Canaleinsicuro

intrusione

testocifrato

testocifrato

M M

ik

ik

C 'C

'CC testo inchiaro

Canalesicuro

Struttura Crittosistema

Quintupla (P,C,K,E,D):

• P Sorgente Aleatoria v.a. X

• K “ “ “ “ v.a. K

• C “ “ “ “ v.a. Y

• E :

• D :

)(xeyik=

)(ydxik=

xxedii kk =))((

v.a. indip.

Ipotesi

Assunzioni:

• il nemico (il crittoanalista) conosce il CS utilizzato.

• Il nemico è in grado di intercettare il testo cifrato (chipertext attack) e dispone di capacità computazionaliillimitate.

• Ipotesi pessimistiche• Sicurezza matematicamente trattabile• Realistiche con il passare del tempo

Informazioni Diverse

• il decifratore è colui che è autorizzato a leggere il messaggio e quindi conosce la chiaveutilizzata.

• il crittoanalista, invece, conosce solo le probabilità a priori con cui verranno utilizzatele chiavi nel crittosistema e i messaggi nel testoin chiaro.

Segretezza Perfetta (1)

Definizione: un CS ha segretezza perfettase la probabilitàa posteriori

che il testo in chiaro sia x, avendo osservato il testo cifrato y, è identica alla probabilitàa priori che il testo in chiaro sia x, cioè:

Pr[X=x|Y=y] = Pr[X=x]

per ogni x in P, y in C.

Quando il CS utilizzato ha segretezza perfetta il crittoanalistanon può ottenere nessuna informazione sul testo in chiaro osservando il testo cifrato.

Segretezza Perfetta (2)

• Grazie al teorema di Bayessi ottiene immediatamente il seguente teorema:

• Teorema: in un CS perfetto Pr[y] = Pr[y|x], per ogni x in P e per ogni y in C.

• Cioè, in un CS perfetto, il testo in chiaro e il testo cifrato sono descrivibili da due variabili aleatorie (X e Y) statisticamente indipendenti.

• Teorema: in un CS perfetto |K| |P|

• “the number of different keys is at least as great as the number of messages”

• Teorema: il cifrario di Vernam è un CS perfetto se la chiave è scelta con probabilità uniforme Pr[k] = 1 / |K| (One-time-Padè la versione binaria del CS di Vernam).

• Questo ovviamente quando ogni nuova chiave è generata casualmente per cifrare ogni nuova stringa di testo in chiaro.

Riutilizzo della Chiave

• Siccome nel caso del CS di Vernam la chiave che bisognerebbe spedire su un canale sicuro èlunga almeno quanto il messaggio, l’utilizzo di tale CS diventa non conveniente.

• Allora non rimane altro che riutilizzare la stessa chiaveper cifrare più di un testo in chiaro.

• Per cifrare un lungo messaggio M = x1 x2 . . . xN (M è l’intero messaggio e le xi sono gli elementi dell’insieme dei testi in chiaro P (caratteri o stringhe di caratteri)) si cifra ciascun elemento xi in yi = ek(xi) con la stessa chiave k e si concatenano i risultati nel messaggio cifrato C = y1 y2 . . . yN.

• Un CS che riutilizza la chiave non è perfettopoiché ci sarà sempre un N per cui il numero di chiavi sarà inferiore al numero di messaggi di lunghezza N (|M|>|K|).

• In questo modo il crittoanalista può guadagnare informazioni sulla chiave o sul messaggio osservando il testo cifrato.

• Tuttavia un CS che è giudicato insicuro dal punto di vista della teoria dell’informazione può tuttavia essere computazionalmente sicuroe quindi fornire ancora un’elevata protezione nei confronti di eventuali chipertext attacksconsiderando che un opponente reale può disporre solo di una quantità finita di risorse computazionali.

Entropia (1)

• In MTC è stato mostrato che l’informazione può essere convenientemente misurata grazie all’entropia.

• Quindi possiamo dare una caratterizzazione di un CS perfetto in termini di entropia.

• In un CS sono coinvolte due scelte descrivibili secondo una statistica: la scelta del messaggioe la scelta della chiave.

• Possiamo quindi misurare la quantità d’informazione prodotta quando un messaggio è scelto:

• essendo la sommatoria estesa a tutti i messaggi.

∑∈

−=Xx

xxXH )Pr(log)Pr()( 2

Entropia (2)

• Similarmente, c’è un’incertezza associata con la scelta della chiave:

• essendo la sommatoria estesa a tutte le chiavi.

• Nota: in un CS la quantità d’informazione presente nel testo in chiaro è al più pari a log2 |P| (quando i testi sono tutti equiprobabili).

∑∈

−=Kk

kkKH )Pr(log)Pr()( 2

Entropia (3)

• Allora, in un CS perfetto (|K| >= |P| = n) se le chiavi sono tutte equiprobabili (Pr[k] = 1 / |K| per ogni k in K) si ha:

• Cioè l’informazione portata dal testo in chiaro può essere nascosta al crittoanalista (in un CS perfetto) se l’incertezza sulla chiave H(K) è almeno log2 n.

• “the amount of uncertainty we can introduce into the solutioncannot be greater than the key uncertainty”

nKH

XHnKH

2

22

log)(

)(log||log)(

≥⇒

⇒≥≥= Κ

Equivocazione

• Entropia condizionatao equivovazione:

• Nella MTC l’ equivocazione del canaleè una stima dell’informazione perduta in media nel canale rumoroso.

• Rappresenta l’incertezzache rimane in media sul simbolo trasmesso dopol’osservazione del simbolo ricevuto.

∑∑−=y x

yxPyxPYXH )|(log),()|(

Equivocazioni

Equivocazione della chiave:

∑∑−=y k

ykPykPYKH )|(log),()|(

∑∑−=y x

yxPyxPYXH )|(log),()|(

Equivocazione del messaggio:

Punto di vista del crittoanalista: un crittosistema è quivalente ad un sistema di comunicazione su di un canale rumoroso.

Index of Secrecy

• Quindi l’equivocazione della chiave (k) o del messaggio (x) misura quanta informazione sulla chiave o sul messaggio non èrivelata dal testo cifrato (y).

• Maggiore è l’equivocazione e maggiore è l’incertezza che rimane sulla chiave o sul messaggio quando si osserva il testo cifrato.

• Shannon propone di utilizzarla come misura della segretezzadi un CS (index of secrecy).

Informazione Mutua• Informazione mutua:

• Nella MTC è una stima dell’informazione media ricevuta dalla sorgente attraverso il canale.

• Punto di vista del crittoanalista: l’informazione mutua misura quanta informazione sul testo in chiaro è possibile dedurre dal testo cifrato.

• Punto di vista dell’utente: rendere l’informazione mutua tra X e Y la più piccola possibile.

• Quindi in un CS perfetto (situazione ideale):

• Il testo cifrato non dà nessuna informazione sul testo in chiaro.

)|()();( YXHXHYXI −=

)()|(0);( XHYXHYXI =⇔=

Lunghezza del testo cifrato

Più lungo è il testo cifrato, più alta è la probabilità di trovare la chiave

LY : Messaggio cifrato di lunghezzaLH

L

)(KH

)|( LYKH

)|( LL YXH

LX : Messaggio in chiaro di lunghezzaL

Distanza di Unicità (1)

• Teorema:

• dove:

• la ridondanza assolutadei messaggi di lunghezza L(ridonadanza della sorgente L-estesa le cui realizzazioni sono concatenazioni di L realizzazioni della v.a. X dei testi in chiaro).

LL DKHYKH −≥ )()|(

)(||log LL XHPLD −⋅=

Distanza di Unicità (2)

[ ]||log)()()|( PXHLKHYKH L −⋅−≥

)()( XHLXH L ⋅=

D

KH

XHP

KHLYKH L )(

)(||log

)(0)|( =

−≥⇔=

Distanza di unicità: lunghezza minima di testo cifrato necessaria alloopponente per poter calcolare la chiave univocamente.

Ridondanza assolutadei testi in chiaro (linguaggioutilizzato) (ridondanza della sorgente non estesa)

In prima approssimazione(random chiper)

Distanza di Unicità (3)• CS ideale: se D = 0 un attaccante non può identificare il messaggio univocamente.

• In questo caso ideale, infatti, la distanza di unicità è infinita e l’equivocazione della chiave e del messaggio non va a zero all’aumentare della lunghezza L del testo cifrato osservato.

• In praticaè possibile comprimere il messaggio, riducendone la ridondanza, e quindi avvicinarsi il più possibile al caso ideale.

• Si può rendere la distanza di unicità grande a piacereapplicando una codifica (Huffman) ai testi in chiaro prima della cifratura.

• Tuttavia i CS che cercano di avvicinarsi moltoal caso ideale hanno i seguenti inconvenienti:

• Maggiore complessità : sono sensibilmente più complesse le operazioni di cifratura e decifratura

• Propagazione degli errori distruttiva: c’è un’elevata sensibilità agli errori di cifratura e di trasmissionei quali possono essere amplificati dall’operazione di decifrazionee quindi possono portare ad un gran numero di errori nel testo decifrato causando spesso una grave perdita d’informazione.

Entropia del Linguaggio (1)

• Definiamo entropia del linguaggio HL la misura dell’informazione media per carattere portata da una stringa del testo in chiaro dotata di significato nel linguaggio considerato.

• Possiamo considerare come approssimazione del primo ordinedi HL

l’entropia H(X) dove P = Zm e la distribuzione delle lettere segue la distribuzione delle probabilità del linguaggio considerato.

• Siccome in un linguaggio le lettere successive sono correlate, sarànecessario considerare approssimazioni di ordine successivo; ciò ovviamente riduce la stima dell’entropia.

• Definiamo quindi la v.a. n-estesa X^n come la v.a. le cui realizzazioni sono stringhe di n caratterila cui distribuzione di probabilità è quella degli n-grammi della linguaggio considerato.

Entropia del Linguaggio (2)

• Quindi l’entropia del linguaggio Lè definita come:

• e la ridondanza relativadel linguaggio L è definita come:

n

XHH

n

nL

)(lim

∞→=

||log1

2 P

HD L

r −=

Stima dell’entropia (1)

Testo:Amleto(Atto I) )Z""(

)A""(

P

P

M

Frequenzecaratteri

∑=

=Z""

A""2 )P(

1)logP()testo(

σ σσH

Amleto Atto I : 34989 caratteri

Hamlet Act I : 29624 caratteri

Stima dell’entropia (2)

η−=1rD

Efficienza di codifica

||log

)(

2 P

XH=η

carbitenH

carbititH

/165,4)(

/985,3)(

=

=

89.0)(11.0)(

90.0)(10.0)(

====

enenD

ititD

r

r

ηη

Ridondanza relativa

01.1=rη

0 5 10 15 20 250

2

4

6

8

10

12Testo inglese

lettere

freq

uenz

e

0 5 10 15 20 250

2

4

6

8

10

12Testo italiano

lettere

freq

uenz

e

I caratteri più frequenti

Stima dell’entropia (3)

Testo:Amleto(Atto I) )Z""(

)A""(

P

P

M

Frequenzecaratteri

∑=

=ZZ""

AA""2 )P(

1)logP(testoH

σ σσ)(

)(

(

)(

Z"|"Z""P

)A"|"B""P

A"|"A""P

M

Frequenzedigrammi Amleto Atto I : 27352 digr

Hamlet Act I : 22495 digr

Stima dell’entropia (4)

η−=1rD

Efficienza di codifica

||log

)(

2 P

XH=η

659,3)(

574,3)(

==

enH

itH

78.0)(22.0)(

82.0)(18.0)(

====

enenD

ititD

r

r

ηη

Ridondanza relativa

05.1=rη

0 100 200 300 400 500 6000

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Testo italiano

lettere

freq

uenz

e

0 100 200 300 400 500 6000

0.5

1

1.5

2

2.5

3

3.5

4Testo inglese

lettere

freq

uenz

e

Stima dell’entropia (5)

Testo:Amleto(Atto I)

)Z""(

)A""(

P

P

M

Frequenzecaratteri

∑=

=ZZZ""

AAA""2 )P(

1)logP(testoH

σ σσ)(

)(

(

)(

Z"|"Z""P

)A"|"B""P

A"|"A""P

M

Frequenzedigrammi

)(

(

)(

ZZ"|"Z""P

)AA"|"B""P

AA"|"A""P

M

Frequenzetrigrammi

Amleto Atto I : 20392 trigr

Hamlet Act I : 15730 trigr

Stima dell’entropia (6)

η−=1rD

Efficienza di codifica

||log

)(

2 P

XH=η

185,3)(

188,3)(

==

enH

itH

68.0)(32.0)(

73.0)(27.0)(

====

enenD

ititD

r

r

ηη

Ridondanza relativa

07.1=rη

0 2000 4000 6000 8000 10000 12000 14000 160000

0.5

1

1.5

2

2.5

3Testo inglese

lettere

freq

uenz

e0 2000 4000 6000 8000 10000 12000 14000 16000

0

0.2

0.4

0.6

0.8

1

Testo italiano

lettere

freq

uenz

e

Stima dell’Entropia con memoria crescente

00.5

1

1.52

2.53

3.54

4.5

1 10 100

Memoria

En

tro

pia

)(

1log)(

1lim

xPxP

nHH

nxn

L ∑=∞→∞ ==

Lingua Inglese

• In Inglese(P = Z26) HL = 1.5 bit / car, essendo le lettere correlate (Dr = 0.7), e quindi la ridondanza assoluta sarà:

D = log 26 - H = 4.7 – 1.5 = 3.2 bit/car

• Utilizzando il CS additivo, la distanza di unicità diviene:

N = H(K) / 3.2 = log 26 / 3.2 = 1.5 = 2 caratteri

• Nel CS a sostituzioneinvece si ha:

N = H(K) / 3.2 = log 26! / 3.2 = 27.6 = 28 caratteri

• In un linguaggio casualesenza memoria (caratteri successivi indipendenti) in cui la distribuzione dei caratteri segue le frequenze dei caratteri della lingua inglesesi ha:

D = 4.7 - 4 = 0.7 bit/car

• e le distanze di unicità sono 7 e 126 caratteri, rispettivamente.

• NB: un linguaggio massimamente casuale costituito da stringhe di caratteri distribuiti uniformemente avrà un’entropia massima pari a log2 26 = 4.70 bit/car (Dr = 0, D=0 e N=inf).

0 5 10 15 20 250

2

4

6

8

10

12

Latino - De Rerum Natura Liber I

lettere

freq

uenz

e

0 5 10 15 20 250

2

4

6

8

10

12

Volgare - Dante Inferno Canti 1-10

lettere

freq

uenz

e

0 5 10 15 20 250

2

4

6

8

10

12

Italiano - Dalla Terra alla Luna Cap 1-3

lettere

freq

uenz

e

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 33.975

3.98

3.985

3.99

3.995

4

4.005

4.01

4.015

4.02

4.025

tempo

entr

opia

Teoria Algoritmica dell’Informazione

X Y

xyTM =)(

x y

descrizioni(programmi)

oggetti(stringhe)

yxKxyTM =

≡)(

min)(

• Kolmogorov, Solomonoff, Chaitin (’60).

• Data una stringa di bit, si definiscecontenuto di informazione algoritmica o KolmogorovComplexity o complessità algoritmica o entropia algoritmicala lunghezza del programma piùcorto che è in grado di generare la stringa e poi fermarsi.

• Nasce dal tentativo di tradurre in linguaggio matematico formale il principio filosofico del rasoio di Occam ("A parità di fattori la spiegazione più semplice tende ad essere quella esatta").

• Misura assoluta, si concentra sulla singola stringa, non è una teoria probabilistica.

Kolmogorov Complexity ed Entropia

• La Kolmogorov Complexitydi una data stringa x finita non è calcolabile.

• Tuttavia limitando lo spazio dei programmi ammissibili diventa una quantitàcalcolabile nota come Minimum Description Length(MDL).

• Inoltre è possibile approssimarla tramite l’entropia informativa di Shannon.

• Teorema: • (dove X è una v.a. a memoria 0)

• Cioè per n sufficientemente grande:

• Casualità Algoritmica(Kolgomorov randomess): una stringa è casuale se e solo se èpiù corta di ogni programma in grado di generarla come output.

• Quindi una stringa veramente casualeè incomprimibile.

)()(

lim XHn

xK n

n=

∞→

)()( XHnxK n ⋅≈

Entropia Termodinamica e Informazione

• Entropia termodinamica secondo la Meccanica Statistica (Boltzmann):

S = k log W = k log (1 / 1 / W)= k log (1 / Pw)

• Ricordando l’autoinformazionedi un evento casuale nella teoria dell’informazione classica,l’entropia di un sistema fisico è direttamente proporzionale al numero di bit richiesti per descrivere lo stato dei suoi componenti microscopici

• Quindi, è proporzionale al numero di bit che porta o registra un suo stato-evento miscoscopico.

• Un sistema fisico, potendo stare in un numero finito di stati (secondo la teoria quantistica), può quindi registrare una quantità finita di informazione.

• Sebbene l’entropia misuri l’informazione (in bit) contenuta a livello miscoscopiconei movimenti atomici, in realtà, essendo questi a noi inaccessibili, èuna misura dell’informazione a noi indisponibile sullo stato miscoscopico del sistema: non sappiamo cosa c’è in quei bit.

FINE