Download - Crittoanalisi Monica Bianchini [email protected] Dipartimento di Ingegneria dellInformazione Università di Siena.

Transcript
Page 1: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

CrittoanalisiCrittoanalisi

Monica BianchiniMonica Bianchini

[email protected]@ing.unisi.it

Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’Informazione

Università di SienaUniversità di Siena

Page 2: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Introduzione Introduzione 1 1• I principali tipi di attacco alla sicurezza dei I principali tipi di attacco alla sicurezza dei

crittosistemi si distinguono in…crittosistemi si distinguono in…o Ciphertext-onlyCiphertext-only l’intruso è venuto a l’intruso è venuto a

conoscenza di una stringa di testo cifrato yconoscenza di una stringa di testo cifrato yo Known plaintext Known plaintext l’intruso conosce una l’intruso conosce una

stringa di plaintext x, ed il corrispondente stringa di plaintext x, ed il corrispondente testo cifrato ytesto cifrato y

o Chosen plaintextChosen plaintext l’intruso ha ottenuto l’intruso ha ottenuto accesso temporaneo al meccanismo di accesso temporaneo al meccanismo di cifratura: può quindi scegliere un plaintext x e cifratura: può quindi scegliere un plaintext x e costruire il corrispondente testo cifrato ycostruire il corrispondente testo cifrato y

o Chosen ciphertextChosen ciphertext l’intruso ha ottenuto l’intruso ha ottenuto accesso temporaneo al meccanismo di accesso temporaneo al meccanismo di decifratura: può quindi scegliere un testo decifratura: può quindi scegliere un testo cifrato y e costruire il corrispondente plaintext cifrato y e costruire il corrispondente plaintext xx

Page 3: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Introduzione Introduzione 2 2

• Le tecniche per raggiungere la sicurezza Le tecniche per raggiungere la sicurezza discusse finora si basano tutte sulla premessa discusse finora si basano tutte sulla premessa di validità del…di validità del…

• Principio di KerckhoffPrincipio di Kerckhoff L’intruso, Oscar, conosce il tipo di crittosistema L’intruso, Oscar, conosce il tipo di crittosistema

in usoin uso• Se ciò non fosse, il suo compito risulterebbe, Se ciò non fosse, il suo compito risulterebbe,

ovviamente, ancora più difficileovviamente, ancora più difficile• In prima istanza, esamineremo il tipo di attacco In prima istanza, esamineremo il tipo di attacco

più debole, il più debole, il Ciphertext-onlyCiphertext-only; assumeremo ; assumeremo inoltre che le stringhe di plaintext inoltre che le stringhe di plaintext rappresentino testo inglese ordinario, senza rappresentino testo inglese ordinario, senza segni di punteggiatura né spazi segni di punteggiatura né spazi

la crittoanalisi è più difficile in questo casola crittoanalisi è più difficile in questo caso

Page 4: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Introduzione Introduzione 3 3• Molte tecniche di crittoanalisi si basano su Molte tecniche di crittoanalisi si basano su

proprietà statistiche della lingua inglese, in proprietà statistiche della lingua inglese, in particolare su stime della frequenza relativa particolare su stime della frequenza relativa dei 26 caratteri costituenti l’alfabetodei 26 caratteri costituenti l’alfabeto

• Sulla base di un esame statistico, le 26 lettere Sulla base di un esame statistico, le 26 lettere dell’alfabeto possono essere suddivise in dell’alfabeto possono essere suddivise in cinque gruppi:cinque gruppi:

o EE, con una probabilità pari a 0.12, con una probabilità pari a 0.12

o T,A,O,I,N,S,H,R,T,A,O,I,N,S,H,R, ciascuna avente probabilità ciascuna avente probabilità compresa tra 0.06 e 0.09compresa tra 0.06 e 0.09

o D,LD,L ognuna con probabilità ognuna con probabilità 0.040.04

o C,U,M,W,F,G,Y,P,BC,U,M,W,F,G,Y,P,B, ognuna con probabilità , ognuna con probabilità compresa fra 0.015 e 0.028compresa fra 0.015 e 0.028

o V,K,J,X,Q,Z,V,K,J,X,Q,Z, con probabilità minore di 0.01 con probabilità minore di 0.01

Page 5: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Introduzione Introduzione 4 4• Più in dettaglio…Più in dettaglio…

Lettera Probabilità Lettera Probabilità A .082 N .067 B .015 O .075

