Modo Galois/Contador


En criptografía , el modo Galois/Contador ( GCM ) es un modo de operación para cifrados de bloques criptográficos de clave simétrica que es ampliamente adoptado por su desempeño. Las tasas de rendimiento de GCM para canales de comunicación de alta velocidad y de última generación se pueden lograr con recursos de hardware económicos. [1] La operación es un algoritmo de cifrado autenticado diseñado para proporcionar autenticidad (integridad) y confidencialidad de los datos. GCM se define para cifrados de bloque con un tamaño de bloque de 128 bits. El código de autenticación de mensajes de Galois ( GMAC ) es una variante de solo autenticación del GCM que puede formar un código incrementalcódigo de autenticación de mensajes . Tanto GCM como GMAC pueden aceptar vectores de inicialización de longitud arbitraria.

Diferentes modos de operación de cifrado de bloques pueden tener características de rendimiento y eficiencia significativamente diferentes, incluso cuando se utilizan con el mismo cifrado de bloques. GCM puede aprovechar al máximo el procesamiento paralelo y la implementación de GCM puede hacer un uso eficiente de una canalización de instrucciones o una canalización de hardware. Por el contrario, el modo de operación de encadenamiento de bloques de cifrado (CBC) incurre en paradas de tubería que obstaculizan su eficiencia y rendimiento.

Al igual que en el modo de contador normal , los bloques se numeran secuencialmente, y luego este número de bloque se combina con un vector de inicialización (IV) y se cifra con un cifrado de bloque E , generalmente AES . El resultado de este cifrado luego se somete a XOR con el texto sin formato para producir el texto cifrado . Como todos los modos de contador, este es esencialmente un cifrado de flujo , por lo que es esencial que se use un IV diferente para cada flujo que se cifra.

Los bloques de texto cifrado se consideran coeficientes de un polinomio que luego se evalúa en un punto H dependiente de la clave , utilizando aritmética de campos finitos . Luego, el resultado se cifra, produciendo una etiqueta de autenticación que se puede usar para verificar la integridad de los datos. El texto cifrado contiene entonces el IV, el texto cifrado y la etiqueta de autenticación.

GCM combina el conocido modo contador de cifrado con el nuevo modo de autenticación Galois. La característica clave es la facilidad de cálculo paralelo de la multiplicación de campos de Galois utilizada para la autenticación. Esta función permite un mayor rendimiento que los algoritmos de cifrado, como CBC , que utilizan modos de encadenamiento. El campo GF(2 128 ) utilizado está definido por el polinomio

La etiqueta de autenticación se construye alimentando bloques de datos en la función GHASH y cifrando el resultado. Esta función GHASH está definida por