La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DES semplificato L’algoritmo di crittografia Des semplificato(S-DES)

Presentazioni simili


Presentazione sul tema: "DES semplificato L’algoritmo di crittografia Des semplificato(S-DES)"— Transcript della presentazione:

0 Cifratura a blocchi e DES
27/03/2017 Cifratura a blocchi e DES L’algoritmo DES semplificato Cifratura di flussi e cifratura a blocchi La cifratura di Feistel L’algoritmo DES (Data Encryption Standard) La cifratura DES Decrittografia DES Effetto valanga La potenza di DES L’uso di chiavi a 56 bit La natura dell’algoritmo DES Attacchi temporizzati Analisi crittografica differenziale e lineare Principi di progettazione della cifratura a blocchi Criteri progettuali di DES

1 DES semplificato L’algoritmo di crittografia Des semplificato(S-DES)
27/03/2017 DES semplificato Des semplificato(S-DES) Sviluppato da Edward Schaefer Ha valore educativo poiché non è sicuro L’algoritmo di crittografia Prende in input un blocco di 8 bit di testo in chiaro Prende in input una chiave di 10 bit Produce come output un blocco di 8 it di testo cifrato L’algoritmo di decrittografia S-DES is a reduced version of the DES algorithm. It has similar properties to DES but deals with a much smaller block and key size (operates on 8-bit message blocks with a 10-bit key). It was designed as a test block cipher for learning about modern cryptanalytic techniques such as linear cryptanalysis, differential cryptanalysis and linear-differential cryptanalysis. It is a variant of Simplified DES [SC96]. The same key is used for encryption and decryption. Though, the schedule of addressing the key bits are altered so that the decryption is the reverse of encryption. An input block to be encrypted is subjected to an initial permutation IP. Then, it is applied to two rounds of key-dependent computation. Finally, it is applied to a permutation which is the inverse of the initial permutation. We shall now proceed to a detailed description of the components of S-DES. Prende in input un blocco di 8 bit di testo cifrato Prende in input la chiave di 10 bit usata per la cifratura Produce come output un blocco di 8 it di testo in chiaro

2 DES semplificato Esegue 5 funzioni: Permutazione iniziale (IP)
27/03/2017 DES semplificato Esegue 5 funzioni: Permutazione iniziale (IP) Funzione complessa fk 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 fk Permutazione inversa della funzione di permutazione iniziale

3 DES semplificato Schema Des semplificato

4 DES semplificato La funzione fk accetta come input i dati elaborati nell’algoritmo 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 fk 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 Permutazione (P8) per generare la seconda chiave

5 DES semplificato Matematicamente: ovvero
Testo cifrato=IP-1(fk2(SW(fk1(IP(testo in chiaro))))) dove K1=P8(Shift(P10(key))) K2=P8(Shift(Shift(P10(key))) e per la decrittografia Testo in chiaro=IP-1(fk1(SW(fk2(IP(testo cifrato)))))

6 La generazione della chiave S-DES
DES semplificato La generazione della chiave S-DES Chiave iniziale di 10 bit condivisa dal mittente e dal destinatario: Permutazione P10 o anche P10 3 5 2 7 4 10 1 9 8 6

7 La generazione della chiave S-DES
27/03/2017 DES semplificato La generazione della chiave S-DES Esempio: Permutazione: ( ) ( ). Shift circolare sinistro (LS-1) separatamente sui primi (Left) e sui secondi (right)5 bit. ( ) C. P8 P8 6 3 7 4 8 5 10 9 D. Il risultato è la prima chiave k1 ( ). Nella tabella il primo bit dell’output corrisponde al bit 3 dell’input, il secondo dell’output corrisponde al quinto in input e così via. Per esempio la chiave ( ) permutata diviene ( ). Successivamente viene effettuato un shift circolare sinistro (LS-1) Separatamente sui primi e sui secondi 5 bit e si ottiene ( ) E. Shift circolare sinistro di due posizioni sui primi e sui secondi 5 bit di B, il valore ( ) diviene ( ). F. P8 sul risultato che genera k2

8 La generazione della chiave S-DES
DES semplificato La generazione della chiave S-DES Chiave di 10 bit 10 P10 5 LS-1 LS-2 P8 8 P10: permutazione LS-1: shift

9 DES semplificato Crittografia S-DES Permutazione iniziale IP
2 6 3 1 4 8 5 7 Permutazione finale IP-1 4 1 3 5 7 2 8 6

10 DES semplificato Crittografia S-DES Le funzione fk Esempio:
27/03/2017 DES semplificato Crittografia S-DES Le funzione fk dove L e R sono i 4 bit a sinistra e i 4 bit a destra dell’input di 8 bit 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)

