¿cuánto tiempo lleva la fuerza bruta los diferentes estándares de encriptación?

2

Digamos que quiero cifrar la información en una base de datos. ¿Cuál sería el mejor algoritmo de cifrado para usar y por qué? Estaba pensando en AES, ya que se usa ampliamente como un estándar del gobierno, pero si la base de datos se divide, no estoy seguro de cuánto tiempo tomará la fuerza bruta para acceder a la información original.

¿Cuál sería la mejor manera de almacenar dichos datos? No puedo usar el hash, el requisito es que esté cifrado.

    
pregunta Jeremiah Twidwell 02.07.2012 - 04:49
fuente

3 respuestas

5

El ataque de fuerza bruta es el más estúpido de los ataques. Es el equivalente a que un mono golpee repetidamente un coco con una piedra hasta que se rompa (el coco, no la piedra). Si reemplazas el coco con una caja fuerte de acero, el mono será derrotado. "En última instancia", el mono podría golpear el acero, si tan solo pudiera golpearlo durante (mucho) más tiempo de su vida. Pero no puede: estará muerto mucho antes de haber abollado sustancialmente el acero.

Lo que debería preocuparte no es la fuerza bruta. Un atacante de fuerza bruta prueba todas las claves posibles hasta que tiene suerte. Basta con tener suficientes claves posibles para hacer que tal ataque sea inviable; "muchas claves posibles" se traducen a "claves suficientemente largas": para el cifrado simétrico, una clave es solo una secuencia de bits de un tamaño determinado, y cualquier secuencia de exactamente tantos bits es una clave válida; por lo tanto, una clave de 128 bits es más que lo suficientemente grande como para lograr una resistencia adecuada contra la fuerza bruta (con una margen justo ). Si utiliza AES , el tamaño de clave mínimo es de 128 bits (el algoritmo no puede hacer menos), así que no se preocupe. .

Los problemas están más bien en cómo utiliza el algoritmo de cifrado. Esto es una cuestión de sutileza y es muy fácil de botarlo, dejando la puerta abierta para los atacantes que son más inteligentes que el mono promedio. Como mínimo, debe definir claramente contra qué intenta defenderse, quién necesitará cifrar los datos, quién necesitará descifrar los datos y cómo se administrarán las claves (generación, almacenamiento, acceso, destrucción).

Por supuesto, si solo necesita cifrado para fines regulatorios, simplemente rocíe un poco de AES sobre él. No sería la primera vez que se aplica el cifrado sin que esto tenga sentido real. Su mejor apuesta, en ese caso, sería Cifrado de datos transparente implementado en Oracle y SQL Server. TDE tiene un buen rendimiento (no lo notará) y no altera el formato de la tabla, por lo que las aplicaciones pueden usarlo de manera transparente (de ahí el nombre). TDE protege contra las violaciones de confidencialidad de los atacantes que obtienen un acceso de lectura a la parte relevante del disco duro (por ejemplo, los atacantes que roban una cinta de copia de seguridad antigua). Eso es algo.

TDE, o cualquier cantidad de cifrado, no disipará mágicamente todas las vulnerabilidades, por supuesto. La criptografía es una ciencia, no la magia.

    
respondido por el Thomas Pornin 04.10.2012 - 04:40
fuente
1

El tiempo que toma varía ampliamente. Pero puede aumentar el tiempo que lleva cifrar y descifrar si elige realizar varias rondas de cifrado con la misma clave y el mismo algoritmo de cifrado, incluso podría elegir varias rondas con diferentes algoritmos.

Un ejemplo de esto último es Truecrypt, que te permite hacer múltiples algoritmos diferentes apilados juntos.

Información AES de enlace

  

Todos los ataques conocidos son computacionalmente inviables. Para AES-128, la clave se puede recuperar con una complejidad computacional de 2126.1 utilizando bicliques. Para los ataques biclique en AES-192 y AES-256, se aplican las complejidades computacionales de 2189.7 y 2254.4 respectivamente. Los ataques de teclas relacionadas pueden romper AES-192 y AES-256 con las complejidades 2176 y 299.5, respectivamente.

Información sobre DES de enlace

  

El DES ahora se considera inseguro porque es posible un ataque de fuerza bruta (ver cracker EFF DES). A partir de 2008, el mejor ataque analítico es el criptoanálisis lineal, que requiere 243 plaintexts conocidos y tiene una complejidad de tiempo de 239–43 (Junod, 2001).

Información sobre Blowfish en enlace

Información de Blowfish de enlace

  

Cuatro rondas de Blowfish son susceptibles a un ataque diferencial de segundo orden (Rijmen, 1997); [1] para una clase de claves débiles, se pueden distinguir 14 rondas de Blowfish de una permutación pseudoaleatoria (Vaudenay, 1996). / p>

    
respondido por el Phillip Nordwall 02.07.2012 - 06:57
fuente
0

Tomando AES-128 como ejemplo, tiene una clave de 128 bits. El "estúpido" ataque de fuerza bruta requeriría que compruebes todas las claves de 128 bits posibles hasta que vuelvas al texto sin formato que tenga sentido. Hay 2 ^ 128 claves posibles y, por lo tanto, la complejidad de la fuerza bruta en AES-n, donde n representa que el tamaño de la clave es O (2 ^ n).

Ahora, obviamente, hay formas de restringir el problema dando un espacio de búsqueda reducido como se cita en las respuestas anteriores, pero esa no era la pregunta: P

Para darte una idea del tiempo, acabo de ejecutar un problema con O (n ^ 2) en mi macbook pro 2012 y me tomó 1 minuto resolverlo con n = 30. Esto implica:

n = 31 - > 2mins

n = 32 - > 4mins

...

n = 64 - > 33 milenios!

    
respondido por el patch92 14.08.2015 - 17:33
fuente

Lea otras preguntas en las etiquetas