Cifratura a blocchi e cifratura a flusso
Esistono due tipi di algoritmi di cifratura
- Cifratura a blocchi (Block cipher)
Il messaggio in chiaro è suddiviso in blocchi di lunghezza fissa (es. 64 bit o 128 bit). Ogni blocco è una stringa. Il sistema crittografa e decrittografa un blocco alla volta. - Cifratura a flusso (Stream chiper)
Il sistema crea un flusso di chiavi ossia una stringa di lunghezza uguale al messaggio in chiaro da cifrare. La lunghezza delle due stringhe è variabile, dipende dalla lunghezza del messaggio. L'operazione di crittografia genera il messaggio cifrato a partire dalle due stringhe tramite l'operazione logica di OR esclusivo. Allo stesso modo effettua la decrittazione del messaggio cifrato estraendo il testo in chiaro e il flusso di chiavi.
I sistemi a chiave pubblica sono crittosistemi basati su cifrari a blocchi mentre i sistemi a chiave segrete possono essere sia a blocchi e sia a flusso di chiavi.