11 DES semplificato Crittografia S-DES Le funzione fk: mapping F
27/03/2017 DES semplificato Crittografia S-DES Le funzione fk: mapping F L’input è il numero di 4 bit (n1n2n3n4). La prima operazione è un’espansione/permutazione E/P 4 1 2 3 risultato rappresentabile anche come

12 DES semplificato Crittografia S-DES Le funzione fk: mapping F
27/03/2017 DES semplificato Crittografia S-DES Le funzione fk: mapping F La sottochiave a 8 bit k1=(k11,k12,k13,k14,k15,k16,k17,k18) è aggiunta xor al risultato precedente Rinominando gli 8 bit

13 DES semplificato Crittografia S-DES S-box
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

14 DES semplificato Crittografia S-DES P4 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, l’elemento di matrice individuato da tali valori di riga e di colonna fornisce i due bit di output riga 0 Esempio: (p0,0p0,3)=00 (p0,1p0,2)=(10) S0(0,2)=3 (11 in binario) colonna 2 Successivamente i 4 bit generati da S0 e S1 sono sottoposti ad una permutazione P4 L’output è la funzione F 1 4 3

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

16 DES semplificato Analisi della tecnica DES semplificata
27/03/2017 DES semplificato Analisi della tecnica DES semplificata • Con una chiave a 10 bit ci sono 210=1024 combinazioni. • L’attacco a S-DES può essere sferrato con successo •ogni ciphertext ci è una funzione polinomiale dei pi (plaintext) e dei ki (key). • Possiamo esprimere l’algoritmo di encryption come 8 equazioni non lineari in 10 incognite La non linearità proviene dalle S-box ◘Poniamo (p0,0, p0,1, p0,2, p0,3)=(a,b,c,d), (p1,0, p1,1,p1,2,p1,3)=(w,x,y,z) e sia l’uscita a 4 bit (q,r,s,t) allora l’operazione di S0 è definita dalle equazioni:

17 DES semplificato Analisi della tecnica DES semplificata
27/03/2017 DES semplificato Analisi della tecnica DES semplificata •Le operazioni sono modulo 2 • Otteniamo equazioni simili per S1. • Alternando mappature lineari con mappature non lineari provenienti dalle S-Box si complica l’analisi crittografica

18 Cifratura a flussi e cifratura a blocchi
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 l’analisi in frequenza

19 Cifratura a flussi e cifratura a blocchi
I cifrari a flusso elaborano il messaggio un bit o un byte per volta. La maggior parte dei cifrari moderni sono a blocco

20 Principi dei cifrari a blocco
DES semplificato Principi dei cifrari a blocco

21 Cenni preliminari sull'algoritmo DES
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. 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 Mapping reversibile Mapping irreversibile Testo in chiaro Testo cifrato 00 11 01 10

22 Cifrario a blocco ideale
DES semplificato Cifrario a blocco ideale

23 Cenni preliminari sull'algoritmo DES
Motivazioni Struttura di Feistel Tabella di crittografia e decrittografia per la cifratura a sostituzione

24 Cenni preliminari sull'algoritmo DES
Struttura di Feistel 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 non è conveniente N=4 chiave (4bit)x(16 righe)=64 N=64 chiave=1021 bit Feistel adotta un’approssimazione

25 Cenni preliminari sull'algoritmo DES
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 2n Per un blocco di 64 bit 64 264=270=1021 bit

26 DES semplificato Shannon e i cifrari

27 Confusione e diffusione
DES semplificato Confusione e diffusione

28 La cifratura di Feistel
Introduzione al DES La cifratura di Feistel

29 Cenni preliminari sull'algoritmo DES
Struttura di Feistel Applicazione pratica di una cifratura proposta da Shannon che alterna confusione e diffusione Testo in chiaro L0 R0 Key Algoritmo di generazione della sottochiave k1 F R1 L1 Round 1 ki F Ri Li Round i Un testo in chiaro M viene spezzato in due parti di eguale lunghezza l kn F Rn Ln Round n Li=Ri-1 Ri=Li-1F(Ri-1, ki) Testo cifrato

30 Cenni preliminari sull'algoritmo DES
Parametri del ciclo di Feistel

31 Cenni preliminari sull'algoritmo DES
Decriptazione del ciclo di Feistel

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

33 Cenni preliminari sull'algoritmo DES
Il 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

34 Cenni preliminari sull'algoritmo DES
Struttura di Feistel

35 Caratteristiche del DES
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 Combina sostituzione e trasposizione Si basa sul sistema di Feistel come la maggior parte dei cifrari simmetrici a blocchi Schema 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 L’algoritmo comprende 16 iterazioni che mischiano testo in chiaro e valori ottenuti dalla chiave

