La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

0 Lalgoritmo DES semplificato Cifratura di flussi e cifratura a blocchi La cifratura di Feistel Lalgoritmo DES (Data Encryption Standard) La cifratura.

Presentazioni simili


Presentazione sul tema: "0 Lalgoritmo DES semplificato Cifratura di flussi e cifratura a blocchi La cifratura di Feistel Lalgoritmo DES (Data Encryption Standard) La cifratura."— Transcript della presentazione:

1

2 0 Lalgoritmo DES semplificato Cifratura di flussi e cifratura a blocchi La cifratura di Feistel Lalgoritmo DES (Data Encryption Standard) La cifratura DES Decrittografia DES Effetto valanga La potenza di DES Luso di chiavi a 56 bit La natura dellalgoritmo DES Attacchi temporizzati Analisi crittografica differenziale e lineare Principi di progettazione della cifratura a blocchi Criteri progettuali di DES

3 1 Des semplificato(S-DES)Des semplificato(S-DES) Sviluppato da Edward SchaeferSviluppato da Edward Schaefer Ha valore educativo poiché non è sicuroHa valore educativo poiché non è sicuro Prende in input un blocco di 8 bit di testo in chiaroPrende in input un blocco di 8 bit di testo in chiaro Prende in input una chiave di 10 bitPrende in input una chiave di 10 bit Produce come output un blocco di 8 it di testo cifratoProduce come output un blocco di 8 it di testo cifrato Lalgoritmo di crittografia Prende in input un blocco di 8 bit di testo cifratoPrende in input un blocco di 8 bit di testo cifrato Prende in input la chiave di 10 bit usata per la cifraturaPrende in input la chiave di 10 bit usata per la cifratura Produce come output un blocco di 8 it di testo in chiaroProduce come output un blocco di 8 it di testo in chiaro Lalgoritmo di decrittografia

4 2 Esegue 5 funzioni: (IP) Permutazione iniziale (IP) Funzione complessa f k composta da permutazione e sostituzione e che dipende dalla chiave di input Funzione di permutazione semplice (SW) che commuta le due metà di dati Funzione f k Permutazione inversa della funzione di permutazione iniziale

5 3 Schema Des semplificatoSchema Des semplificato

6 4 La funzione f k accetta come input i dati elaborati nellalgoritmo di crittografia e una chiave di 8 bit. Alternative per la scelta delle sottochiavi: Chiave di 16 bit costituita da due sottohiavi di 8 bit, una per ogni f k Unica chiave di 8 bit Compromesso due sottochiavi da 8 bit selezionate da una chiave di 10 bit. Operazioni da fare Permutazione (P10) Scorrimento Permutazione (P8) che produce un output di 8 bit, scelto come prima chiave Scorrimento Permutazione (P8) per generare la seconda chiave

