openssl EVP_aes_256_gcm - ¿qué hay dentro?

0

He estado leyendo sobre cifrado y autenticación. Viajó por el camino desde la autenticación doméstica hasta el enfoque de cifrado y luego mac y finalmente se estableció en el modo GCM.

Tengo curiosidad por lo que residía dentro de aes_256_gcm. Lo que es obvio del nombre: AES algo y 256 bits de longitud de clave. IV len pude deducir de la llamada EVP_CIPHER_iv_length () = 12 (puedo cambiar eso con ctrl) Tamaño del bloque que podría averiguar de EVP_CIPHER_block_size () = 1

Pero ¿qué pasa con el "modo de operación", CBC, OFB, CFB, otros? ¿En qué modo funciona el GCM? ¿Puedo seleccionar el modo?

    
pregunta boo9 12.04.2013 - 13:16
fuente

2 respuestas

3

La página de Wikipedia tiene algunas explicaciones y un buen esquema; y el estándar de GCM es razonablemente claro. Para simplificar las cosas, el cifrado real se realiza en modo CTR, pero la parte MAC utiliza operaciones adicionales (multiplicaciones en un campo finito de la característica 2 y un cifrado de bloque adicional). Si cifra 16n bytes, utilizará n + 1 invocaciones de cifrado de bloque AES, n + 2 en GF (2 < sup> 128 ) , y algunos XOR. No es necesario entender cómo funciona GCM internamente para usar una implementación de GCM; pero ayuda.

En particular, el IV puede tener cualquier longitud posible, pero los valores IV más allá de los 96 bits no son realmente interesantes para la seguridad, por lo que OpenSSL se limitará a 12 bytes. El "tamaño de bloque" anunciado por OpenSSL es 1 porque, gracias al uso interno de CTR, el tamaño del mensaje cifrado no se "redondeará" debido a algún relleno (hay una sobrecarga de tamaño fijo, sin embargo, para el MAC). p>     

respondido por el Tom Leek 12.04.2013 - 13:50
fuente
2

Galois / Counter Mode es un modo de operación por derecho propio . A partir de ese documento, GCM toma una primitiva (por ejemplo, AES) y agrega las dos funciones galois:

  

Las dos funciones que comprenden GCM se denominan cifrado autenticado y autenticado   descifrado La función de encriptación autenticada encripta los datos confidenciales y calcula   una etiqueta de autenticación tanto en los datos confidenciales como en cualquier información adicional no confidencial. los   La función de descifrado autenticada descifra los datos confidenciales, dependiendo de la verificación de   la etiqueta.

Estas funciones se definen más adelante en el documento. En particular, la función GCTR parece muy similar al modo de contador estándar, en el que se basa y obtiene su nombre. A este modo, agrega cifrado y descifrado autenticados directamente.

Esto alivia la necesidad de realizar el cifrado y luego el Mac, ya que los datos que fallan en la autenticación no se pueden descifrar.

    
respondido por el user2213 12.04.2013 - 13:33
fuente

Lea otras preguntas en las etiquetas