AES-GCM-SIV es un modo de funcionamiento del Estándar de cifrado avanzado que ofrece un rendimiento similar (pero ligeramente peor [1] ) al modo Galois/Counter , así como resistencia al uso indebido en caso de reutilización de un nonce criptográfico . La construcción se define en RFC 8452. [2]
AES-GCM-SIV está diseñado para preservar tanto la privacidad como la integridad incluso si se repiten nonces. Para lograr esto, el cifrado es una función de un nonce, el mensaje de texto simple y datos asociados adicionales (AAD) opcionales. En caso de que un nonce se use incorrectamente (es decir, se use más de una vez), no se revela nada excepto en el caso de que el mismo mensaje se cifre varias veces con el mismo nonce. Cuando eso sucede, un atacante puede observar cifrados repetidos, ya que el cifrado es una función determinista del nonce y el mensaje. Sin embargo, más allá de eso, no se revela ninguna información adicional al atacante. Por esta razón, AES-GCM-SIV es una opción ideal en casos en los que no se pueden garantizar nonces únicos, como múltiples servidores o dispositivos de red que cifran mensajes con la misma clave sin coordinación.
Al igual que el modo Galois/Counter, AES-GCM-SIV combina el conocido modo de cifrado de contador con el modo Galois de autenticación. La característica clave es el uso de un vector de inicialización sintético (SIV) que se calcula con la multiplicación de campos de Galois mediante una construcción llamada POLYVAL (una variante little-endian de GHASH del modo Galois/Counter). POLYVAL se ejecuta sobre la combinación de nonce, texto simple y datos adicionales, de modo que el IV es diferente para cada combinación.
POLYVAL se define sobre GF(2 128 ) por el polinomio:
Tenga en cuenta que GHASH se define sobre el polinomio "inverso":
Este cambio proporciona beneficios de eficiencia en arquitecturas little-endian. [3]
Las implementaciones de AES-GCM-SIV están disponibles, entre otros, en los siguientes idiomas: