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

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Numeri a 100 Electronic flashcard. 1 uno ritorno.
Elementi di Crittografia MAC e FUNZIONI HASH
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Presente e futuro della religiosità nel nord est DIFFERENZE TRA GENERAZIONI figli e padri italo de sandre 1ids.
Valutazione d’Istituto A.S. 2008/2009
I numeri naturali ….. Definizione e caratteristiche
MONITORAGGIO MATEMATICA V A Alunni 26 Presenti 23 Quesiti 44 Risposte totali 650 Risultato medio 28,3 media 64,2%
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Seminario per il corso di Sistemi Operativi mod
Frontespizio Economia Monetaria Anno Accademico
Lez. 3 - Gli Indici di VARIABILITA’
Associazione Nazionale Medici Cardiologi Ospedalieri
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Sistemi di elaborazione delle informazioni
Esercitazioni su circuiti combinatori
XXIV Congresso ACOI 2005 Montecatini Terme Maggio 2005
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
Varianza campionaria Errore standard della varianza campionaria
ELEZIONI REGIONALI 2010 PRIMI RISULTATI E SCENARI 14 aprile 2010.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Già primario f.f. U.O. di neurochirurgia
I lavoratori italiani e la formazione UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA, IN COLLABORAZIONE CON DOXA, PER ANES (febbraio 2005)
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico
Cos’è un problema?.
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
Lezione 2 La progettazione degli esperimenti
Lezione 6 Encoder ottici
Ropol09anci INDAGINE SU PATTO DI STABILITA 2009 IN PIEMONTE ANCI PIEMONTE Torino, 29 giugno 2009.
Monitoraggio sugli inserimenti nella scuola superiore a.s. 06/07
Contatore: esempio di circuito sequenziale
CHARGE PUMP Principio di Funzionamento
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
Velocità ed accelerazione
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
ISTITUTO COMPRENSIVO TORREGROTTA REPORT DATI QUESTIONARIO Alunni Scuola Primaria Classe V A.S.2012/2013.
Blue economy Blue economy Maggio Universo di riferimento Popolazione italiana Numerosità campionaria cittadini, disaggregati per sesso,
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
Liceo classico/scientifico “V. Imbriani”
GEOGRAFIA DEI NUMERI Accademia dei Lincei - Roma 18 Ottobre2011
Un trucchetto di Moltiplicazione per il calcolo mentale
Navigazione piana, introduzione pns pnr.
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Prima rilevazione sullo stato di attuazione della riforma degli ordinamenti nelle istituzioni scolastiche in LOMBARDIA Attuazione del D.L. 59/2003 a.s.
Estratto per la relazione del Dott. Trevisanato 30 maggio 2008.
Esempi risolti mediante immagini (e con excel)
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Numeri Interi senza segno
I chicchi di riso e la sfida al Bramino
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
1 Ministero dell’Istruzione, dell’Università e della Ricerca Dipartimento per la Programmazione e la Gestione delle risorse umane, finanziarie e strumentali.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Crittografia. Introduzione  La rete può essere utilizzata per diversi scopi: informazione, scambio dati, scambio messaggi, trasferimento denaro.  Nel.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Steganografia in un file di testo Corso di Sicurezza dei sistemi informatici Prof. Giuseppe Mastronardi Anno Accademico 2006/07.
Transcript della presentazione:

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

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

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

DES semplificato Schema Des semplificato

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

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)))))

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

La generazione della chiave S-DES 27/03/2017 DES semplificato La generazione della chiave S-DES Esempio: Permutazione: (1010000010) (1000001100). Shift circolare sinistro (LS-1) separatamente sui primi (Left) e sui secondi (right)5 bit. (00001 11000) C. P8 P8 6 3 7 4 8 5 10 9 D. Il risultato è la prima chiave k1 (10100100). 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 (1010000010) permutata diviene (1000001100). Successivamente viene effettuato un shift circolare sinistro (LS-1) Separatamente sui primi e sui secondi 5 bit e si ottiene (00001 11000) E. Shift circolare sinistro di due posizioni sui primi e sui secondi 5 bit di B, il valore (00001 11000) diviene (00100 00011). F. P8 sul risultato che genera k2

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

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

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=10111101, F(1101,SK)=(1110) per qualche SK (1011)(1110)=(0101)

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

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

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

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

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

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:

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

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

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

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

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

Cifrario a blocco ideale DES semplificato Cifrario a blocco ideale

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

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

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

DES semplificato Shannon e i cifrari

Confusione e diffusione DES semplificato Confusione e diffusione

La cifratura di Feistel Introduzione al DES La cifratura di Feistel

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

Cenni preliminari sull'algoritmo DES Parametri del ciclo di Feistel

Cenni preliminari sull'algoritmo DES Decriptazione del ciclo di Feistel

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

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

Cenni preliminari sull'algoritmo DES Struttura di Feistel

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

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

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

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

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

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

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

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

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

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

DES Struttura del ciclo

Un singolo round in DES Struttura

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

S-Box

S-Box

S-Box

S-Box

Caratteristiche S-Box

DES Struttura del ciclo Permutazione finale (P)

Operazioni sulla chiave

Operazioni sulla chiave

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

Operazioni sulla chiave Vediamo adesso nello specifico le singole operazioni.

Operazioni sulla chiave Vediamo adesso nello specifico le singole operazioni.

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.

Operazioni sulla chiave

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

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

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.

Decifratura DES

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

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

Effetto valanga

Effetto valanga

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 144.115.188 secondi  834 giorni  2 anni e 3 mesi per provare 255  3,6 ·1016 chiavi

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.

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 100.000 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 100.000 computer e EFF

Attacchi al DES

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.

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

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.

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*.

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

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

Criptoanalisi differenziale

Criptoanalisi differenziale Vedi D. Stinson Cryptography: Theory and Practice

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.

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

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.

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).

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

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

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 X3.106-1983 Modes of Use ha stabilito 4 possibili modi di utilizzo dei cifrari a blocco • I modi di utilizzo usualmente considerati sono 5