Modo de encadenamiento de bloques de cifrado
El modo de encadenamiento de bloques de cifrado ( modo CBC ) es un modo de funcionamiento en el que se pueden utilizar cifrados de bloques . Antes de cifrar un bloque de texto sin formato , primero se vincula al bloque de texto cifrado generado en el paso anterior mediante XOR (exclusivo o). El modo fue publicado en 1976 por William F. Ehrsam, Carl HW Meyer, John L. Smith y Walter L. Tuchman.
General
La estructura del cifrado en modo CBC se muestra en la siguiente figura:
Este diagrama también se puede expresar matemáticamente en fórmulas, denotar la función de cifrado con la clave , ser la función de descifrado asociada. Designe el i-ésimo bloque de texto plano, el i-ésimo bloque de texto cifrado y sea el vector de inicialización; generalmente está definido. Además, denote el XOR lógico. Luego, el cifrado en modo CBC se define de forma recursiva de la siguiente manera :
La estructura del descifrado en modo CBC se muestra en la siguiente figura:
El descifrado asociado, por otro lado, no es recursivo en el modo CBC y tiene las mismas designaciones que el anterior:
Se utiliza una marca de tiempo o una secuencia aleatoria de números como vector de inicialización (IV) . Algunas aplicaciones también utilizan un número ascendente simple y predecible, pero esto no es seguro, porque las personas ajenas a un ataque de marca de agua no deseado (el ataque de marca de agua puede ejecutar) a dichos datos. El módulo dm-crypt utiliza el proceso ESS para generar el IV .
Para la seguridad del algoritmo, no es necesario transmitir el vector de inicialización en secreto.
El modo CBC tiene algunas ventajas importantes:
- Las muestras de texto sin formato se destruyen.
- Los bloques de texto sin formato idénticos dan como resultado diferentes textos cifrados.
- Varios ataques (compensación de memoria de tiempo y ataques de texto sin formato) se hacen más difíciles.
Dado que un bloque de texto cifrado solo depende del bloque anterior, un bloque de texto cifrado dañado, como un error de bit durante la transmisión de datos, no causa demasiado daño durante el descifrado, porque solo el bloque de texto sin formato en cuestión y el siguiente bloque de texto sin formato se descifran incorrectamente. Esto se puede ver directamente de la definición de la desencriptación y la figura anterior, desde un texto cifrado dañado bloque solamente afecta a los bloques de texto claro y y no se extiende más allá. Sin embargo, esta multiplicación limitada de un solo error de bit en el cifrado con CBC puede dificultar o imposibilitar la corrección de errores hacia adelante del texto sin formato. Del mismo modo, un vector de inicialización dañado no causa demasiado daño durante el descifrado, ya que solo daña el bloque de texto sin formato .
El modo CBC es mucho más seguro que el modo ECB , especialmente si no tiene ningún texto aleatorio. Nuestro idioma y otros archivos, como. B. Los archivos de video no son de ninguna manera aleatorios, razón por la cual el modo ECB es peligroso.
ejemplo
- Texto sin formato
- 01 10
- Dividido en bloques
- 01 = , 10 =
- clave
- 11 = k
- Vector inicial (IV)
- 01
Por simplicidad, como función de cifrado , la suma binaria y como función de descifrado utiliza la resta binaria.
Cifrado
Bloque 1:
Bloque 2:
Texto encriptado:
Si observa el cifrado de , puede ver que es necesario. En general, esto significa que el bloque de cifrado es necesario para el cifrado . Por tanto, no es posible una paralelización del proceso de cifrado.
Descifrado
Bloque 1:
Bloque 2:
Texto sin formato:
Si observa el descifrado de , puede ver que no es necesario para esto, solo . En general, esto significa que solo es necesario para el descifrado . Esto permite que el proceso de descifrado se lleve a cabo en paralelo.
Garantía de integridad con CBC, CBC-MAC
CBC también se puede utilizar para garantizar la integridad estableciendo el vector de inicialización en cero y agregando el último bloque cifrado con CBC como MAC (el denominado valor residual CBC-MAC o CBC) al mensaje original sin cifrar y enviándolo junto con este MAC. Con la ayuda del algoritmo CBC, el destinatario puede calcular el CBC-MAC del mensaje recibido y ahora comparar si el valor que se acaba de calcular coincide con el adjunto al mensaje. Si un mensaje cifrado con CBC debe protegerse con un CBC-MAC, no se debe utilizar la misma clave para la generación del CBC-MAC que para el cifrado. Si se usara la misma clave, el bloque MAC sería el mismo que el último bloque de cifrado y un atacante podría cambiar todo el mensaje sin ser detectado con la excepción del último bloque.
CBC-MAC solo es seguro para mensajes de longitud fija. Si la longitud del mensaje varía , el método puede verse afectado por la extensión de la longitud . Un atacante puede generar una MAC válida para un mensaje nuevo (la concatenación de los dos mensajes) a partir de dos pares de MAC de mensajes válidos. Dos modificaciones pueden prevenir este ataque: cada mensaje puede ir precedido por la longitud del mensaje o el bloque MAC se cifra adicionalmente con una segunda clave.
literatura
- Reinhard Wobst: Criptología de aventuras. Métodos, riesgos y beneficios del cifrado de datos. 2ª edición revisada. Addison-Wesley Longman, Bonn y col. 1998, ISBN 3-8273-1413-5 .
Evidencia individual
- ↑ William F. Ehrsam, Carl HW Meyer, John L. Smith, Walter L. Tuchman, "Verificación de mensajes y detección de errores de transmisión por encadenamiento de bloques", Patente estadounidense 4074066, 1976
- ↑ Mihir Bellare , Joe Kiliany, Phillip Rogaway: La seguridad del código de autenticación de mensajes de cadena de bloques de cifrado . En: Revista de Ciencias de la Computación y Sistemas . cinta 61 , no. 3 , 2000, págs. 362–399 ( versión digitalizada ( PDF; 466 kB) ( recuerdo del 5 de febrero de 2012 en Internet Archive )). La seguridad del bloque de código de autenticación de mensajes de encadenamiento de cifrado ( Memento de la original, de fecha 5 de febrero de 2012 en el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso.