¿Es este número primo lo suficientemente grande / grande para un Diffie-Hellman para AES-256?

8

Estoy usando un intercambio de claves Diffie-Hellman para cifrar datos usando AES-256. El número principal que estoy usando es el del grupo 8192bit especificado en RFC 3526 (página 6).

La página 7 sugiere que, con un exponente de 620 bits, esa es una fuerza de clave equivalente de 310 bits, por lo tanto, lo suficientemente grande para AES-256. También sugiere que el primer de 6144 bits con un exponente de 540 bits sería lo suficientemente bueno (270 bits).

Ahora, ambos son bastante lentos. El más grande hace que el intercambio se demore unos dos segundos en mi escenario.

Mi pregunta por lo tanto:

¿Estoy siendo ridículo? ¿Debería usar una prima más pequeña, tal vez incluso AES-128 con la prima de 2048 bits y un exponente de 320 bits? ¿Acaso malentendí algo por completo?

Para el contexto: la velocidad no es tan importante. Necesito que este cifrado sea muy sólido durante los próximos 10 años (como máximo). Si eso toma dos segundos para hacerlo, que así sea.

    
pregunta Stefano Palazzo 13.07.2011 - 09:57
fuente

3 respuestas

10

AES-256 y un módulo DH de 8192 bits son excesivos. Compararlos entre sí es un ejercicio delicado que no tiene sentido, ya que ambos están bastante lejos en el ámbito de "no se puede romper ahora, tampoco se puede hacer en 30 años". Puede consultar este sitio para obtener información y calculadoras sobre diversas formas de estimar la fuerza relativa de los algoritmos simétricos y asimétricos.

Los parámetros prácticos que se pueden recomendar ahora para una seguridad adecuada son AES-128 y un módulo principal DH de 2048 bits (con exponentes de 256 bits).

    
respondido por el Thomas Pornin 13.07.2011 - 13:23
fuente
3

Sí. Su enfoque es muy exagerado. AES-128 y un grupo Diffie-Hellman de 2048 bits (con un exponente de 256 bits) es más que suficiente. Incluso con esos parámetros, es excepcionalmente improbable que el cifrado matemático sea el enlace más débil de su sistema. Es mucho más probable que su sistema se rompa al pasar por alto el criptografía, que rompiendo la criptografía de frente.

    
respondido por el D.W. 15.07.2011 - 08:18
fuente
3

Sí. Eres ridículo al elegir AES-256 y 8192 bit DH.

Hay varias cosas que deberías considerar.

  1. ¿Está protegiendo los datos empresariales? Si es así, entonces puede estar satisfecho con AES-128 y 2048 bit DH. La razón es simple. AES-256 tiene políticas de control de exportación y si desea empaquetar su aplicación, entonces debe usar un jar especial (si está utilizando JAVA), etc. Pero puede usar AES-256. No hay problema. Además, es lento si está utilizando algo por encima de 2048 bit DH. También debe cuidar el sistema en el que se descifran los datos. No debería tomar mucho tiempo. Muchas compañías de Fortune-1000 siguen usando 3DES y usted está usando AES, que es un algoritmo mucho mejor. Así que estás seguro con AES-128 y 2048 DH

  2. ¿Está protegiendo los datos privados a un pequeño grupo cerrado? Entonces, solo necesitas AES-128 y 2048 bit DH. No se necesita nada más que eso, ya que el período de tiempo que está viendo es de solo 10 años.

Si realmente desea más seguridad y desea probarlo en el futuro, DH es el camino equivocado hacia adelante. La criptografía de clave elíptica es la más adecuada para esto. No hay muchos recursos en esta dirección. Pero, definitivamente vale la pena.

Línea inferior: el tamaño no lo es todo en criptografía. La elección correcta de los algoritmos y la implementación es lo que realmente cuenta. Adelante con AES-128 y 2048 bit DH. Es seguro.

ACTUALIZACIÓN:

@stefano - Hola, hay varias cosas que deben tenerse en cuenta, ya que dijo el espionaje gubernamental en los periodistas. Los gobiernos nunca nos dicen su verdadera capacidad. Por lo tanto, es posible que ya tengan infraestructura para crackear AES-256. La NSA no aprobará algo que vaya por encima de su cabeza. Además, AES no es el nivel más alto de seguridad disponible. Forma el nivel 2 en la pila de algoritmos NSA si mi memoria es correcta. Pero, tenemos opciones limitadas. Así que podemos ir con AES-256 para proporcionar una mejor seguridad.

Para proporcionar una mejor seguridad a largo plazo, debe considerar la criptografía de clave elíptica. Es el único sistema que está disponible en público que puede probar el futuro de una manera razonable. DH puede utilizarse cuando desea transferir datos entre 2 o más partes. Supongo que usted sabe lo básico de la criptografía de clave asimétrica y por qué necesita DH. Si está almacenando datos en su sistema y no los está transfiriendo, no hay necesidad de DH o RSA o Criptografía de clave elíptica.

Además, puede usar una contraseña muy fuerte que influirá directamente en la clave seleccionada en AES a través de salating y SHA-512. Esto le brindará la capacidad de cambiar el texto cifrado de vez en cuando para que una clave débil que Aparece en alguna revista que no molestará a tus datos encriptados. El exponente de 256 bits está bien. Pero, para su escenario actual, un exponente un poco más alto puede hacer un mejor trabajo.

    
respondido por el Andrew Anderson 13.07.2011 - 16:29
fuente

Lea otras preguntas en las etiquetas