7 5 Matematicamente: ovvero Testo cifrato=IP -1 (f k2 (SW(f k1 (IP(testo in chiaro))))) dove K 1 =P8(Shift(P10(key))) K 2 =P8(Shift(Shift(P10(key))) e per la decrittografia Testo in chiaro=IP -1 (f k1 (SW(f k2 (IP(testo cifrato)))))

8 6 La generazione della chiave S-DES Chiave iniziale di 10 bit condivisa dal mittente e dal destinatario: Permutazione P10 o anche P10

9 7 La generazione della chiave S-DES Esempio: A. A. Permutazione: ( ) ( ). B. B.Shift circolare sinistro (LS-1) separatamente sui primi (Left) e sui secondi (right)5 bit. ( ) C.P P8 D.Il risultato è la prima chiave k 1 ( ). E. Shift circolare sinistro di due posizioni sui primi e sui secondi 5 bit di B, il valore ( ) diviene ( ). di B, il valore ( ) diviene ( ). F. P8 sul risultato che genera k 2

10 8 Chiave di 10 bitChiave di 10 bit10 P LS-1 LS-1 LS-2LS-2 P8 P8 8 8 P10: permutazione LS-1: shift La generazione della chiave S-DES

11 9 Crittografia S-DES Permutazione iniziale Permutazione iniziale IP Permutazione finale Permutazione finale IP -1

12 10 Crittografia S-DES Le funzione f k dove L e R sono i 4 bit a sinistra e i 4 bit a destra dellinput di 8 bit F è un mapping che da 4 bit in ingresso restituisce 4 bit in uscita. F è un mapping che da 4 bit in ingresso restituisce 4 bit in uscita. Sk è una sottochiave, è la funzione or esclusivo bit a bit Esempio: L||R= , F(1101,SK)=(1110) per qualche SK (1011) (1110)=(0101)

13 11 Crittografia S-DES Le funzione f k : mapping F Linput è il numero di 4 bit (n 1 n 2 n 3 n 4 ). La prima operazione è unespansione/permutazione E/P risultato rappresentabile anche come

14 12 Crittografia S-DES Le funzione f k : mapping F La sottochiave a 8 bit k 1 =(k 11,k 12,k 13,k 14,k 15,k 16,k 17,k 18 ) è aggiunta xor al risultato precedente Rinominando gli 8 bit

15 13 Crittografia S-DES I primi 4 bit (prima riga della precedente matrice sono disposti nella S-box S0. Producono in uscita 2-bit. I rimanenti 4 bit sono posti nella S-box S1. Producono in uscita 2-bit. S-box

16 14 Crittografia S-DES Funzionamento delle S-box Il primo ed il quarto bit sono trattati come numeri a due bit che specificano una riga della S-box, il secondo ed il terzo bit di input specificano una colonna delle S-box, lelemento di matrice individuato specificano una colonna delle S-box, lelemento di matrice individuato da tali valori di riga e di colonna fornisce i due bit di output da tali valori di riga e di colonna fornisce i due bit di output Esempio: (p 0,0 p 0,3 )=00 (p 0,1 p 0,2 )=(10) (p 0,1 p 0,2 )=(10) riga 0 colonna 2 S0(0,2)=3 (11 in binario) Successivamente i 4 bit generati da S0 e S1 sono sottoposti ad una permutazione 1431P4 Loutput è la funzione F

17 15 Crittografia S-DES La funzione Switch La funzione switch (SW) scambia la parte sinistra con la parte destra E introdotta poiché la funzione f k altera solo i 4 bit più a sinistra

18 16 Analisi della tecnica DES semplificata Con una chiave a 10 bit ci sono 2 10 =1024 combinazioni. Lattacco a S-DES può essere sferrato con successo ogni ciphertext c i è una funzione polinomiale dei p i (plaintext) e dei k i (key). Possiamo esprimere lalgoritmo di encryption come 8 equazioni non lineari in 10 incognite La non linearità proviene dalle S-box Poniamo (p 0,0, p 0,1, p 0,2, p 0,3 )=(a,b,c,d), (p 1,0, p 1,1,p 1,2,p 1,3 )=(w,x,y,z) e sia luscita a 4 bit (q,r,s,t) allora loperazione di S0 è definita dalle equazioni:

19 17 Analisi della tecnica DES semplificata Le operazioni sono modulo 2Le operazioni sono modulo 2 Otteniamo equazioni simili per S1. Otteniamo equazioni simili per S1. Alternando mappature lineari con mappature non lineari provenienti Alternando mappature lineari con mappature non lineari provenienti dalle S-Box si complica lanalisi crittografica

20 18 I cifrari a blocchi elaborano il messaggio da criptare viene suddiviso in blocchi di lunghezza fissa. In genere sono utilizzati blocchi di 64 o 128 bit. Il messaggio cifrato si ottiene elaborando indipendenemente ogni singolo blocco. Possono essere considerati cifrari a semplice sostituzione. Devono avere alfabeti grandi per contrastare lanalisi in frequenza

21 19 I cifrari a flusso elaborano il messaggio un bit o un byte per volta. La maggior parte dei cifrari moderni sono a blocco

22 20 Principi dei cifrari a blocco

23 21 Mapping reversibileMapping irreversibile Testo in chiaroTesto cifratoTesto in chiaroTesto cifrato Struttura di Feistel Una cifratura a blocchi opera un blocco di dati di dimensione fissata, di solito 64 bit, e lo trasforma in un altro blocco di 64 bit usando una funzione selezionata dalla chiave. usando una funzione selezionata dalla chiave. Il procedimento deve essere reversibile per garantire la decrittografia, ovvero un blocco di testo in chiaro deve produrre (a parità di chiave) un blocco cifrato univoco

24 22 Cifrario a blocco ideale

25 23 Motivazioni Struttura di Feistel Tabella di crittografia e decrittografia per la cifratura a sostituzione

26 24 Struttura di Feistel Se viene utilizzato un blocco di piccole dimensioni ad es. n=4, Se viene utilizzato un blocco di piccole dimensioni ad es. n=4, il sistema è equivalente a una classica cifratura a sostituzione Per blocchi di grandi dimensioni la cifratura ideale a blocchi Per blocchi di grandi dimensioni la cifratura ideale a blocchi non è conveniente N=4 chiave (4bit)x(16 righe)=64 N=64chiave=10 21 bit Feistel adotta unapprossimazione Feistel adotta unapprossimazione

27 25 Motivazioni Struttura di Feistel La chiave per n=4 è uguale a 64 bit In generale per una cifratura a sostituzione a blocchi a n bit la chiave ha dimensioni pari a n 2 n Per un blocco di 64 bit =2 70 =10 21 bit

28 26 Shannon e i cifrari

29 27 Confusione e diffusione

30 28 La cifratura di Feistel

31 29 k1k1 F R1R1 L1L1 Round 1 knkn F RnRn LnLn Round n Key Algoritmo di generazione della sottochiave Testo in chiaro R0R0 L0L0 Testo cifrato kiki F RiRi LiLi Round i L i =R i-1 R i =L i-1 F(R i-1, k i ) Un testo in chiaro M viene spezzato in due parti di eguale lunghezza l Struttura di Feistel Applicazione pratica diApplicazione pratica di una cifratura proposta da Shannon che alterna confusione e diffusione

32 30 Parametri del ciclo di Feistel

33 31 Decriptazione del ciclo di Feistel

34 32 mallinizio degli anni 70, ciascuno usava il proprio crittosistema per cifrare e decifrare mmancava uno standard (es: banche) m Il 15 Maggio 1973, il National Bureau of Standards (NBS) pubblicò un invito, nel Registro Federale, per lemissione di un crittosistema standard m Il 15 Maggio 1973, il National Bureau of Standards (NBS) pubblicò un invito, nel Registro Federale, per lemissione di un crittosistema standard) m nacque così il DES Data Encryption Standard, divenuto il crittosistema più usato nel mondo DES fu sviluppato alla IBM, come evoluzione di un crittosistema più antico, LUCIFER, e fu pubblicato sul Registro Federale il 17 Marzo 1975 m Il DES fu sviluppato alla IBM, come evoluzione di un crittosistema più antico, LUCIFER, e fu pubblicato sul Registro Federale il 17 Marzo 1975 m La definizione di DES è riportata nel Federal Information Processing Standards Publication 46, del 15 Gennaio 1977

35 33 mIl DES (Data Encryption Standard) è un cifrario composto sviluppato dall'IBM, modificato dalla National Security Agency (NSA) e adottato dal governo statunitense nel 1977 ufficialmente per la protezione di dati riservati ma non classificati come "segreti militari" o di "stato" (fatta eccezione per quegli atti che richiedevano un livello più alto di sicurezza), tuttora è usato da agenzie federali

36 34 Struttura di Feistel

37 35 Caratteristiche del DES m Progettato inizialmente per essere implementato in hardware accetta una stringa di 64 bit in ingresso e la trasforma in una di 64 bit in uscita mCombina sostituzione e trasposizione mSi basa sul sistema di Feistel come la maggior parte dei cifrari simmetrici a blocchi mSchema simmetrico –Il DES è un codice cifrato a blocchi. La chiave usata per cifrare è un blocco di 64 bit suddivisa in 8 sottoblocchi di 8 bit ciascuno; l'ultimo bit di ogni sottoblocco è di controllo, di conseguenza i bit liberi che costituiscono in pratica la chiave sono 56. Accetta una stringa di 64 bit in ingresso e la trasforma in una di 64 bit in uscita m Lalgoritmo comprende 16 iterazioni che mischiano testo in chiaro e valori ottenuti dalla chiave

38 36 Caratteristiche del DES mIl testo da cifrare viene suddiviso in blocchi di 64 bit ciascuno e vengono cifrati uno dopo l'altro in successione con uguale procedimento mSe un blocco non raggiunge la lunghezza desiderata di 64 bit si utilizza un procedimento detto "pad", che può essere implementato in diversi modi Aggiungere zeri fino alla lunghezza stabilita Se i dati sono binari, integrare il blocco con bit che sono l'opposto degli ultimi bit del messaggio Se i dati sono ASCII si usano invece byte generati in modo casuale specificando nell'ultimo byte il carattere ASCII corrispondente al numero di byte aggiunti. Una tecnica, in parte equivalente alla precedente, usa sempre bit casuali ma fornisce, negli ultimi tre bit, il numero di byte originali, cioè quelli che costituiscono il messaggio senza riempimento

39 37 Data Encryption Standard DES testo in chiaro testo cifrato chiave 64 bit 56 bit

40 38 Lalgoritmo può essere suddiviso in tre blocchi: 1. 1.Dato il plaintext x, si costruisce la stringa x 0, permutando i bit di x secondo una permutazione iniziale (fissata) IP. In particolare, x 0 =IP(x)=L 0 R 0, dove L 0 comprende i primi 32 bit di x 0 e R 0 gli ultimi 32 Struttura

41 39 2. LiRi, per 1 i 16, viene calcolato come L i =R i-1 R i =L i-1 F(R i-1,k i ) dove è loperatore di XOR, k 1,k 2,…,k 16 sono sottochiavi di 48 bit calcolate in funzione della chiave originaria k (formano il key schedule) e F è una funzione che prende i 32 bit della metà destra R i- 1 e i 48 bit della subkey e: Espande R i-1 a 48 bit utilizzando una tabella che definisce una espansione/permutazione E Ne fa lXOR con la subkey k i e scrive il risultato come concatenazione si stringhe di 6 bit Il risultato a 48 bit viene elaborato da una funzione di sostituzione che utilizza 8 S-box e produce un output di 32 bit Permuta i 32 bit utilizzando una tabella di permutazione Struttura

42 Si applica la permutazione inversa IP -1 alla stringa di bit R 16 L 16, ottenendo il testo cifrato y, cioè y=IP -1 (R 16 L 16 ) Struttura

43 41 Struttura del DES IP IP -1 iterazione 1 iterazione 16 testo in chiaro 64 bit testo cifrato 64 bit scambio... schedulazionechiave chiave 56 bit 48 bit

44 42 Permutazione Iniziale IP bit iniziali bit permutati Poiché il primo bit della tabella è 58, il 58° bit della stringa iniziale diviene il primo bit di quella permutata, il 50° bit diventa il secondo e così via.

45 43 Permutazione Inversa IP bit iniziali bit permutati 64...

46 44 Struttura del ciclo Funzione di espansione E

47 45 Struttura del ciclo

48 46 Struttura

49 47 Singola iterazione DES L i-1 R i-1 LiLiLiLi RiRiRiRi kikikiki f parte sinistra 32 bit parte destra 32 bit sottochiave 48 bit RiRiRiRi

50 48 S-Box

51 49 S-Box

52 50 S-Box

53 51 S-Box

54 52 Caratteristiche S-Box

55 53 Struttura del ciclo Permutazione finale (P)

56 54

57 55

58 56 Lo schema generico delle operazioni effettuate sulla chiave è il seguente: Vediamo adesso nello specifico le singole operazioni. 64 bit

59 57 Vediamo adesso nello specifico le singole operazioni.

60 58 Vediamo adesso nello specifico le singole operazioni.

61 59 Chiave iniziale La chiave iniziale è costituita da 64 bits generati solitamente in modo casuale ma aventi una particolarità: l'ottavo bit di ogni riga non è altro che un controllo di disparità effettuato sui bits costituenti la riga e non verrà utilizzato nelle successive operazioni di elaborazione sulla chiave.

62 60

63 61 I 56 bits ottenuti vengono suddivisi in due parti da 28 bits per poi essere spostati singolarmente a sinistra.

64 62 Spostamento Il valore dello spostamento è variabile ed è legato al ciclo secondo questa tabella:

65 63 Scelta permutata 2 I due semiblocchi vengono quindi rielaborati utilizzando la Permuted Choise 2) che è una compressione. scelta permutata 2 (Permuted Choise 2) che è una compressione. Prende in ingresso 56 bit e ne restituisce 48. La coppia di blocchi Cj e Dj è determinata dalla tabella Il valore ottenuto costituisce la prima chiave utilizzata nel primo ciclo. La procedura continuerà poi negli altri cicli, seguendo lo schema generale esposto in precedenza.