C .028 P .019 D .043 Q .001 E .127 R .060 F .022 S .063

G .020 T .091 H .061 U .028 I .070 V .010

J .002 W .023 K .008 X .001 L .040 Y .020 M .024 Z .001

Page 6: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Introduzione Introduzione 5 5

• Può essere utile considerare anche sequenze di Può essere utile considerare anche sequenze di due o tre lettere consecutive, chiamate due o tre lettere consecutive, chiamate rispettivamente rispettivamente digrammidigrammi e e trigrammitrigrammi

• I 30 digrammi più comuni, in ordine decrescente, I 30 digrammi più comuni, in ordine decrescente, sono sono TH,HE,IN,ER,AN,RE,ED,ON,ES,ST,EN,AT,TO,NT,HA, TH,HE,IN,ER,AN,RE,ED,ON,ES,ST,EN,AT,TO,NT,HA, ND,OU,EA,NG,AS,OR,TI,IS,ET,IT,AR,TE,SE,HI,OFND,OU,EA,NG,AS,OR,TI,IS,ET,IT,AR,TE,SE,HI,OF

• I 12 trigrammi più comuni sono (in ordine I 12 trigrammi più comuni sono (in ordine decrescente) decrescente) THE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOTHE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOR,DTHR,DTH

Page 7: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

Esempi di Esempi di crittoanalisicrittoanalisiAffine cipher Affine cipher 1 1• Per vedere un semplice esempio in cui l’indagine Per vedere un semplice esempio in cui l’indagine

statistica può essere proficuamente utilizzata statistica può essere proficuamente utilizzata per fare crittoanalisi, si consideri Affine cipherper fare crittoanalisi, si consideri Affine cipher

• Esempio 1Esempio 1

Supponiamo che Oscar sia venuto in possesso del Supponiamo che Oscar sia venuto in possesso del seguente testo cifratoseguente testo cifrato

““fmxvedkaphferbndkrxrsrefmorudsdkdvshvufedkaprkfmxvedkaphferbndkrxrsrefmorudsdkdvshvufedkaprk

dlyevlrhhrh”dlyevlrhhrh”Lettera Frequenza Lettera Frequenza

A 2 N 1 B 1 O 1 C 0 P 2 D 7 Q 0 E 5 R 8 F 4 S 3 G 0 T 0 H 5 U 2 I 0 V 4 J 0 W 0 K 5 X 2 L 2 Y 1 M 2 Z 0

Frequenza Frequenza delle 26 letteredelle 26 letteredell’alfabetodell’alfabeto

Page 8: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Vi sono soltanto 57 caratteri nel testo cifrato, Vi sono soltanto 57 caratteri nel testo cifrato, ma sono sufficienti per crittoanalizzare Affine ma sono sufficienti per crittoanalizzare Affine ciphercipher

• I caratteri cifrati più frequenti sono R (8 I caratteri cifrati più frequenti sono R (8 occorrenze), D (7), E,H,K (5) ed F,S,V (4)occorrenze), D (7), E,H,K (5) ed F,S,V (4)

• In prima istanza si può ipotizzare che R codifichi In prima istanza si può ipotizzare che R codifichi ee, D la lettera , D la lettera tt; numericamente, e; numericamente, ekk(4)=17, (4)=17, eekk(19)=3(19)=3

• Ricordando che eRicordando che ekk(x)=(x)=aax+x+bb, si ottiene un , si ottiene un sistema lineare di due equazioni in due sistema lineare di due equazioni in due incogniteincognite

44aa ++bb =17=17

1919aa ++bb =3=3

che ha come unica soluzione che ha come unica soluzione aa =6 e =6 e bb =19: =19: illegale poichèillegale poichè

MCD(MCD(aa,26)=2 ,26)=2 IPOTESI ERRATA IPOTESI ERRATA