36 Caratteristiche del DES
Il testo da cifrare viene suddiviso in blocchi di 64 bit ciascuno e vengono cifrati uno dopo l'altro in successione con uguale procedimento Se 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

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

38 DES Struttura L’algoritmo può essere suddiviso in tre blocchi:
Dato il plaintext x, si costruisce la stringa x0, permutando i bit di x secondo una permutazione iniziale (fissata) IP. In particolare, x0=IP(x)=L0R0, dove L0 comprende i primi 32 bit di x0 e R0 gli ultimi 32

39 DES Struttura 2. LiRi, per 1i16, viene calcolato come Li=Ri-1
Ri=Li-1  F(Ri-1,ki) dove  è l’operatore di XOR, k1,k2,…,k16 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 Ri-1 e i 48 bit della subkey e: ▪Espande Ri-1 a 48 bit utilizzando una tabella che definisce una espansione/permutazione E ▪Ne fa l’XOR con la subkey ki 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

40 DES Struttura Si applica la permutazione inversa IP-1 alla stringa di bit R16L16, ottenendo il testo cifrato y, cioè y=IP-1(R16L16)

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

42 Permutazione Iniziale IP
DES Permutazione Iniziale IP 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. 50 58 bit iniziali bit permutati ... 1 2 64

43 Permutazione Inversa IP-1
DES Permutazione Inversa IP-1 8 40 bit iniziali bit permutati ... 1 2 64

44 Struttura del ciclo DES Funzione di espansione E 32 1 2 3 4 5 6 7 8 9
  1   2   3   4   5   6   7   8   9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

45 DES Struttura del ciclo

46 Un singolo round in DES Struttura

47 Singola iterazione DES
parte sinistra 32 bit parte destra 32 bit Li-1 Ri-1 sottochiave 48 bit f ki Ri Li Ri

48 S-Box

49 S-Box

50 S-Box

51 S-Box

52 Caratteristiche S-Box

53 DES Struttura del ciclo Permutazione finale (P)

54 Operazioni sulla chiave

55 Operazioni sulla chiave

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

57 Operazioni sulla chiave
Vediamo adesso nello specifico le singole operazioni.

58 Operazioni sulla chiave
Vediamo adesso nello specifico le singole operazioni.

59 Operazioni sulla chiave
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.

60 Operazioni sulla chiave

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

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

63 Operazioni sulla chiave
Scelta permutata 2 I due semiblocchi vengono quindi rielaborati utilizzando la 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.

64 Decifratura DES

65 Decifratura DES IP schedulazione chiave ... stesso algoritmo
testo cifrato chiave IP iterazione 1 k16 schedulazione chiave ... iterazione 16 k1 scambio stesso algoritmo sottochiavi in ordine inverso IP -1 testo in chiaro

66 Decifratura DES Per il momento sembra ancora abbastanza sicura, nonostante i numerosi attacchi brute force La sua effettiva sicurezza è comunque una questione estremamente controversa La 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 dell’approvazione come standard

67 Effetto valanga

68 Effetto valanga

69 La sicurezza del DES Ricerca esaustiva
Numero chiavi DES = 256  7,2056 ·1016 Un computer a 500 Mhz che testa una chiave per ciclo di clock impiega secondi  834 giorni  2 anni e 3 mesi per provare 255  3,6 ·1016 chiavi

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

71 Attacchi al DES Nel 1995 l’istituto 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 Nel 1997 alcuni ricercatori riescono a dedurre una chiave DES utilizzando 3500 macchine in parallelo e impiegando circa 4 mesi 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

72 Attacchi al DES

73 Forza del DES- Attacchi analitici
27/03/2017 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 Esistono tre tipi di attacco conosciuti in grado di violare il DES completo con tutti i sedici cicli di complessità inferiore a quello di forza bruta: la crittanalisi differenziale, crittanalisi lineare e l'attacco di Davies. Ad ogni modo, questi attacchi sono solo teorici, non attuabili in pratica; questo tipo di attacchi viene detto a volte certificational weakness.

74 Forza del DES- Attacchi di timing
27/03/2017 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