66 64 Decifratura DES

67 65 IP IP -1 iterazione 1 iterazione 16 testo cifrato testo in chiaro scambio... schedulazionechiave chiave k 16 k1k1k1k1 stesso algoritmo sottochiavi in ordine inverso Decifratura DES

68 66 mPer il momento sembra ancora abbastanza sicura, nonostante i numerosi attacchi brute force mLa sua effettiva sicurezza è comunque una questione estremamente controversa mLa maggiore preoccupazione è che esso possa avere qualche debolezza nota soltanto a NSA –Originariamente la chiave doveva essere lunga 64 bit, fu ridotta a 56 poco prima dellapprovazione come standard Decifratura DES

69 67 Effetto valanga

70 68 Effetto valanga

71 69 mNumero chiavi DES = ,2056 ·10 16 mUn computer a 500 Mhz che testa una chiave per ciclo di clock impiega secondi 834 giorni 2 anni e 3 mesi per provare ,6 ·10 16 chiavi La sicurezza del DES Ricerca esaustiva

72 70 La sicurezza del DES m Nel 1990 Biham e Shamir inventano la criptoanalisi differenziale m Nel 1991 applicano tale tecnica al DES dimostrando che quasi tutte le modifiche allalgoritmo lo indeboliscono m Dopo aver indebolito lalgoritmo Biham e Shamir violano la versione modificata m Diffie ed Helman nel 1977 asseriscono che una chiave di 56 bit è troppo breve.

