Electronic code book

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.

FIG 1 - schema di scomposizione di un dato in più blocchi di dimensione fissa.

Cifrazione e decifrazione dei blocchi modifica

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

 
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

 
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

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.

Altri progetti modifica