Modo de operación de cifrado en bloque


En criptografía, un modo de operación de cifrado en bloque es un algoritmo que utiliza un cifrado en bloque para brindar seguridad a la información , como confidencialidad o autenticidad . [1] Un cifrado de bloque por sí solo es adecuado para la transformación criptográfica segura (cifrado o descifrado) de un grupo de bits de longitud fija llamado bloque . [2] Un modo de operación describe cómo aplicar repetidamente la operación de un solo bloque de un cifrado para transformar de forma segura cantidades de datos más grandes que un bloque. [3] [4] [5]

La mayoría de los modos requieren una secuencia binaria única, a menudo denominada vector de inicialización (IV), para cada operación de cifrado. El IV tiene que ser no repetitivo y, para algunos modos, también aleatorio. El vector de inicialización se utiliza para asegurar distintos textos cifrados se producen incluso cuando el mismo texto plano se encripta múltiples veces independientemente con la misma clave . [6] Los cifrados de bloque pueden funcionar en más de un tamaño de bloque , pero durante la transformación el tamaño de bloque siempre es fijo. Los modos de cifrado de bloques operan en bloques completos y requieren que la última parte de los datos se rellene en un bloque completo si es más pequeño que el tamaño del bloque actual. [2]Sin embargo, existen modos que no requieren relleno porque utilizan efectivamente un cifrado de bloque como cifrado de flujo .

Históricamente, los modos de cifrado se han estudiado extensamente con respecto a sus propiedades de propagación de errores en varios escenarios de modificación de datos. El desarrollo posterior consideró la protección de la integridad como un objetivo criptográfico completamente separado. Algunos modos de funcionamiento modernos combinan la confidencialidad y la autenticidad de forma eficaz y se conocen como modos de cifrado autenticado . [7]

Los primeros modos de operación, ECB, CBC, OFB y CFB (ver más abajo para todos), se remontan a 1981 y se especificaron en FIPS 81 , Modos de operación DES . En 2001, el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU . Revisó su lista de modos de operación aprobados al incluir AES como un cifrado en bloque y agregar el modo CTR en SP800-38A , Recomendación para modos de operación del cifrado en bloque . Finalmente, en enero de 2010, NIST agregó XTS-AES en SP800-38E , Recomendación para modos de operación de cifrado en bloque: el modo XTS-AES para la confidencialidad en dispositivos de almacenamiento. Existen otros modos de confidencialidad que no han sido aprobados por NIST. Por ejemplo, CTS es un modo de robo de texto cifrado y está disponible en muchas bibliotecas criptográficas populares.

Los modos de cifrado en bloque ECB, CBC, OFB, CFB, CTR y XTS brindan confidencialidad, pero no protegen contra modificaciones accidentales o manipulaciones maliciosas. La modificación o manipulación se puede detectar con un código de autenticación de mensaje separado , como CBC-MAC , o una firma digital . La comunidad criptográfica reconoció la necesidad de garantías de integridad dedicadas y NIST respondió con HMAC, CMAC y GMAC. HMAC se aprobó en 2002 como FIPS 198 , el código de autenticación de mensajes con clave hash (HMAC) , CMAC se lanzó en 2005 bajo SP800-38B ,Recomendación para modos de operación de cifrado en bloque: El modo CMAC para autenticación y GMAC se formalizó en 2007 bajo SP800-38D , Recomendación para modos de operación de cifrado en bloque: Modo Galois / Contador (GCM) y GMAC .

La comunidad criptográfica observó que componer (combinar) un modo de confidencialidad con un modo de autenticidad podría ser difícil y propenso a errores. Por lo tanto, comenzaron a ofrecer modos que combinaban la confidencialidad y la integridad de los datos en una sola primitiva criptográfica (un algoritmo de cifrado). Estos modos combinados se denominan cifrado autenticado , AE o "authenc". Ejemplos de modos AE son CCM ( SP800-38C ), GCM ( SP800-38D ), CWC , EAX , IAPM y OCB .


Cifrado usando el modo ECB
Los modos distintos al ECB dan como resultado una pseudoaleatoriedad
La tercera imagen es cómo la imagen podría aparecer cifrada con CBC, CTR o cualquiera de los otros modos más seguros, indistinguible del ruido aleatorio. Tenga en cuenta que la apariencia aleatoria de la tercera imagen no garantiza que la imagen se haya cifrado de forma segura; Se han desarrollado muchos tipos de encriptación insegura que producirían resultados con un "aspecto aleatorio". [ cita requerida ]