73 71 Attacchi al DES m Nel 1995 listituto nazionale per gli standard e la tecnologia (NIST, National Institute of Standards and Technology) inizia la ricerca di un nuovo algoritmo di crittografia più forte mNel 1997 alcuni ricercatori riescono a dedurre una chiave DES utilizzando 3500 macchine in parallelo e impiegando circa 4 mesi m Nel 1998 viene costruito un craker DES a un costo di circa euro, in grado di individuare una chiave des in 4 giorni Gennaio 1999: 22 ore 15 minuti testando 245 miliardi di chiavi al secondo, Distributed.Net computer e EFF

74 72 Attacchi al DES

75 73 Forza del DES- Attacchi analitici Oggi esistono diversi attacchi analitici al DES Utilizzano la struttura profonda del DES Acquisendo informazioni circa le encryptions Possono eventualmente ricavare alcuni/tutti i bit delle subkey Se serve dopo possono fare una ricerca esaustiva del resto Generalmente questi sono attacchi statistici Includono: Criptoanalisi differenziale Criptoanalisi lineare Attacchi relativi alla chiave

76 74 Forza del DES- Attacchi di timing Attacchi verso la reale cifratura La struttura della chiave (peso di Hamming) ha effetto sul tempo di cifratura/decifratura Possibile solo nel caso in cui sia possibile controllare questi tempi Particolarmente problematica per le smartcard Rappresenta solo un primo passo del possibile attacco

