Anteprima
Vedrai una selezione di 1 pagina su 3
Fondamenti di sicurezza - Cifratura simmetrica Feistel DES Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Cifratura Simmetrica_Feistel_DES

Cifratura a blocchi di Feistel (è una cifratura simmetrica)

Utilizzata da molti algoritmi di cifratura, essa riceve in input un blocco di dati e una chiave, il blocco viene

suddiviso in due metà uguali che attraversano diverse fasi alternando i processi di “xoratura” con le

sottochiavi generate dalla chiave input.

Ogni fase esegue i seguenti passi:

1. Input di partenza testo in chiaro e chiave, il testo viene diviso in 2 blocchi (sinistro e destro) delle stesse

dimensioni

2. La chiave viene fatta passare insieme al blocco destro all’interno di una funzione che ne genera una

sottochiave

3. La sottochiave ottenuta viene “xorata” con il blocco sinistro, l’output ottenuto viene dato in input come

blocco destro nella fase successiva

4. Il blocco destro non viene modificato, ma viene mandato in input come blocco sinistro nella fase

seguente

n.b.

Solo nell’ultima fase i 2 blocchi in output vengono nuovamente scambiati, questo per rendere il processo

reversibile (per permettere la decifratura)

Parametri da considerare nella cifratura di Feistel

- dimensione del blocco, una maggior dimensione migliora la sicurezza ma rallenta le prestazioni

(DES: 64 bit, AES: 128 bit)

- dimensione della chiave, una chiave più lunga migliora la sicurezza ma rallenta le prestazioni (128 bit)

- numero di fasi di elaborazione, un maggior numero di fasi migliora la sicurezza ma rallenta le prestazioni

(16)

- generazione della sottochiave, più complesso è l’algoritmo, più sarà difficile la crittoanalisi

- funzione round, più è complessa, più è difficile la crittoanalisi

Algoritmo di decifratura di Feistel

Le fasi sono le stesse di quello di cifratura, le uniche differenze sono l’input (che qui è il testo cifrato) e le

sottochiavi (che vengono usate nell’ordine inverso).

L’output della i-esima parte della decifratura è uguale allo scambio a 32 bit (se il blocco è di 64 bit)

dell’input della (n+1-i)-esima iterazione del processo di cifratura (n n° di fasi)

[parte con dimostrazione non molto Chiara, più Paola…]

Data Encryption Standard DES

Negli anni 60 IBM ha iniziato un progetto di crittografia simmetrica, diretto da Feistel ha portato allo

sviluppo di LUCIFER (blocchi 64bit, chiave 128bit). Dopo che nessuno superò il test richiesto da NBS (NIST),

il LUCIFER venne modificato e fu adottato come Data Encryption Standard nel 1977 dal NBS, divenendo lo

schema di cifratura a blocchi più utilizzato, esso opera con blocchi da 64bit, chiave da 56bit ed esegue 16

iterazioni.

Il DES una volta reso pubblico ricevette 2 critiche:

- la lunghezza troppo breve della chiave;

- il fatto di aver nascosto la metodologia di realizzazione di alcuni criteri progettuali (come erano state

realizzate le S-box)

Nel 1999 il NIST, dopo aver già approvato nel 94 il DES per utilizzo federale, ha richiesto l’adozione del TDES

(Triple DES), e anche se nel 2002 il DES venne rimpiazzato da AES, il NIST nel 2005 approvò l’utilizzo del

TDES fino al 2030.

Fasi del DES

1. Il blocco iniziale viene diviso in due metà che vengono permutate

2. Seguono 16 iterazioni, in ogni fase viene attuato il cifrario di Feistel (con sottochiavi da 48 bit)

Dettagli
Publisher
A.A. 2013-2014
3 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher koganzjo di informazioni apprese con la frequenza delle lezioni di Fondamenti di sicurezza e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Carminati Barbara.