Electronic code book

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
FIG 1 - schema di scomposizione di un dato in più blocchi di dimensione fissa.

In crittografia l'Electronic Code Book (ECB) è una tecnica utilizzata per l'applicazione di algoritmi di crittografia simmetrica che operano su blocchi di dati di lunghezza fissa B. Questo vuol dire che se si vuole cifrare un dato di dimensione maggiore di B occorre suddividerlo in blocchi di dimensione B ed eventualmente riempire l'ultimo blocco con tecniche di padding (se la dimensione del dato non è un multiplo esatto di B). Esempi di algoritmi di crittografia simmetrica che operano su dati di dimensione prefissata sono DES, 3DES, IDEA, RC2, RC5 e AES.

Cifrazione e decifrazione dei blocchi[modifica | modifica wikitesto]

Per semplicità supponiamo che la dimensione del dato non ancora cifrato T sia un multiplo della dimensione del blocco B (come in FIG 1). In questo modo il dato è perfettamente divisibile in blocchi.

Schema per la cifratura dell'i-esimo blocco[modifica | modifica wikitesto]

FIG 2 - Schema a blocchi dell'approccio di cifratura ECB

La figura seguente mostra il principio di funzionamento della cifratura con tecnica ECB.

Ognuno dei blocchi viene codificato separatamente usando un algoritmo di crittografia simmetrica a chiave condivisa fra trasmettitore e ricevitore. In formule:

Questo approccio è molto semplice e, dato che la crittografia di ogni blocco è indipendente da quella degli altri blocchi, può essere parallelizzato se l'hardware utilizzato lo consente.

Schema per la decifratura dell'i-esimo blocco[modifica | modifica wikitesto]

FIG 3 - Schema a blocchi dell'approccio di decifratura ECB

La figura seguente mostra il principio di funzionamento della decifratura con tecnica ECB.

La decifratura, come ci si aspetta, segue la stessa filosofia della cifratura, decifrando in modo indipendente ogni blocco. Per questo motivo anche la decifratura può essere parallelizzata.

È importante notare che un errore di trasmissione di uno dei blocchi non compromette la decifrazione degli altri blocchi.

Note sulla sicurezza[modifica | modifica wikitesto]

La semplicità di questa tecnica favorisce la velocità di cifratura e decifratura ma è vulnerabile all'attacco di known-plaintext, perché ogni blocco che contiene la stessa sequenza di dati, essendo codificato con la stessa chiave, produce lo stesso blocco cifrato.