77 75 Criptoanalisi differenziale -Uno dei più significativi avanzamenti recenti (pubblici) nella criptoanalisi -Nota alla NSA e alla IBM al progetto del DES -Pubblicata negli anni 90 da Murphy et al. -Metodo potente per lattacco ai block cipher -Usato per attaccare diversi cifrari a blocco con successo variabile -DES (come Lucifer) abbastanza resistente

78 76 Criptoanalisi differenziale Attacco statistico contro i cifrari Feistel introdotto da E. Biham e A. Shamir Primo attacco a rompere lalgoritmo più velocemente di un attacco a forza bruta Può essere utilizzato contro altri cifrari come ad esempio idea Richiede 2 47 coppie scelte di plaintexts per avere successo Si presta con successo alla rottura del DES nell'ipotesi che il numero di iterazioni sia ridotto (il DES a 8 iterazioni può essere rotto in un paio di minuti su un personal computer).

79 77 Criptoanalisi differenziale Si considereranno note delle coppie,(testo in chiaro - testo cifrato), con chiave segreta k uguale per tutte. Con una differenza nota nellinput Cercando una differenza nota nelloutput

80 78 Criptoanalisi differenziale Alcune differenze di input danno luogo con probabilità p ad alcune differenze di output Se si trovano con probabilità più elevata istanze di alcune coppie di differenze input/output allora: Possibile inferire la subkey usata in un round Dopo di ciò bisogna iterare il processo su molti round (con probabilità decrescenti) collegamenti ipertestuali\sez3-6.html

