Cifrari
Sostituzione di blocchi di bit
...

I cifrari di sostituzione classici (monoalfabetici e polialfabetici) consistono nella sostituzione di una lettera con un altra secondo una qualche regola; nella crittografia contemporanea, che si appoggia in modo essenziale all'uso delle tecnologie informatiche, si preferisce la sostituzione per blocchi di bit.

Perchè questa scelta? In realtà in un computer i caratteri (lettere, cifre, segni di interpunzione ...) sono rappresentati appunto con blocchi di bit, secondo una qualche tabella; la tabella di gran lunga più diffusa è il codice ASCII-Unicode che rappresenta ogni carattere con una sequenza di 7 bit (codice ASCII originale) o di 8 bit (codice ASCII esteso) o di 16 bit (Unicode); così per esempio la lettera A maiuscoala è rappresentata dalla sequenza 01000001, che interpretata come numero binario equivale al numero decimale 65. La lettera B è 01000010 (66), la C è 01000011 (67) e così via.

Un testo alfanumerico è allora rappresentato in un computer con una sequenza di 0 e 1 (bit).

Per cifrare un testo si stabilisce allora una qualche regola per sostituire un blocco di bit (0 o 1) del testo chiaro con un diverso blocco ottenendo così il testo cifrato. Nella prima fase del DES il testo è suddiviso in blocchi di 64 bit, che è anche la lunghezza della chiave e ogni blocco è sostituito con un altro, che è una permutazione dei 64 bit, secondo una tabella predefinita.

Naturalmente una sostituzione per blocchi di bit ha lo stesso basso livello di sicurezza di un codice monoalfabetico; per raggiungere livelli di sicurezza elevati occorre comporre in successione sostituzioni e altre trasformazioni; il DES prevede sedici trasformazioni successive per la cifratura e altrettante per la decifratura.

Prova tu stesso una sostituzione di bit

La finestrella qui sotto permette di visualizzare la rappresentazione ASCII e a bit di un testo alfanumerico; per motivi di leggibilità è stato inserito un punto per separare i singoli blocchi.

Testo chiaro
Codici ASCII
Blocchi di bit
Testo cifrato
Blocchi di bit