¿Qué es el modo de cifrado GCM?

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es el modo de cifrado GCM y cómo se utiliza actualmente en el campo de la criptografía? Los modos de operación de cifrado por bloques marcaron un hito en la historia de la criptología, pues permitieron la transmisión de información confidencial y segura en forma de varios bloques de datos. Sin embargo, con el tiempo la tecnología se ha ido desarrollando y existen algunos sistemas para encriptar que son más seguros que otros.

El sistema criptográfico del cual hablaremos en este post es uno de los más seguros y que más se utiliza actualmente para la transmisión de información confidencial en bloques. A continuación, te explicaremos qué es el modo de cifrado GCM.

¿Qué es el modo de cifrado GCM?

El modo de cifrado GCM (Galois/Counter Mode) es un método de operación de cifrado por bloques que funciona igual que el modo CRT, pero con un código de autenticación de mensajes incluido. De esta manera, se logra que el modo de cifrado CRT sea resistente a ataques de «copiar y pegar» y cambios de bits.

El proceso criptográfico que sigue el modo de cifrado GCM es:

  1. Se genera un vector de inicialización a partir de un código nonce y un contador. Un código nonce es una cadena de datos aleatoria que tiene la mitad del tamaño de un bloque. La otra mitad del bloque la ocupa un contador que aumenta progresivamente por cada bloque de datos.
  2. El vector de inicialización se encripta con la clave y se genera el primer bloque de texto cifrado.
  3. Se realiza una operación XOR entre el bloque de texto cifrado (el resultado del paso anterior) y el bloque de texto plano.
  4. Estos pasos se repiten para cada uno de los bloques que compongan el mensaje.
  5. Paralelamente a este proceso, el modo de cifrado hace cálculos con todos los bloques de texto cifrado que se generen y da como resultado un authentication tag, que funciona como código de autenticación de la información y es lo que hace que este método sea el más seguro.

Hasta el punto 4, no existe ninguna diferencia entre los modos de cifrado GCM y CTR. Pero, en el punto 5, donde se genera el código de autenticación de mensajes, se encuentra la razón de por qué el método GCM es seguro y el método CTR no lo es. El authentication tag es una variable que impide modificar la información del mensaje por medio de ataques de cambio de bits o bit-flipping, que hacen que el modo de cifrado CTR se quede obsoleto (a menos que cuente con un sistema de autenticación como un HMAC).

HMAC

En teoría, el authentication tag que hace que el modo de cifrado GCM sea seguro es lo mismo que un código de autenticación de mensajes (MAC). La forma más segura de generar un MAC es usar el sistema HMAC (código de autenticación de mensajes basado en hash). Es perfectamente válido, por ejemplo, utilizar el modo de cifrado CTR y acompañarlo con HMAC. No obstante, el GCM se ha preferido como estándar por el hecho de que ya tiene un sistema similar y eficiente incorporado.

¿Cómo aprender más?

Ya sabes qué es el modo de cifrado GCM, cómo funciona y en qué se diferencia del modo de operación CTR. Si quieres aprender más y convertirte en un experto en el campo de la ciberseguridad, aquí tenemos la mejor opción para ti. Entra a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en solo 7 meses. ¡Inscríbete ya!

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado