Modo de operación de cifrado en bloque


En criptografía, un modo de operación de cifrado de bloque es un algoritmo que utiliza un cifrado de bloque para brindar seguridad a la información , como confidencialidad o autenticidad . [1] Un cifrado de bloque en 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 bloque único 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 garantizar que se produzcan distintos textos cifrados incluso cuando el mismo texto sin formato se cifra varias veces de forma independiente con la misma clave . [6] Los cifrados de bloques pueden operar en más de un tamaño de bloque , pero durante la transformación, el tamaño del bloque siempre es fijo. Los modos de cifrado de bloques funcionan en bloques completos y requieren que la última parte de los datos se rellene a un bloque completo si es más pequeño que el tamaño del bloque actual. [2]Sin embargo, hay modos que no requieren relleno porque utilizan efectivamente un cifrado de bloque como un cifrado de flujo .

Históricamente, los modos de cifrado se han estudiado ampliamente 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 operación modernos combinan confidencialidad y autenticidad de manera eficiente y se conocen como modos de cifrado autenticado . [7]

Los primeros modos de operación, ECB, CBC, OFB y CFB (ver a continuación 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 de EE. UU. (NIST) revisó su lista de modos de operación aprobados al incluir AES como un cifrado de bloque y agregar el modo CTR en SP800-38A , Recomendación para modos de operación de cifrado de bloque . Finalmente, en enero de 2010, NIST agregó XTS-AES en SP800-38E , Recomendación para modos de operación de cifrado de bloques: 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 de bloques 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 independiente , 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 fue aprobado en 2002 como FIPS 198 , el código de autenticación de mensajes hash con clave (HMAC) , CMAC fue lanzado 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 "autenticación". Ejemplos de modos AE son CCM ( SP800-38C ), GCM ( SP800-38D ), CWC , EAX , IAPM y OCB .


Cifrado usando el modo ECB
Los modos que no sean ECB dan como resultado pseudoaleatoriedad
La tercera imagen es cómo la imagen puede aparecer encriptada con CBC, CTR o cualquiera de los otros modos más seguros, indistinguible del ruido aleatorio. Tenga en cuenta que la aparición 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 una salida igual de "de aspecto aleatorio". [ cita requerida ]