CipherMode Enumerazione

Definizione

Specifica la modalità di crittografia di blocco da usare per la crittografia.Specifies the block cipher mode to use for encryption.

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

Campi

CBC 1

La modalità CBC (Cipher Block Chaining) introduce la retroazione.The Cipher Block Chaining (CBC) mode introduces feedback. 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.Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. 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.This ensures that even if the plain text contains many identical blocks, they will each encrypt to a different cipher text block. 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.The initialization vector is combined with the first plain text block by a bitwise exclusive OR operation before the block is encrypted. Se un solo bit del blocco di testo crittografato risulta danneggiato, sarà danneggiato anche il corrispondente blocco di testo normale.If a single bit of the cipher text block is mangled, the corresponding plain text block will also be mangled. Inoltre, verrà danneggiato un bit del blocco successivo che occupa la stessa posizione del bit originale danneggiato.In addition, a bit in the subsequent block, in the same position as the original mangled bit, will be mangled.

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.The Cipher Feedback (CFB) mode processes small increments of plain text into cipher text, instead of processing an entire block at a time. Questa modalità si avvale di un registro a scorrimento, della lunghezza di un blocco e suddiviso in sezioni.This mode uses a shift register that is one block in length and is divided into sections. 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.For example, if the block size is 8 bytes, with one byte processed at a time, the shift register is divided into eight sections. Se un bit del testo crittografato risulta danneggiato, saranno danneggiati anche un bit del testo normale e il registro a scorrimento.If a bit in the cipher text is mangled, one plain text bit is mangled and the shift register is corrupted. In questo modo, risulteranno danneggiati anche i successivi incrementi di testo normale finché il bit errato non verrà eliminato dal registro a scorrimento.This results in the next several plain text increments being mangled until the bad bit is shifted out of the shift register. 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.The default feedback size can vary by algorithm, but is typically either 8 bits or the number of bits of the block size. È possibile modificare il numero di bit del feedback tramite la proprietà FeedbackSize.You can alter the number of feedback bits by using the FeedbackSize property. Gli algoritmi che supportano CFB utilizzano questa proprietà per impostare il feedback.Algorithms that support CFB use this property to set the 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.The Cipher Text Stealing (CTS) mode handles any length of plain text and produces cipher text whose length matches the plain text length. Il funzionamento di questa modalità è analogo a quello della modalità CBC, fatta eccezione per gli ultimi due blocchi di testo normale.This mode behaves like the CBC mode for all but the last two blocks of the plain text.

ECB 2

La modalità ECB (Electronic Codebook) consente di crittografare ciascun blocco singolarmente.The Electronic Codebook (ECB) mode encrypts each block individually. 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.Any blocks of plain text that are identical and in the same message, or that are in a different message encrypted with the same key, will be transformed into identical cipher text blocks. Importante: questa modalità non è consigliabile perché può causare più violazioni della sicurezza.Important: This mode is not recommended because it opens the door for multiple security exploits. Se il testo normale da crittografare contiene molte ripetizioni, è verosimile che il testo crittografato venga suddiviso in un blocco per volta.If the plain text to be encrypted contains substantial repetition, it is feasible for the cipher text to be broken one block at a time. È anche possibile utilizzare l'analisi dei blocchi per determinare la chiave di crittografia.It is also possible to use block analysis to determine the encryption key. 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.Also, an active adversary can substitute and exchange individual blocks without detection, which allows blocks to be saved and inserted into the stream at other points without detection.

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.The Output Feedback (OFB) mode processes small increments of plain text into cipher text instead of processing an entire block at a time. Questa modalità è analoga alla modalità CFB; l'unica differenza consiste nel modo in cui viene creato il registro a scorrimento.This mode is similar to CFB; the only difference between the two modes is the way that the shift register is filled. Se un bit del testo crittografato risulta danneggiato, sarà danneggiato anche il corrispondente bit del testo normale.If a bit in the cipher text is mangled, the corresponding bit of plain text will be mangled. Se tuttavia nel testo crittografato sono presenti bit aggiuntivi o mancano alcuni bit, il testo normale risulterà danneggiato dal quel punto in poi.However, if there are extra or missing bits from the cipher text, the plain text will be mangled from that point on.

Commenti

Gli algoritmi di crittografia a blocchi crittografano i dati in unità di blocco, anziché un singolo byte alla volta.Block cipher algorithms encrypt data in block units, rather than a single byte at a time. Le dimensioni del blocco più comuni sono pari a 8 byte.The most common block size is 8 bytes. Poiché ogni blocco viene elaborato in modo intensivo, le crittografie a blocchi forniscono un livello di sicurezza superiore rispetto alle crittografie di flusso.Because each block is heavily processed, block ciphers provide a higher level of security than stream ciphers. Tuttavia, gli algoritmi di crittografia a blocchi tendono a essere eseguiti più lentamente rispetto alle crittografie di flusso.However, block cipher algorithms tend to execute more slowly than stream ciphers.

Le crittografie a blocchi utilizzano lo stesso algoritmo di crittografia per ogni blocco.Block ciphers use the same encryption algorithm for each block. Per questo motivo, un blocco di testo normale restituirà sempre lo stesso testo crittografato quando viene crittografato con la stessa chiave e algoritmo.Because of this, a block of plain text will always return the same cipher text when encrypted with the same key and algorithm. Poiché questo comportamento può essere utilizzato per craccare una crittografia, vengono introdotte modalità di crittografia che modificano il processo di crittografia in base ai commenti e suggerimenti delle precedenti crittografie a blocchi.Because this behavior can be used to crack a cipher, cipher modes are introduced that modify the encryption process based on feedback from earlier block encryptions. La crittografia risultante garantisce un livello di sicurezza più elevato rispetto a una semplice crittografia a blocchi.The resulting encryption provides a higher level of security than a simple block encryption.

Si applica a

Vedi anche