81 79 Criptoanalisi differenziale

82 80 Criptoanalisi differenziale Vedi D. Stinson Cryptography: Theory and Practice

83 81 Criptoanalisi lineare Introdotta nel 1994 da Matsui e altri Si può recuperare la chiave del DES dallanalisi di 2 43 messaggi noti tramite unapprossimazione lineare per descrivere il comportamento del cifratore a blocco. La prima applicazione sperimentale riuscì nellattacco in 50 giorni su dodici workstations HP Non è praticabile sia per le grandi richieste di dati, sia per la difficoltà di preparare nella realtà un attacco a messaggio noto. E basato sulla determinazione di approssimazioni lineari.

84 82 Criptoanalisi lineare Trova delle approssimazioni lineari con probabilità L 1/2 i a, j b, k c sono le posizioni dei bit in P, C, K Fornisce delle equazioni lineari per i bit della chiave Ottiene un bit della chiave usando un algoritmo di massima verosimiglianza Usa un gran numero di encryptions di tentativo

85 83 Criterio di Davies L'attacco migliorato di Davies: Crittanalisi lineare e differenziale: tecniche generali che possono essere applicate anche ad altri algoritmi, Attacco di Davies: tecnica specializzata per il DES, proposto da Davies negli anni '80 e migliorato da Biham e Biryukov (1997). La forma più potente dell'attacco richiede 2 50 testi in chiaro,testi in chiaro ha una complessità computazionale di 2 50 ed il 51% di probabilità di successo.

86 84 Altri attacchi Attacchi proposti su versioni con un minor numero di cicli di cifratura, permettono di valutare quanti cicli siano necessari per avere una certa sicurezza e che margine di sicurezza ha la versione completa. Crittanalisi differenziale-lineare Proposta da Langford ed Hellman nel 1994, combina l'analisi lineare e differenziale in un singolo attacco. Una versione migliorata dell'attacco può violare una versione del DES con 9 cicli con 2 15,8 testi in chiaro ed una complessità temporale di 2 29,2 (Biham ed altri, 2002).

87 85 Criteri progettuali DES Presentati da Coppersmith nel criteri per gli S-box forniscono: Non linearità Resistenza alla criptanalisi differenziale Buona confusione 3 criteri per la permutazione P forniscono: Aumento della diffusione

88 86 Progetto dei cifrari a blocco Principi fondamentali ancora come Feistel nel 1970 Numero dei round Cifrari migliori con valore maggiore Funzione f Se non lineare fornisce confusione, valanga Esistono problemi circa la selezione degli S-box Schedulazione della chiave Creazione complessa delle subkey, valanga

89 87 Modalità di utilizzo dei cifrari a blocco I Cifrari a blocchi criptano parole di lunghezza fissa (esempio: DES elabora blocchi di 64 bit) Nella realtà, con grosse moli di dati, vi sono molteplici blocchi da criptare L ANSI standard ANSI X Modes of Use ha stabilito 4 possibili modi di utilizzo dei cifrari a blocco I modi di utilizzo usualmente considerati sono 5


Scaricare ppt "0 Lalgoritmo DES semplificato Cifratura di flussi e cifratura a blocchi La cifratura di Feistel Lalgoritmo DES (Data Encryption Standard) La cifratura."

Presentazioni simili


Annunci Google