Crittoanalisi Monica Bianchini [email protected] Dipartimento di Ingegneria dellInformazione...

Click here to load reader

  • date post

    01-May-2015
  • Category

    Documents

  • view

    220
  • download

    0

Embed Size (px)

Transcript of Crittoanalisi Monica Bianchini [email protected] Dipartimento di Ingegneria dellInformazione...

  • Slide 1
  • Crittoanalisi Monica Bianchini [email protected] Dipartimento di Ingegneria dellInformazione Universit di Siena
  • Slide 2
  • Introduzione 1 I principali tipi di attacco alla sicurezza dei crittosistemi si distinguono inI principali tipi di attacco alla sicurezza dei crittosistemi si distinguono in oCiphertext-only lintruso venuto a conoscenza di una stringa di testo cifrato y oKnown plaintext lintruso conosce una stringa di plaintext x, ed il corrispondente testo cifrato y oChosen plaintext lintruso ha ottenuto accesso temporaneo al meccanismo di cifratura: pu quindi scegliere un plaintext x e costruire il corrispondente testo cifrato y oChosen ciphertext lintruso ha ottenuto accesso temporaneo al meccanismo di decifratura: pu quindi scegliere un testo cifrato y e costruire il corrispondente plaintext x
  • Slide 3
  • Introduzione 2 Le tecniche per raggiungere la sicurezza discusse finora si basano tutte sulla premessa di validit delLe tecniche per raggiungere la sicurezza discusse finora si basano tutte sulla premessa di validit del Principio di KerckhoffPrincipio di Kerckhoff Lintruso, Oscar, conosce il tipo di crittosistema in uso Lintruso, Oscar, conosce il tipo di crittosistema in uso Se ci non fosse, il suo compito risulterebbe, ovviamente, ancora pi difficileSe ci non fosse, il suo compito risulterebbe, ovviamente, ancora pi difficile In prima istanza, esamineremo il tipo di attacco pi debole, il Ciphertext-only; assumeremo inoltre che le stringhe di plaintext rappresentino testo inglese ordinario, senza segni di punteggiatura n spaziIn prima istanza, esamineremo il tipo di attacco pi debole, il Ciphertext-only; assumeremo inoltre che le stringhe di plaintext rappresentino testo inglese ordinario, senza segni di punteggiatura n spazi la crittoanalisi pi difficile in questo caso la crittoanalisi pi difficile in questo caso
  • Slide 4
  • Introduzione 3 Molte tecniche di crittoanalisi si basano su propriet statistiche della lingua inglese, in particolare su stime della frequenza relativa dei 26 caratteri costituenti lalfabetoMolte tecniche di crittoanalisi si basano su propriet statistiche della lingua inglese, in particolare su stime della frequenza relativa dei 26 caratteri costituenti lalfabeto Sulla base di un esame statistico, le 26 lettere dellalfabeto possono essere suddivise in cinque gruppi:Sulla base di un esame statistico, le 26 lettere dellalfabeto possono essere suddivise in cinque gruppi: oE, con una probabilit pari a 0.12 oT,A,O,I,N,S,H,R, ciascuna avente probabilit compresa tra 0.06 e 0.09 oD,L ognuna con probabilit 0.04 oC,U,M,W,F,G,Y,P,B, ognuna con probabilit compresa fra 0.015 e 0.028 oV,K,J,X,Q,Z, con probabilit minore di 0.01
  • Slide 5
  • Introduzione 4 Pi in dettaglioPi in dettaglio
  • Slide 6
  • Introduzione 5 Pu essere utile considerare anche sequenze di due o tre lettere consecutive, chiamate rispettivamente digrammi e trigrammiPu essere utile considerare anche sequenze di due o tre lettere consecutive, chiamate rispettivamente digrammi e trigrammi I 30 digrammi pi comuni, in ordine decrescente, sono 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,OFI 30 digrammi pi comuni, in ordine decrescente, sono 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,OF I 12 trigrammi pi comuni sono (in ordine decrescente) THE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOR, DTHI 12 trigrammi pi comuni sono (in ordine decrescente) THE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOR, DTH
  • Slide 7
  • Esempi di crittoanalisi Affine cipher 1 Per vedere un semplice esempio in cui lindagine statistica pu essere proficuamente utilizzata per fare crittoanalisi, si consideri Affine cipherPer vedere un semplice esempio in cui lindagine statistica pu essere proficuamente utilizzata per fare crittoanalisi, si consideri Affine cipher Esempio 1Esempio 1 Supponiamo che Oscar sia venuto in possesso del seguente testo cifrato Supponiamo che Oscar sia venuto in possesso del seguente testo cifrato fmxvedkaphferbndkrxrsrefmorudsdkdvshvufedkaprkdlyevlrhhrh fmxvedkaphferbndkrxrsrefmorudsdkdvshvufedkaprkdlyevlrhhrh Frequenza delle 26 lettere dellalfabeto
  • Slide 8
  • Vi sono soltanto 57 caratteri nel testo cifrato, ma sono sufficienti per crittoanalizzare Affine cipherVi sono soltanto 57 caratteri nel testo cifrato, ma sono sufficienti per crittoanalizzare Affine cipher I caratteri cifrati pi frequenti sono R (8 occorrenze), D (7), E,H,K (5) ed F,S,V (4)I caratteri cifrati pi frequenti sono R (8 occorrenze), D (7), E,H,K (5) ed F,S,V (4) In prima istanza si pu ipotizzare che R codifichi e, D la lettera t; numericamente, e k (4)=17, e k (19)=3In prima istanza si pu ipotizzare che R codifichi e, D la lettera t; numericamente, e k (4)=17, e k (19)=3 Ricordando che e k (x)=ax+b, si ottiene un sistema lineare di due equazioni in due incogniteRicordando che e k (x)=ax+b, si ottiene un sistema lineare di due equazioni in due incognite 4a +b =17 19a +b =3 che ha come unica soluzione a =6 e b =19: illegale poich che ha come unica soluzione a =6 e b =19: illegale poich MCD(a,26)=2 IPOTESI ERRATA MCD(a,26)=2 IPOTESI ERRATA { Esempi di crittoanalisi Affine cipher 2
  • Slide 9
  • Le prove successive sono:Le prove successive sono: R codifica e, E codifica t; si ottiene a =13, che una soluzione illegale IPOTESI ERRATA R codifica e, E codifica t; si ottiene a =13, che una soluzione illegale IPOTESI ERRATA R codifica e, H codifica t; si ottiene a =8, che ancora illegale IPOTESI ERRATA R codifica e, H codifica t; si ottiene a =8, che ancora illegale IPOTESI ERRATA R codifica e, K codifica t; si ottiene a =3, b =5, che invece una chiave legale R codifica e, K codifica t; si ottiene a =3, b =5, che invece una chiave legale Con k=(3,5), d k (y)=9y-19, ed il testo decrittato risultaCon k=(3,5), d k (y)=9y-19, ed il testo decrittato risulta algorithms are quite general definitions of arithmetic processes algorithms are quite general definitions of arithmetic processes IPOTESI CORRETTA: IL CIFRARIO VIOLATO IPOTESI CORRETTA: IL CIFRARIO VIOLATO Esempi di crittoanalisi Affine cipher 3
  • Slide 10
  • Esempio 2Esempio 2 Si consideri il seguente testo cifrato Si consideri il seguente testo cifrato yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz ndifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir xzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir Esempi di crittoanalisi Substitution cipher 1 Frequenza delle 26 lettere dellalfabeto
  • Slide 11
  • Poich Z occorre molto pi spesso di tutti gli altri caratteri del testo cifrato, si pu congetturare che d k (Z)=ePoich Z occorre molto pi spesso di tutti gli altri caratteri del testo cifrato, si pu congetturare che d k (Z)=e I restanti caratteri con pi di dieci occorrenze sono C,D,F,J,M,R,Y che, presumibilmente, codificano un sottoinsieme di t,a,o,i,n,s,h,r, con frequenze che, tuttavia, non variano a sufficienza per poter fare ipotesi pi preciseI restanti caratteri con pi di dieci occorrenze sono C,D,F,J,M,R,Y che, presumibilmente, codificano un sottoinsieme di t,a,o,i,n,s,h,r, con frequenze che, tuttavia, non variano a sufficienza per poter fare ipotesi pi precise Guardando ai digrammi, specialmente quelli della forma Z e Z-, si pu vedere come i pi frequenti siano DZ e ZW (4 volte ciascuno), NZ e ZU (3), RZ,HZ,XZ, FZ,ZR,ZV,ZC,ZD,ZJ (2)Guardando ai digrammi, specialmente quelli della forma Z e Z-, si pu vedere come i pi frequenti siano DZ e ZW (4 volte ciascuno), NZ e ZU (3), RZ,HZ,XZ, FZ,ZR,ZV,ZC,ZD,ZJ (2) Poich ZW compare quattro volte mentre WZ mai, e W in assoluto la lettera a pi bassa frequenza, si pu ipotizzare che d k (W)=dPoich ZW compare quattro volte mentre WZ mai, e W in assoluto la lettera a pi bassa frequenza, si pu ipotizzare che d k (W)=d Esempi di crittoanalisi Substitution cipher 2
  • Slide 12
  • Poich ZRW e RZW sono presenti entrambi allinizio del testo cifrato, ed RW compare anche nel seguito, essendo nd un digramma comune, si pu supporre d k (R)=nPoich ZRW e RZW sono presenti entrambi allinizio del testo cifrato, ed RW compare anche nel seguito, essendo nd un digramma comune, si pu supporre d k (R)=n ------end---------e----ned---e------------yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumj--------e----e---------n--d---en----e----endifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxz-e---n------n------ed---e---e--ne-nd-e-e--nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj-ed-----n-----------e----ed-------d---e--nxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir Esempi di crittoanalisi Substitution cipher 3
  • Slide 13
  • Si pu quindi tentare la decodifica d k (N)=h, poich NZ compare molte volte mentre ZN noSi pu quindi tentare la decodifica d k (N)=h, poich NZ compare molte volte mentre ZN no Se lipotesi corretta, allora il segmento di plaintext ne-ndhe suggerisce che d k (C)=aSe lipotesi corretta, allora il segmento di plaintext ne-ndhe suggerisce che d k (C)=a ------end-----a---e-a--nedh--e------a-----yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjh-------ea---e-a---a---nhad-a-en--a-e-h--endifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzhe-a-n------n------ed---e---e--neandhe-e--nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj-ed-a---nh---ha---a-e----ed-----a-d--he--nxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir Esempi di crittoanalisi Substitution cipher 4
  • Slide 14
  • Consideriamo ora M, il secondo carattere, in ordine di frequenza, del testo cifratoConsideriamo ora M, il secondo carattere, in ordine di frequenza, del testo cifrato Il segmento di codice cifrato RNM che dovrebbe corrispondere a nh-, suggerisce che h- sia linizio di una parola d k (M) {i,o} e, poich ai pi comune di ao, il digramma cifrato CM suggerisce d k (M) =iIl segmento di codice cifrato RNM che dovrebbe corrispondere a nh-, suggerisce che h- sia linizio di una parola d k (M) {i,o} e, poich ai pi comune di ao, il digramma cifrato CM suggerisce d k (M) =i -----iend-----a-i-e-a-inedhi-e------a---i-yifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjh-----i-ea-i-e-a---a-i-nhad-a-en--a-e-hi-endifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzhe-a-n-----in-i----ed---e---e-ineandhe-e--nzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj-ed-a--inhi--hai--a-e-i--ed-----a-d--he--nxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir Esempi di crittoanalisi Substitution cipher 5
  • Slide 15
  • Occorre ora determinare quale lettera codifica oOccorre ora determinare quale lettera codifica o oPoich o molto comune, dovrebbe corrispondere a una delle lettere D,F,J,Y nel testo cifrato oY sembra la pi probabile, altrimenti nel plaintext esisterebbero trigrammi di vocali (aoi, per CFM o CJM) d k (Y)=o Le lettere pi frequenti rimaste ancora da decrittare sono D,F,J, che congetturiamo corrispondere a r,s,t (in qualche ordine)Le lettere pi frequenti rimaste ancora da decrittare sono D,F,J, che congetturiamo corrispondere a r,s,t (in qualche ordine) oDue occorrenze del trigramma NMD suggeriscono d k (D)=s, che produrrebbe his nel plaintext oIl segmento HNCMF potrebbe corrispondere a chair d k (F)=r, d k (H)=c e, per esclusione, d k (J)=t Esempi di crittoanalisi Substitution cipher 6
  • Slide 16
  • A questo punto diviene molto semplice completare le lettere mancanti a comporreA questo punto diviene molto semplice completare le lettere mancanti a comporre Our friend from Paris examined is empty glass with surprise, as if evaporation have taken place while he wasnt looking. I poured some more wine and he settled back in his chair, face tilted up towards the sun Our friend from Paris examined is empty glass with surprise, as if evaporation have taken place while he wasnt looking. I poured some more wine and he settled back in his chair, face tilted up towards the sun o-r-riend-ro--arise-a-inedhise--t---ass-ityifqfmzrwqfyvecfmdzpcvmrzwnmdzvejbtxcddumjhs-r-riseasi-e-a-orationhadta-en--ace-hi-endifefmdzcdmqzkceyfcjmyrncwjcszrexchzunmxzhe-asnt-oo-in-i-o-redso-e-ore-ineandhesettnzucdrjxyysmrtmeyifzwdyvzvyfzumrzcrwnzdzjj-ed-ac-inhischair-aceti-ted--to-ardsthes-nxzwgchsmrnmdhncmfqchzjmxjzwiejyucfwdjnzdir Esempi di crittoanalisi Substitution cipher 7
  • Slide 17
  • Hill cipher pi difficile da violare con un attacco Ciphertext-only, ma soccombe facilmente ad attacchi del tipo Known plaintextHill cipher pi difficile da violare con un attacco Ciphertext-only, ma soccombe facilmente ad attacchi del tipo Known plaintext Supponiamo che linvasore abbia determinato il valore di m e che sia in possesso di almeno m coppie distinte di m-uple x j =(x 1j,x 2j,x mj ) e y j =(y 1j,y 2j,y mj ), con y j =e k (x j ), 1 j mSupponiamo che linvasore abbia determinato il valore di m e che sia in possesso di almeno m coppie distinte di m-uple x j =(x 1j,x 2j,x mj ) e y j =(y 1j,y 2j,y mj ), con y j =e k (x j ), 1 j m Siano X=(x ij ) e Y=(y ij ) le due matrici m m che racchiudono linformazione dellinvasore Y=XK, dove la matrice K la chiave da calcolareSiano X=(x ij ) e Y=(y ij ) le due matrici m m che racchiudono linformazione dellinvasore Y=XK, dove la matrice K la chiave da calcolare Se la matrice X invertibile, Oscar pu calcolare K=X -1 Y e quindi violare il sistemaSe la matrice X invertibile, Oscar pu calcolare K=X -1 Y e quindi violare il sistema Se X non invertibile, linformazione in possesso dellinvasore non sufficiente a decrittare la chiaveSe X non invertibile, linformazione in possesso dellinvasore non sufficiente a decrittare la chiave occorrono altre coppie plaintext-ciphertext m- dimensionali occorrono altre coppie plaintext-ciphertext m- dimensionali Esempi di crittoanalisi Hill cipher 1
  • Slide 18
  • Esempio 3 Esempio 3 Supponiamo che il plaintext friday sia stato codificato utilizzando Hill cipher con m =2, fornendo pqcfku Supponiamo che il plaintext friday sia stato codificato utilizzando Hill cipher con m =2, fornendo pqcfku Si ha: e k (5,17)=(15,16), e k (8,3)=(2,5), e k (0,24)=(10,20) Si ha: e k (5,17)=(15,16), e k (8,3)=(2,5), e k (0,24)=(10,20) Dalle prime 2 coppie plaintext-ciphertext si ottiene lequazione matriciale Dalle prime 2 coppie plaintext-ciphertext si ottiene lequazione matriciale Poich Poich Esempi di crittoanalisi Hill cipher 2 ( ) = 9 1 9 1 2 15 2 15 5 17 5 17 8 3 8 3 ( ) = 7 19 7 19 8 3 8 3 9 1 9 1 2 15 2 15 K ( ) = 5 17 5 17 8 3 8 3 15 16 2 5 2 5 K = ( ) 15 16 2 5 2 5 Si pu provare che K funziona anche per la terza coppia plaintext- ciphertext
  • Slide 19
  • Come pu comportarsi Oscar nel caso in cui non conosca il valore di m ? Come pu comportarsi Oscar nel caso in cui non conosca il valore di m ? Pu procedere per tentativi, provando m = 2,3,,fino a calcolare un valore plausibile per m Pu procedere per tentativi, provando m = 2,3,,fino a calcolare un valore plausibile per m Se il valore supposto di m non corretto, la matrice K, m m, calcolata utilizzando lalgoritmo appena descritto, non si accorder con le altre coppie plaintext-ciphertext, diverse da quella con cui stata ottenuta Se il valore supposto di m non corretto, la matrice K, m m, calcolata utilizzando lalgoritmo appena descritto, non si accorder con le altre coppie plaintext-ciphertext, diverse da quella con cui stata ottenuta Esempi di crittoanalisi Hill cipher 3
  • Slide 20
  • Poich tutte le operazioni eseguite allinterno del crittosistema sono lineari, si pu supporre che esso sia vulnerabile ad un attacco di tipo Known plaintext, come Hill cipher Poich tutte le operazioni eseguite allinterno del crittosistema sono lineari, si pu supporre che esso sia vulnerabile ad un attacco di tipo Known plaintext, come Hill cipher Ipotizziamo che Oscar conosca il valore di m, la stringa di plaintext x 1 x 2 x n ed il corrispondente testo cifrato y 1 y 2 y n pu calcolare z i = x i +y i (mod 2), 1 i n Ipotizziamo che Oscar conosca il valore di m, la stringa di plaintext x 1 x 2 x n ed il corrispondente testo cifrato y 1 y 2 y n pu calcolare z i = x i +y i (mod 2), 1 i n Oscar deve dunque calcolare le costanti c 0,c 1,c m-1 per ricostruire lintero keystream, cio deve essere in grado di valutare le m incognite c 0,c 1,c m-1 Oscar deve dunque calcolare le costanti c 0,c 1,c m-1 per ricostruire lintero keystream, cio deve essere in grado di valutare le m incognite c 0,c 1,c m-1 Esempi di crittoanalisi LFSR Stream cipher 1
  • Slide 21
  • Poich, per ogni i 1, z m+i = c j z i+j, se n 2m, allora ci Poich, per ogni i 1, z m+i = c j z i+j, se n 2m, allora ci sono m equazioni lineari, in m incognite, risolubili per ottenere c 0,c 1,,c m-1 sono m equazioni lineari, in m incognite, risolubili per ottenere c 0,c 1,,c m-1 Il sistema di m equazioni lineari pu essere riscritto, in forma matriciale, come Il sistema di m equazioni lineari pu essere riscritto, in forma matriciale, come (z m+1,z m+2,, z 2m )=(c 0,c 1,,c m-1 ) (z m+1,z m+2,, z 2m )=(c 0,c 1,,c m-1 ) Se la matrice dei coefficienti ammette inversa (mod 2), Se la matrice dei coefficienti ammette inversa (mod 2), (c 0,c 1,,c m-1 )=(z m+1,z m+2,,z 2m ) (c 0,c 1,,c m-1 )=(z m+1,z m+2,,z 2m ) Esempi di crittoanalisi LFSR Stream cipher 2 m-1 j=0 ( ) z 1 z 2 z m z 2 z 3 z m+1 z m z m+1 z 2m-1 ( ) z 1 z 2 z m z 2 z 3 z m+1 z m z m+1 z 2m-1
  • Slide 22
  • In effetti, la matrice ammetter uninversa se m il grado di ricorrenza utilizzato per generare il flusso di chiavi In effetti, la matrice ammetter uninversa se m il grado di ricorrenza utilizzato per generare il flusso di chiavi Esempio 4 Esempio 4 Supponiamo che Oscar sappia che m=5 e sia in possesso del testo cifrato 101101011110010, corrispondente al plaintext 011001111111000 i bit del keystream sono Supponiamo che Oscar sappia che m=5 e sia in possesso del testo cifrato 101101011110010, corrispondente al plaintext 011001111111000 i bit del keystream sono110100100001010 mentre il sistema lineare da risolvere, utilizzando i primi dieci bit del flusso di chiavi : mentre il sistema lineare da risolvere, utilizzando i primi dieci bit del flusso di chiavi : (0,1,0,0,0)=(c 0,c 1,c 2,c 3 )= (0,1,0,0,0)=(c 0,c 1,c 2,c 3 )= Esempi di crittoanalisi LFSR Stream cipher 3 ) 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 (
  • Slide 23
  • Si pu verificare che Si pu verificare che da cui da cui (c 0,c 1,c 2,c 3 )=(0,1,0,0,0) =(1,0,0,1,0) (c 0,c 1,c 2,c 3 )=(0,1,0,0,0) =(1,0,0,1,0) Pertanto la regola di ricorrenza Pertanto la regola di ricorrenza z i+5 =z i +z i+3 (mod 2) Esempi di crittoanalisi LFSR Stream cipher 4 ) 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 ( ) 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 () 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 (=