{{

Esempi di Esempi di crittoanalisicrittoanalisiAffine cipher Affine cipher 2 2

Page 9: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Le prove successive sono:Le prove successive sono: R codifica R codifica ee, E codifica , E codifica tt; si ottiene ; si ottiene aa =13, =13,

che è una soluzione illegale che è una soluzione illegale IPOTESI IPOTESI ERRATAERRATA

R codifica R codifica ee, H codifica , H codifica tt; si ottiene ; si ottiene aa =8, =8, che è ancora illegale che è ancora illegale IPOTESI ERRATA IPOTESI ERRATA

R codifica R codifica ee, K codifica , K codifica tt; si ottiene ; si ottiene aa =3, =3, bb

=5, che è invece una chiave legale=5, che è invece una chiave legale• Con k=(3,5), dCon k=(3,5), dkk(y)=9y-19, ed il testo decrittato (y)=9y-19, ed il testo decrittato

risulta…risulta… “ “algorithms are quite general definitions of arithmetic algorithms are quite general definitions of arithmetic

processes”processes”

IPOTESI CORRETTA: IPOTESI CORRETTA: IL CIFRARIO È VIOLATOIL CIFRARIO È VIOLATO

Esempi di Esempi di crittoanalisicrittoanalisiAffine cipher Affine cipher 3 3

Page 10: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Esempio 2Esempio 2 Si consideri il seguente testo cifrato Si consideri il seguente testo cifrato

yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjyifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjjnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir

Lettera Frequenza Lettera Frequenza A 0 N 9 B 1 O 0 C 15 P 1 D 13 Q 4 E 7 R 10 F 11 S 3 G 1 T 2 H 4 U 5 I 5 V 5 J 11 W 8 K 1 X 6 L 0 Y 10 M 16 Z 20

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 1 1

Frequenza Frequenza delle 26 letteredelle 26 letteredell’alfabetodell’alfabeto

Page 11: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Poiché Z occorre molto più spesso di tutti gli Poiché Z occorre molto più spesso di tutti gli altri caratteri del testo cifrato, si può altri caratteri del testo cifrato, si può congetturare che dcongetturare che dkk(Z)=(Z)=ee

• I restantiI restanti caratteri con più di dieci occorrenze caratteri con più di dieci occorrenze sono C,D,F,J,M,R,Y che, presumibilmente, sono C,D,F,J,M,R,Y che, presumibilmente, codificano un sottoinsieme di codificano un sottoinsieme di tt,,aa,,oo,,ii,,nn,,ss,,hh,,rr, , con frequenze che, tuttavia, non variano a con frequenze che, tuttavia, non variano a sufficienza per poter fare ipotesi più precisesufficienza per poter fare ipotesi più precise

• Guardando ai digrammi, specialmente quelli Guardando ai digrammi, specialmente quelli della forma –Z e Z-, si può vedere come i più della forma –Z e Z-, si può vedere come i più frequenti siano DZ e ZW (4 volte ciascuno), NZ frequenti siano DZ e ZW (4 volte ciascuno), NZ e ZU (3), RZ,HZ,XZ, FZ,ZR,ZV,ZC,ZD,ZJ (2)e ZU (3), RZ,HZ,XZ, FZ,ZR,ZV,ZC,ZD,ZJ (2)

• Poiché ZW compare quattro volte mentre WZ Poiché ZW compare quattro volte mentre WZ mai, e W è in assoluto la lettera a più bassa mai, e W è in assoluto la lettera a più bassa frequenza, si può ipotizzare che dfrequenza, si può ipotizzare che dkk(W)=(W)=dd

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 2 2

Page 12: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Poiché ZRW e RZW sono presenti entrambi Poiché ZRW e RZW sono presenti entrambi all’inizio del testo cifrato, ed RW compare anche all’inizio del testo cifrato, ed RW compare anche nel seguito, essendo nel seguito, essendo ndnd un digramma comune, un digramma comune, si può supporre dsi può supporre dkk(R)=(R)=nn

------end---------e----ned---e------------------end---------e----ned---e------------

yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjyifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj

--------e----e---------n--d---en----e----e--------e----e---------n--d---en----e----e

ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz

-e---n------n------ed---e---e--ne-nd-e-e---e---n------n------ed---e---e--ne-nd-e-e--

nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjjnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj

-ed-----n-----------e----ed-------d---e--n-ed-----n-----------e----ed-------d---e--n

xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdirxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 3 3

Page 13: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Si può quindi tentare la decodifica dSi può quindi tentare la decodifica dkk(N)=(N)=hh, , poichè NZ compare molte volte mentre ZN nopoichè NZ compare molte volte mentre ZN no

• Se l’ipotesi è corretta, allora il segmento di Se l’ipotesi è corretta, allora il segmento di plaintext plaintext ne-ndhe ne-ndhe suggerisce che dsuggerisce che dkk(C)=(C)=aa

------end-----a---e-a--nedh--e------a-----------end-----a---e-a--nedh--e------a-----

yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjyifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj

h-------ea---e-a---a---nhad-a-en--a-e-h--eh-------ea---e-a---a---nhad-a-en--a-e-h--e

ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz

he-a-n------n------ed---e---e--neandhe-e--he-a-n------n------ed---e---e--neandhe-e--

nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjjnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj

-ed-a---nh---ha---a-e----ed-----a-d--he--n-ed-a---nh---ha---a-e----ed-----a-d--he--n

xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdirxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 4 4

Page 14: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Consideriamo ora M, il secondo carattere, in Consideriamo ora M, il secondo carattere, in ordine di frequenza, del testo cifratoordine di frequenza, del testo cifrato

• Il segmento di codice cifrato RNM che dovrebbe Il segmento di codice cifrato RNM che dovrebbe corrispondere a corrispondere a nh-nh-, suggerisce che , suggerisce che h-h- sia sia l’inizio di una parola l’inizio di una parola d dkk(M)(M) {{ii,,oo} e, poiché } e, poiché aiai è è più comune di più comune di aoao, il digramma cifrato CM , il digramma cifrato CM suggerisce dsuggerisce dkk(M)(M) ==ii -----iend-----a-i-e-a-inedhi-e------a---i------iend-----a-i-e-a-inedhi-e------a---i-

yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjyifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj

h-----i-ea-i-e-a---a-i-nhad-a-en--a-e-hi-eh-----i-ea-i-e-a---a-i-nhad-a-en--a-e-hi-e

ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz

he-a-n-----in-i----ed---e---e-ineandhe-e--he-a-n-----in-i----ed---e---e-ineandhe-e--

nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjjnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj

-ed-a--inhi--hai--a-e-i--ed-----a-d--he--n-ed-a--inhi--hai--a-e-i--ed-----a-d--he--n

xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdirxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 5 5

Page 15: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Occorre ora determinare quale lettera codifica Occorre ora determinare quale lettera codifica oo

o Poiché Poiché oo è molto comune, dovrebbe è molto comune, dovrebbe corrispondere a una delle lettere D,F,J,Y nel corrispondere a una delle lettere D,F,J,Y nel testo cifratotesto cifrato

o Y sembra la più probabile, altrimenti nel Y sembra la più probabile, altrimenti nel plaintext esisterebbero trigrammi di vocali plaintext esisterebbero trigrammi di vocali ((aoiaoi, per CFM o CJM) , per CFM o CJM) d dkk(Y)=(Y)=oo

• Le lettere più frequenti rimaste ancora da Le lettere più frequenti rimaste ancora da decrittare sono D,F,J, che congetturiamo decrittare sono D,F,J, che congetturiamo corrispondere a corrispondere a rr,,ss,,tt (in qualche ordine) (in qualche ordine)

o Due occorrenze del trigramma NMD Due occorrenze del trigramma NMD suggeriscono dsuggeriscono dkk(D)=(D)=ss, che produrrebbe , che produrrebbe hishis nel plaintextnel plaintext

o Il segmento HNCMF potrebbe corrispondere Il segmento HNCMF potrebbe corrispondere a a chairchair d dkk(F)=(F)=rr, d, dkk(H)=(H)=cc e, per esclusione, e, per esclusione, ddkk(J)=(J)=tt

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 6 6

Page 16: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• A questo punto diviene molto semplice A questo punto diviene molto semplice completare le lettere mancanti a comporre…completare le lettere mancanti a comporre…

““Our friend from Paris examined is empty glass with surprise, Our friend from Paris examined is empty glass with surprise, as if evaporation have taken place while he wasn’t looking. I as if evaporation have taken place while he wasn’t looking. I poured some more wine and he settled back in his chair, poured some more wine and he settled back in his chair, face tilted up towards the sun”face tilted up towards the sun”

o-r-riend-ro--arise-a-inedhise--t---ass-ito-r-riend-ro--arise-a-inedhise--t---ass-it

yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjyifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj

hs-r-riseasi-e-a-orationhadta-en--ace-hi-ehs-r-riseasi-e-a-orationhadta-en--ace-hi-e

ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz

he-asnt-oo-in-i-o-redso-e-ore-ineandhesetthe-asnt-oo-in-i-o-redso-e-ore-ineandhesett

nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjjnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj

-ed-ac-inhischair-aceti-ted--to-ardsthes-n-ed-ac-inhischair-aceti-ted--to-ardsthes-n

xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdirxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir

Esempi di Esempi di crittoanalisicrittoanalisi

Substitution cipher Substitution cipher 7 7

Page 17: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Hill cipher è più difficile da violare con un attacco Hill cipher è più difficile da violare con un attacco Ciphertext-onlyCiphertext-only, ma soccombe facilmente ad , ma soccombe facilmente ad attacchi del tipo attacchi del tipo Known plaintextKnown plaintext

• Supponiamo che l’invasore abbia determinato il Supponiamo che l’invasore abbia determinato il valore di valore di mm e che sia in possesso di almeno e che sia in possesso di almeno mm coppie distinte di coppie distinte di mm-uple x-uple xjj=(x=(x1j1j,x,x2j2j,…x,…xmmjj) e ) e yyjj=(y=(y1j1j,y,y2j2j,…y,…ymmjj), con y), con yjj=e=ekk(x(xjj), 1), 1jjmm

• Siano X=(xSiano X=(xijij) e Y=(y) e Y=(yijij) le due matrici ) le due matrici mm mm che che racchiudono l’informazione dell’invasore racchiudono l’informazione dell’invasore Y=XK, Y=XK, dove la matrice K è la chiave da calcolaredove la matrice K è la chiave da calcolare

• Se la matrice X è invertibile, Oscar può calcolare Se la matrice X è invertibile, Oscar può calcolare K=X K=X-1-1Y e quindi violare il sistemaY e quindi violare il sistema

• Se X non è invertibile, l’informazione in possesso Se X non è invertibile, l’informazione in possesso dell’invasore non è sufficiente a decrittare la dell’invasore non è sufficiente a decrittare la chiave chiave

occorrono altre coppie plaintext-ciphertext occorrono altre coppie plaintext-ciphertext mm--dimensionalidimensionali

Esempi di Esempi di crittoanalisicrittoanalisi

Hill cipher Hill cipher 1 1

Page 18: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Esempio 3Esempio 3

Supponiamo che il plaintext “Supponiamo che il plaintext “friday”friday” sia stato sia stato codificato utilizzando Hill cipher con codificato utilizzando Hill cipher con m m =2, =2, fornendo “fornendo “pqcfku”pqcfku”

Si ha: eSi ha: ekk(5,17)=(15,16), e(5,17)=(15,16), ekk(8,3)=(2,5), (8,3)=(2,5), eekk(0,24)=(10,20)(0,24)=(10,20)

Dalle prime 2 coppie plaintext-ciphertext si Dalle prime 2 coppie plaintext-ciphertext si ottiene l’equazione matriciale…ottiene l’equazione matriciale…

PoichéPoiché

Esempi di Esempi di crittoanalisicrittoanalisi

Hill cipher Hill cipher 2 2

( )( ) ( )( )== 9 19 1

2 152 15

5 175 17

8 8 33

( )( )( )( ) == 7 197 19

8 8 33

9 9 11

2 152 15KK

-1-1

( )( ) ( )( )== 5 175 17

8 8 33

15 1615 16

2 2 55KK

== ( )( ) 15 1615 16

2 2 55

Si può Si può provare provare che K che K

“funzion“funziona” anche a” anche

per la per la terza terza

coppia coppia plaintextplaintext

--ciphertecipherte

xt xt

Page 19: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Come può comportarsi Oscar nel caso in cui Come può comportarsi Oscar nel caso in cui non conosca il valore di non conosca il valore di mm ? ?

• Può procedere per tentativi, provando Può procedere per tentativi, provando mm == 2,3,2,3,…,fino a calcolare un valore “plausibile” per …,fino a calcolare un valore “plausibile” per m m

• Se il valore supposto di Se il valore supposto di m m non è corretto, la non è corretto, la matrice K, matrice K, mm mm, calcolata utilizzando , calcolata utilizzando l’algoritmo appena descritto, non si accorderà l’algoritmo appena descritto, non si accorderà con le altre coppie plaintext-ciphertext, diverse con le altre coppie plaintext-ciphertext, diverse da quella con cui è stata ottenutada quella con cui è stata ottenuta

Esempi di Esempi di crittoanalisicrittoanalisi

Hill cipher Hill cipher 3 3

Page 20: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Poiché tutte le operazioni eseguite all’interno del Poiché tutte le operazioni eseguite all’interno del crittosistema sono lineari, si può supporre che crittosistema sono lineari, si può supporre che esso sia vulnerabile ad un attacco di tipo esso sia vulnerabile ad un attacco di tipo Known Known plaintextplaintext, come Hill cipher, come Hill cipher

• Ipotizziamo che Oscar conosca il valore di Ipotizziamo che Oscar conosca il valore di mm, la , la stringa di plaintext xstringa di plaintext x11xx22…x…xnn ed il corrispondente ed il corrispondente testo cifrato ytesto cifrato y11yy22…y…yn n può calcolare z può calcolare zii= x= xii+y+yii (mod (mod 2), 12), 1 ii nn

• Oscar deve dunque calcolare le costanti cOscar deve dunque calcolare le costanti c00,c,c11,c,cmm-1-1 per ricostruire l’intero keystream, cioè deve per ricostruire l’intero keystream, cioè deve essere in grado di valutare le essere in grado di valutare le mm incognite c incognite c00,c,c11,c,cmm-1-1

Esempi di Esempi di crittoanalisicrittoanalisi

LFSR Stream cipher LFSR Stream cipher 1 1

Page 21: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Poiché, Poiché, per ogni iper ogni i 1, z1, zmm+i+i== ccjj zzi+j, i+j, se nse n 22m, m, allora ciallora ci

sono sono mm equazioni lineari, in equazioni lineari, in mm incognite, risolubili incognite, risolubili per ottenere cper ottenere c00,c,c11,…,c,…,cmm-1-1

• Il sistema di Il sistema di mm equazioni lineari può essere equazioni lineari può essere riscritto, in forma matriciale, come… riscritto, in forma matriciale, come…

(z(zmm+1+1,z,zmm+2+2,…, z,…, z22mm )=(c)=(c00,c,c11,…,c,…,cmm-1-1))

Se la matrice dei coefficienti ammette inversa Se la matrice dei coefficienti ammette inversa (mod 2),(mod 2),

(c(c00,c,c11,…,c,…,cmm-1-1)=(z)=(zmm+1+1,z,zmm+2+2,…,z,…,z22mm ))

Esempi di Esempi di crittoanalisicrittoanalisi

LFSR Stream cipher LFSR Stream cipher 2 2mm-1-1

j=0j=0

( )( )zz11 z z22 … z … zmm

zz22 z z33 … z … zm+1m+1

zzmm z zmm+1+1 … z … z22m-1m-1

… … … … ……

( )( )zz11 z z22 … z … zmm

zz22 z z33 … z … zm+1m+1

zzmm z zmm+1+1 … z … z22m-1m-1

-1-1

… … …… … …

Page 22: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• In effetti, la matrice ammetterà un’inversa se In effetti, la matrice ammetterà un’inversa se mm è il grado di ricorrenza utilizzato per generare il è il grado di ricorrenza utilizzato per generare il flusso di chiaviflusso di chiavi

• Esempio 4Esempio 4

Supponiamo che Oscar sappia che Supponiamo che Oscar sappia che mm=5 e sia in =5 e sia in possesso del testo cifrato 101101011110010, possesso del testo cifrato 101101011110010, corrispondente al plaintext 011001111111000 corrispondente al plaintext 011001111111000 i bit del keystream sonoi bit del keystream sono

110100100001010110100100001010

mentre il sistema lineare da risolvere, mentre il sistema lineare da risolvere, utilizzando i primi dieci bit del flusso di chiavi è:utilizzando i primi dieci bit del flusso di chiavi è:

(0,1,0,0,0)=(c(0,1,0,0,0)=(c00,c,c11,c,c22,c,c33)=)=

Esempi di Esempi di crittoanalisicrittoanalisi

LFSR Stream cipher LFSR Stream cipher 3 3

))1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 01 0 0 1 00 0 1 0 00 0 1 0 0((

Page 23: Crittoanalisi Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dellInformazione Università di Siena.

• Si può verificare che…Si può verificare che…

da cuida cui

(c(c00,c,c11,c,c22,c,c33)=(0,1,0,0,0) =(1,0,0,1,0))=(0,1,0,0,0) =(1,0,0,1,0)

Pertanto la regola di ricorrenza èPertanto la regola di ricorrenza è

zzi+5i+5=z=zii+z+zi+3i+3 (mod 2) (mod 2)

Esempi di Esempi di crittoanalisicrittoanalisi

LFSR Stream cipher LFSR Stream cipher 4 4

))0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 10 1 0 1 11 0 1 1 01 0 1 1 0((

-1-1

))1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 01 0 0 1 00 0 1 0 00 0 1 0 0(( ))

0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 10 1 0 1 11 0 1 1 01 0 1 1 0((==