75 Criptoanalisi differenziale
27/03/2017 -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 l’attacco ai block cipher -Usato per attaccare diversi cifrari a blocco con successo variabile -DES (come Lucifer) abbastanza resistente Crittoanalisi differenziale Il miglior attacco al DES conosciuto è senza dubbio quello definito dal metodo della Crittoanalisi differenziale, introdotto da E. Biham e A. Shamir alla fine degli anni '80, anche se era già nota sia ad IBM che alla NSA e tenuta segreta. Per violare tutti i 16 cicli, la crittanalisi differenziale richiede 247 testi in chiaro scelti. Esso, come vedremo, definisce un attacco di tipo Chosen Plaintext, che 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). Tuttavia quando il numero di iterazioni sale a 16 o più, attacchi di questo tipo hanno complessità uguale a quella che si avrebbe con un algoritmo di ricerca nello spazio delle chiavi. Questa potrebbe essere una motivazione al fatto che siano state scelte proprio 16 iterazioni nel DES standard e non meno. Si dice infatti che i due ideatori della crittoanalisi differenziale, di cui uno è proprio lo Shamir noto per l'RSA, quando pubblicarono questo tipo di attacco si consultarono con uno degli ideatori del DES. Quest'ultimo dichiarò poi che il sistema fu progettato in modo da resistere a questo tipo di attacco.

76 Criptoanalisi differenziale
27/03/2017 Attacco statistico contro i cifrari Feistel introdotto da E. Biham e A. Shamir Primo attacco a rompere l’algoritmo più velocemente di un attacco a forza bruta Può essere utilizzato contro altri cifrari come ad esempio idea Richiede 247 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). Nella nostra analisi ci limiteremo quindi ad illustrare un attacco con sole tre iterazioni. In esso supporremo per semplicità che le permutazioni, iniziale IP e finale IP-1, non vengano considerate in quanto esse non hanno effetto sulla crittoanalisi. Si considererà inizialmente un attacco di tipo Known Plaintext, cioè si considereranno note delle coppie,(testo in chiaro - testo cifrato), con chiave segreta k uguale per tutte. Una versione più semplice si ha quando è possibile scegliere quelli che sono i testi da cifrare in modo da velocizzare l'attacco (Chosen Plaintext). In mancanza di tale possibilità, bisogna aspettare che vengano scelti un maggior numero di testi affinchè vengano scoperte certe proprietà (con un peggioramento di un fattore di circa 28 per la velocità dell'attacco). Ciò su cui si basa la crittoanalisi differenziale è il confronto tra lo xor bit a bit di due testi in chiaro e lo xor bit a bit dei corrispondenti testi cifrati, o meglio delle differenze (da cui deriva anche il nome di questo tipo di attacco), al fine di scoprire la chiave utilizzata. Nel testo che segue ci riferiremo a stringhe binarie; in particolare quelle marcate con un apice indicheranno lo xor bit a bit di altre due stringhe, ad esempio x' = x Å x*.

77 Criptoanalisi differenziale
27/03/2017 Si considereranno note delle coppie,(testo in chiaro - testo cifrato), con chiave segreta k uguale per tutte. Con una differenza nota nell’input Cercando una differenza nota nell’output

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

79 Criptoanalisi differenziale

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

81 Criptoanalisi lineare
27/03/2017 Introdotta nel 1994 da Matsui e altri Si può recuperare la chiave del DES dall’analisi di 243 messaggi noti tramite un’approssimazione lineare per descrivere il comportamento del cifratore a blocco. La prima applicazione sperimentale riuscì nell’attacco in 50 giorni su dodici workstations HP 9735. 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. La crittanalisi lineare è stata scoperta da Mitsuru Matsui ed occorrono 243 testi in chiaro (Matsui, 1993); il metodo è stato implementato (Matsui, 1994) ed è stato il primo esperimento di crittanalisi sul DES documentato. Non ci sono prove che il DES sia stato progettato per resistere a questo tipo di attacco. Una generalizzazione della crittanalisi lineare — crittanalisi lineare multipla — è stata proposta nel 1994 (Kaliski e Robshaw) e poi in seguito migliorata da Biryukov ed altri (2004); la loro analisi suggerisce che possono essere utilizzate approssimazioni lineari multiple per ridurre la quantità di dati per portare avanti l'attacco di un fattore 4 (cioè 241 inveche che 243). Una riduzione simile nella complessità dei dati può essere ottenuta con una variante della crittanalisi lineare con testo scelto (Knudsen e Mathiassen, 2000). Junod (2001) eseguì diversi esperimenti per determinare l'attuale complessità della crittanalisi lineare e documentò che era un po' più veloce di quanto predetto richiedendo un tempo equivalente a 239–241 calcoli del DES.

82 Criptoanalisi lineare
Trova delle approssimazioni lineari con probabilità L 1/2 ia, jb,kc 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

83 Criterio di Davies Crittanalisi DES 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 250 testi in chiaro, ha una complessità computazionale di 250 ed il 51% di probabilità di successo.

84 Altri attacchi Crittanalisi DES Crittanalisi differenziale-lineare
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 215,8 testi in chiaro ed una complessità temporale di 229,2 (Biham ed altri, 2002).

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

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

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 "DES semplificato L’algoritmo di crittografia Des semplificato(S-DES)"

Presentazioni simili


Annunci Google