CipherMode Enumerazione

Definizione

Specifica la modalità di crittografia di blocco da usare per la crittografia.

public enum class CipherMode
public enum CipherMode
[System.Serializable]
public enum CipherMode
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CipherMode
type CipherMode = 
[<System.Serializable>]
type CipherMode = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CipherMode = 
Public Enum CipherMode
Ereditarietà
CipherMode
Attributi

Campi

CBC 1

La modalità CBC (Cipher Block Chaining) introduce la retroazione. Prima di essere crittografato, ogni blocco di testo normale viene combinato al testo crittografato del blocco precedente mediante un'operazione OR esclusiva bit per bit. In questo modo, viene garantito che anche se il testo normale è composto di numerosi blocchi identici, questi verranno crittografati in un blocco di testo crittografato diverso. Il vettore di inizializzazione viene combinato al primo blocco di testo normale mediante un'operazione OR esclusiva bit per bit prima che il blocco venga crittografato. Se un solo bit del blocco di testo crittografato risulta danneggiato, sarà danneggiato anche il corrispondente blocco di testo normale. Inoltre, verrà danneggiato un bit del blocco successivo che occupa la stessa posizione del bit originale danneggiato.

CFB 4

Anziché elaborare un intero blocco alla volta, con la modalità CFB (Cipher Feedback) il testo normale viene elaborato in testo crittografato a piccoli incrementi. Questa modalità si avvale di un registro a scorrimento, della lunghezza di un blocco e suddiviso in sezioni. Se, ad esempio, la lunghezza del blocco è di 8 byte e l'elaborazione è di un byte alla volta, il registro a scorrimento sarà suddiviso in otto sezioni. Se un bit del testo crittografato risulta danneggiato, saranno danneggiati anche un bit del testo normale e il registro a scorrimento. In questo modo, risulteranno danneggiati anche i successivi incrementi di testo normale finché il bit errato non verrà eliminato dal registro a scorrimento. La dimensione del feedback predefinita può variare in base all'algoritmo, ma in genere corrisponde a 8 bit o al numero di bit della dimensione del blocco. È possibile modificare il numero di bit del feedback tramite la proprietà FeedbackSize. Gli algoritmi che supportano CFB utilizzano questa proprietà per impostare il feedback.

CTS 5

La modalità CTS (Cipher Text Stealing) consente di gestire qualsiasi lunghezza di testo normale, producendo testo crittografato di lunghezza pari a quella del testo normale. Il funzionamento di questa modalità è analogo a quello della modalità CBC, fatta eccezione per gli ultimi due blocchi di testo normale.

ECB 2

La modalità ECB (Electronic Codebook) consente di crittografare ciascun blocco singolarmente. Tutti i blocchi di testo normale identici e che si trovano nello stesso messaggio, o in un messaggio diverso crittografato con la stessa chiave, verranno trasformati in blocchi di testo crittografato identici. Importante: questa modalità non è consigliabile perché può causare più violazioni della sicurezza. Se il testo normale da crittografare contiene molte ripetizioni, è verosimile che il testo crittografato venga suddiviso in un blocco per volta. È anche possibile utilizzare l'analisi dei blocchi per determinare la chiave di crittografia. Inoltre, un avversario attivo può sostituire e scambiare i singoli blocchi senza che venga rilevato, consentendo di salvare e inserire i blocchi nel flusso in altri punti senza essere individuati.

OFB 3

La modalità OFB (Output Feedback) consente di elaborare piccoli incrementi di testo normale in testo crittografato, anziché elaborare un intero blocco alla volta. Questa modalità è analoga alla modalità CFB; l'unica differenza consiste nel modo in cui viene creato il registro a scorrimento. Se un bit del testo crittografato risulta danneggiato, sarà danneggiato anche il corrispondente bit del testo normale. Se tuttavia nel testo crittografato sono presenti bit aggiuntivi o mancano alcuni bit, il testo normale risulterà danneggiato dal quel punto in poi.

Commenti

Gli algoritmi di crittografia a blocchi crittografano i dati in unità di blocco anziché un singolo byte alla volta. La dimensione del blocco più comune è di 8 byte. Poiché ogni blocco viene elaborato in modo elevato, le crittografie a blocchi offrono un livello di sicurezza superiore rispetto alle crittografie di flusso. Tuttavia, gli algoritmi di crittografia a blocchi tendono a essere eseguiti più lentamente rispetto alle crittografie di flusso.

Le crittografie a blocchi usano lo stesso algoritmo di crittografia per ogni blocco. Per questo motivo, un blocco di testo normale restituirà sempre lo stesso testo crittografato quando viene crittografato con la stessa chiave e algoritmo. Poiché questo comportamento può essere usato per violare una crittografia, vengono introdotte le modalità di crittografia che modificano il processo di crittografia in base al feedback delle crittografie dei blocchi precedenti. La crittografia risultante offre un livello di sicurezza superiore rispetto a una semplice crittografia a blocchi.

Si applica a

Vedi anche