Cifratura a blocchi

Cifratura a blocchi

Cifratura a flusso e a blocchi

La cifratura simmetrica si distingue in base all’applicazione dell’algoritmo sul testo in chiaro. Si parla di cifratura a flusso (stream cipher o state cipher) quando l’algoritmo di cifratura viene applicato ad un bit o ad un byte alla volta. Se l’algoritmo viene applicato a gruppi di bit o di byte organizzati in un blocco sempre della stessa dimensione, si parla di cifratura a blocchi (block cipher). La cifratura più utilizzata, nella crittografia moderna, è quella a blocchi.

Tipologie di cifratura a blocchi

Esistono vari tipi di cifratura a blocchi:

  1. ECB – Electronic CodeBook è la categoria che raccoglie la cifratura a blocchi più semplicema anche meno affidabile, ogni blocco viene cifrato sempre con la stessa chiave in successione. A questa categoria appartengono lo stragrande maggioranza degli algoritmi di cifratura utilizzati ad oggi;
    ECB - Electronic CodeBook
  2. CBC – Cipher Block Chaining i metodi di cifratura che appartengono a questa categoria collegano i blocchi cifrati ai precedenti nel seguente modo: il blocco cifrato corrente viene ottenuto dalla cifratura del blocco di testo in chiaro in XOR con il blocco cifrato precedentemente;
    CBC - Cipher Block Chaining
  3. CFB – Cipher FeedBack anche gli algoritmi appartenenti a questa categoria collegano i blocchi con i precedenti ma lo fanno nel seguente modo: il blocco cifrato corrente viene ottenuto dal XOR di parte del blocco in chiaro considerato con il blocco cifrato precedente (l’idea è quella di elaborare i dati non appena sono disponibili anziché aspettare che sia completata l’elaborazione di un intero blocco);
    CFB - Cipher FeedBack
  4. OFB – Output FeedBack a questa categoria appartengono le codifiche a blocchi più veloci: i blocchi sono sempre collegati con i precedenti, ma il collegamento avviene tra l’output del passo precedente ed il blocco considerato. Viene utilizzato nelle comunicazioni ad alta velocità (come quelle dei satelliti).
    OFB - Output FeedBack

Cifratura iterata dei blocchi

Molti algoritmi sono basati su semplici funzioni che vengono combinate e iterate più volte come il cifrario del prodotto. Ogni iterazione viene chiamata round e normalmente gli algoritmi utilizzano più di 4 round ma meno di 64 per singolo blocco da cifrare. Molti algoritmi sono basati sulla rete di Feistel o più in generale sulla rete a sostituzione e permutazione. Operazioni aritmetiche, operazioni logiche (specialmente l’operazione di XOR), S-box e varie tecniche di permutazione sono tra i componenti più comuni di queste reti.

Precedente Funzioni di Hash e Digest Successivo Rete a sostituzione e permutazione (Rete SP)

Lascia un commento

*