¿Qué algoritmos criptográficos no se consideran seguros? [cerrado]

24

¿Qué algoritmos criptográficos no se consideran seguros, pero aún son ampliamente utilizados y están disponibles en las bibliotecas estándar? Si corresponde, mencione una alternativa segura.

    
pregunta Olivier Lalonde 12.11.2010 - 00:08
fuente

9 respuestas

20

Estos son los más comunes:

  • MD5 - Usar SHA512
  • SHA1 - Usa SHA512 (Ten en cuenta que esto no es realmente inseguro, pero muestra su edad, y se estropeará en los próximos dos años ...)
  • DES / 3DES - Use AES
respondido por el AviD 12.11.2010 - 00:12
fuente
15

A finales de 2010, el gobierno de EE. UU. desaprueba estos algoritmos basándose en las recomendaciones de los expertos en NIST:

  • SHA-1
  • RSA o DSA de 1024 bits
  • ECDSA de 160 bits (curvas elípticas)
  • 80/112-bit 2TDEA (DES triple de dos claves)

MD5 nunca fue un algoritmo aceptable para uso gubernamental, junto con muchos otros algoritmos más antiguos.

Para seguridad hasta el año 2030, recomiendan al menos SHA-224, 2048 bits para RSA o DSA, EDCSA de 224 bits y AES-128 o triple-DES de 3 teclas.

Esto ha estado en las obras durante varios años. Vea esta publicación y los documentos del NIST a los que hace referencia: enlace

Actualización: Otro consejo breve y útil es Respuestas de derechos criptográficos por Colin Percival.

    
respondido por el nealmcb 23.12.2010 - 00:50
fuente
12

Los algoritmos criptográficos inseguros pero ampliamente utilizados incluyen:

  • funciones hash: MD4, MD5, (SHA-1) (MD2 también es inseguro pero no se usa ampliamente; SHA-1 solo está "debilitado"; MD4 y MD5 también se usan ampliamente en situaciones donde la resistencia criptográfica es no es necesario, por lo que no es un problema)

  • cifrado simétrico: DES (clave de 56 bits), RC4 (sin aleatoriedad, pero la mayoría de los problemas de seguridad con RC4 están en la forma en que se usa, no debido al algoritmo en sí), el cifrado de flujo en el Formato de archivo Zip (las nuevas utilidades Zip usan AES)

  • cifrado asimétrico: RSA con una clave demasiado corta (es decir, 768 bits o menos), RSA con relleno incorrecto (por ejemplo, ISO 9796-1), Diffie-Hellman módulo un número primo demasiado pequeño (768 bits o menos) (Diffie-Hellman no es realmente un algoritmo de cifrado asimétrico, sino un algoritmo de acuerdo clave, pero la mayoría de los usos del cifrado asimétrico son acuerdos clave realmente disfrazados)

  • firmas digitales: RSA con una clave demasiado corta (es decir, 768 bits o menos)

  • muchos (demasiados) algoritmos hechos a mano por personas que se burlaron de sí mismos; Un ejemplo primordial es CSS, el cifrado para DVD

Alternativas seguras: SHA-256 para hash (SHA-512 si tiene el mismo fetiche en tamaño que US Army, y / o si desea eliminar el rendimiento en sistemas de 32 bits), AES para cifrado simétrico. Para un acuerdo clave, considere ECDH (Diffie-Hellman sobre una curva elíptica) con una de las curvas NIST estándar (por ejemplo, P-224, K-233 o B-233, pero P-256 es más ampliamente compatible). Para el cifrado asimétrico, utilice RSA con una clave suficientemente grande (1024 bits para seguridad a corto plazo, preferiblemente 1536 o 2048 bits) y PKCS # 1 relleno (v1.5" estilo antiguo "está bien, pero OAEP es más fino). Para firmas, considere ECDSA (las mismas curvas que para ECDH) o RSA con una clave lo suficientemente grande y relleno PKCS # 1 (v1.5 o PSS). Nunca diseña tu propio algoritmo (o, si lo haces, nunca cree que es seguro).

La mayoría de los problemas de seguridad, sin embargo, no están en la elección del algoritmo, sino en la forma en que se utilizan. WEP usa RC4, pero RC4 no es una de las numerosas debilidades de WEP. Sony protegió la PlayStation 3 con ECDSA, que es segura, pero dañó su generador de aleatoriedad, lo que resultó en una falla catastrófica (exposición de clave privada ...).

    
respondido por el Thomas Pornin 28.04.2011 - 22:30
fuente
6

El contexto es importante. Seguro para qué ? ¿Cómo se está utilizando algo?

Por ejemplo:

respondido por el yfeldblum 04.05.2011 - 01:00
fuente
5

Aunque esta pregunta ya está respondida, me faltan muchas respuestas.

  • RC2, RC4
  • MD4 (todavía está disponible en algunas bibliotecas)

Además, depende del uso y propósito del algoritmo. Romper el DES no es difícil, pero es bastante caro. ¿Considera quiénes son tus atacantes y cuánto dinero y cuánto pueden gastar para romper la seguridad?

    
respondido por el Henri 12.11.2010 - 13:26
fuente
4

Los enlaces a continuación pueden ayudarlo a elegir rápidamente el método y la longitud de clave adecuados para sus requisitos de seguridad (evitando así métodos inseguros):

"Este sitio web implementa fórmulas matemáticas y resume los informes de organizaciones reconocidas que le permiten evaluar rápidamente los requisitos mínimos de seguridad de su sistema. También puede comparar fácilmente todas estas técnicas y encontrar la longitud de clave adecuada para el nivel deseado de protección ".

    
respondido por el Tate Hansen 12.11.2010 - 01:06
fuente
2

Obviamente, hay tantos algoritmos rotos como programadores que escriben sistemas de encriptación locales, pero en general están limitados a un paquete de software dado. Varios esquemas de "protección de contraseña" para documentos y archivos vienen a la mente como ejemplos.

Pero el único algoritmo de cifrado de propósito general (no el algoritmo de hash como otros están enumerando) que se considera "roto" para el uso normal debido a fallas en el algoritmo (en lugar de la longitud de la clave), y que todavía es ampliamente implementado y aceptado , es RC4.

Tenga en cuenta que la razón principal por la que RC4 se mantiene a pesar de sus fallas conocidas es que la vulnerabilidad se puede mitigar eliminando las primeras K salidas. Además, es el único cifrado de flujo ampliamente implementado, y muchos programadores no se dan cuenta de que puede convertir un cifrado de bloque en un cifrado de flujo usando un modo de encadenamiento de bloques adecuado.

    
respondido por el tylerl 29.04.2011 - 10:23
fuente
1

RC4 es probablemente mejor evitarlo. Su uso indebido fue la causa de los problemas en WEP, lo que sugiere que puede ser difícil incluso para los expertos. Para usarlo correctamente significa elegir una clave lo suficientemente grande (al menos 128 bits), mezclar la clave y la IV de manera segura (por ejemplo, el hashing en lugar de la concatenación) y descartar la parte inicial del flujo de claves para mitigar los ataques de teclas débiles (256 octetos como mínimo).

    
respondido por el stiabhan 29.12.2014 - 01:16
fuente
0

Utilizando un cifrado de bloque como Blowfish o AES, cuando se opera en ECB (Electronic Code Book) modo.

    
respondido por el rox0r 02.05.2011 - 22:28
fuente

Lea otras preguntas en las etiquetas