CipherMode Enumeración

Definición

Especifica el modo de cifrado de bloques que se utilizará para el cifrado.

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
Herencia
CipherMode
Atributos

Campos

CBC 1

El modo Cipher Block Chaining (CBC) incluye información de cifrados anteriores. Antes de cifrarse cada bloque de texto sin formato, cada uno de ellos se combina con el texto de cifrado del bloque anterior mediante una operación OR exclusiva bit a bit. Esto garantiza que, aunque el texto sin formato contenga muchos bloques idénticos, cada uno de ellos se cifrará en un bloque de texto de cifrado distinto. El vector de inicialización se combina con el primer bloque de texto sin formato mediante una operación OR exclusiva bit a bit antes de cifrar el bloque. Si se trastoca un único bit del bloque de texto de cifrado, se trastoca también el bloque de texto sin formato correspondiente. Asimismo, se trastocará el bit del bloque siguiente que se encuentra en la misma posición que el bit trastocado original.

CFB 4

El modo Cipher Feedback (CFB) procesa pequeños incrementos del texto sin formato como texto de cifrado, en lugar de procesar un bloque completo cada vez. Este modo utiliza un registro de desplazamiento con una longitud de un bloque y dividido en secciones. Por ejemplo, si el tamaño del bloque es de 8 bytes y se procesa un byte cada vez, el registro de desplazamiento se divide en ocho secciones. Si se trastoca un bit del texto de cifrado, se trastoca un bit del texto sin formato y el registro de desplazamiento queda dañado. Esto da lugar a que los siguientes incrementos del texto sin formato se trastoquen hasta que el bit erróneo se elimine del registro de desplazamiento. El tamaño del comentario predeterminado puede variar en función del algoritmo, pero suele ser de 8 bits o el número de bits del tamaño de bloque. Puede modificar el número de bits del comentario mediante la propiedad FeedbackSize. Los algoritmos que admiten CFB usan esta propiedad para establecer los comentarios.

CTS 5

El modo Cipher Text Stealing (CTS) controla el texto sin formato de cualquier tamaño y produce texto de cifrado cuya longitud coincide con la del texto sin formato. Este modo se comporta igual que el modo CBC para todos los bloques excepto para los dos últimos del texto sin formato.

ECB 2

El modo Electronic Codebook (ECB) cifra cada bloque por separado. Los bloques de texto sin formato que sean idénticos y estén en el mismo mensaje, o en uno diferente cifrado con la misma clave, se convertirán en bloques de texto de cifrado idénticos. Importante: Este modo no se recomienda porque abre la puerta para varias vulnerabilidades de seguridad. Si el texto sin formato que se va a cifrar contiene muchas repeticiones, es posible que el texto de cifrado se divida en un bloque cada vez. También es posible usar el análisis de bloques para determinar la clave de cifrado. Un adversario activo también puede sustituir e intercambiar bloques individuales sin ser detectado, lo que permite guardar los bloques e insertarlos en la secuencia en otros puntos sin que se advierta.

OFB 3

El modo Output Feedback (OFB) procesa pequeños incrementos del texto sin formato como texto de cifrado, en lugar de procesar un bloque completo cada vez. Este modo es similar a CFB; la única diferencia entre los dos modos es la forma en que se rellena el registro de desplazamiento. Si se trastoca un bit del texto de cifrado, se trastoca también el bit del texto sin formato correspondiente. Sin embargo, si hay bits adicionales o falta alguno en el texto de cifrado, el texto sin formato sólo se trastoca a partir de ese punto.

Comentarios

Los algoritmos de cifrado de bloques cifran los datos en unidades de bloque, en lugar de un solo byte a la vez. El tamaño de bloque más común es de 8 bytes. Dado que cada bloque se procesa en gran medida, los cifrados de bloques proporcionan un nivel de seguridad mayor que los cifrados de flujo. Sin embargo, los algoritmos de cifrado de bloques tienden a ejecutarse más lentamente que los cifrados de flujo.

Los cifrados de bloques usan el mismo algoritmo de cifrado para cada bloque. Por este motivo, un bloque de texto sin formato siempre devolverá el mismo texto cifrado cuando se cifre con la misma clave y algoritmo. Dado que este comportamiento se puede usar para descifrar un cifrado, se introducen modos de cifrado que modifican el proceso de cifrado en función de los comentarios de los cifrados de bloques anteriores. El cifrado resultante proporciona un mayor nivel de seguridad que un cifrado de bloque simple.

Se aplica a

Consulte también