¿Cuánto tiempo tomaría la fuerza bruta de un pdf protegido por AES-128 sabiendo que la clave tiene 20 letras y que el conjunto de caracteres es A-Z, 0-9?

7

La pregunta lo dice todo, sabiendo que un pdf está protegido mediante el cifrado de contraseña estándar de Adobe que viene con Acrobat Pro (que, por lo que sé, es AES 128) ¿cuánto costaría la fuerza bruta una clave que se sabe que es 20 caracteres de largo y que el conjunto de caracteres es AZ, 0-9? Supongamos que para el cálculo de una plataforma GPU moderna, o un grupo de GPU para, por ejemplo, Amazon AWS.

    
pregunta Blobber 18.06.2014 - 15:20
fuente

5 respuestas

17

A-Z y 0-9 significa 36 caracteres posibles. 20 caracteres de este tipo implican 36 20 posibles claves. Eso es aproximadamente igual a 2 103.4 .

El mayor esfuerzo de fuerza bruta actualmente conocido públicamente fue para una clave de 64 bits (para RC5, pero la diferencia entre RC5 y AES no es importante aquí); se describe aquí . Llevó casi cinco años y muchos colaboradores; la tasa máxima de craqueo fue equivalente a lo que podían hacer las 30000 computadoras principales de esa época. Por supuesto, esto fue hace una década, y las computadoras se han vuelto más rápidas, pero no hasta el punto de cerrar la brecha de 2 64 a 2 103.4 : estamos hablando de una problema que es 725 mil millones de veces más difícil .

GPU no sería una plataforma muy eficiente para romper AES; el sistema más rentable sería la CPU con opcodes AES-NI . Tenga en cuenta, sin embargo, que una clave AES es una secuencia de 128, 192 o 256 bits; No es una secuencia de caracteres. Por lo tanto, sus caracteres probablemente se transformen a través de algún tipo de hashing en una clave AES, y el cálculo de la función hash probablemente sea más costoso que la invocación AES en sí. Dependiendo de la función hash utilizada, la GPU puede volver a ser competitiva. En cualquier caso, estamos hablando, en el mejor de los casos, de unos pocos miles de millones de claves por segundo y por GPU. Un billón de dicha GPU produciría mucho calor ... y todavía necesitaría miles de millones de segundos para pasar (un billón de segundos es 30 años).

Entonces, la única respuesta realista a tu pregunta es: por siempre . Una clave del formato que usted describe (20 caracteres en un alfabeto de tamaño 36) no se eliminará mediante la fuerza bruta. Brute forzar una clave de este tipo no tendría sentido: incluso si fuera tecnológicamente factible (lo que supone más recursos de los que están disponibles para los gobiernos o corporaciones más grandes que existen actualmente), costaría mucho más de lo que sea que la clave esté protegiendo. Por ejemplo, si fuera el dueño de los millones de miles de millones de dólares involucrados en el proceso, simplemente compraría los Estados Unidos al por mayor (principales corporaciones, gobierno, ... incluyendo una compra de deuda nacional completa) (es decir, si me gustara) poseer realmente los EE. UU., lo cual es, cuando te pones a ello, una idea extraña).

(En todo lo anterior, estoy usando el "billón" estadounidense, es decir, mil millones, no un millón millones.)

    
respondido por el Tom Leek 18.06.2014 - 16:20
fuente
2

Bueno, tomemos una velocidad de procesador promedio, no muy sofisticada, que se agriete aproximadamente en 22,004k/s un documento PDF. Suponiendo que solo esté atacando a-z0-9A-Z sin espacios, caracteres especiales, etc.

Tomaría aproximadamente 1 septillion años. o 1.0306281275164522e + 24 años 33 días 7 horas 30 minutos y 54 segundos

La cantidad de combinaciones de contraseñas que posiblemente tendría que probar es (7.159713505559651e + 35 combinaciones de contraseñas)

Una vez más, asumo que NO usamos GPU, Amazons AWS, etc. Estamos usando un procesador promedio. Si utiliza GPU o AWS, esto aceleraría SIGNIFICATIVAMENTE su agrietamiento. Puedes jugar con los números en esto. sitio .

Espero que esto haya respondido a tu pregunta.

    
respondido por el eof0100 18.06.2014 - 15:54
fuente
0

En cuanto al tiempo que tomaría, si utilizamos una herramienta como crunch para generar la lista de palabras para usar para descifrar dicho archivo PDF, la salida sería esta:

[[email protected] ~]# crunch 20 20 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Crunch will now generate the following amount of data: 11388113619364347904 bytes
10860551471104 MB
10606007296 GB
10357429 TB
10114 PB
Crunch will now generate the following number of lines: 2299123893656354816

Con esto podemos ver cuántos datos tendrían que procesarse en un ataque de fuerza bruta. Es seguro decir que sin saber más acerca de la contraseña utilizada y sin hacer ningún modificador de generación específico para restringir las posibles contraseñas, nunca será crackeado en esta vida por pura fuerza bruta. Tal vez ni siquiera en las próximas 10-20 vidas.

Sin embargo, hay un enfoque aleatorio donde la primera contraseña podría ser la contraseña correcta. Por ejemplo, si usó Linux para el ataque, podría escribir una herramienta para atacar con contraseñas completas generadas aleatoriamente.

#!/bin/bash

PASS_GEN="$(tr -dc 'A-Z0-9' </dev/urandom | head -c 20)"

echo "$PASS_GEN

while [ "$something" != "$something_else" ]
do
      try_password
done

Por supuesto, solo el comando "tr" es el comando de funcionamiento real en este código bash, pero entiendes la idea. Es posible, aunque improbable, generar la contraseña correcta muy rápidamente.

    
respondido por el Yokai 17.07.2016 - 07:53
fuente
0

AES128 utiliza exactamente la longitud de la clave de 128 bits, 20 caracteres es una contraseña, no una clave, la clave se crea a partir de la contraseña, al igual que el vector de inicialización (un poco como una extensión de clave, para su uso en el modo CBC AES) Hay muchos métodos para generar la clave y la IV a partir de la contraseña, y los mejores también incorporan algo de sal, sin embargo, la generación de la clave no es parte de AES.

La respuesta es un tiempo promedio de 2 intentos 127 y un máximo de 2 intentos 128 .

Suponiendo que se utiliza el modo CBC (un modo muy popular y seguro), los intentos por segundo variarán enormemente con la longitud del documento, ya que debe descifrar todo el archivo y verificar si es una tontería, por separado para cada clave. Todas las secuencias de 128 bits son claves AES válidas y "descifrarán" el documento, sin embargo, todas menos una producirán datos descifrados incorrectos.

El bloque de cifrado es de 16 bytes. Supongamos que el PDF solo tiene 16 bytes, y la GPU se está descifrando a 32GiB / s [2 35 B / s]. (Vi un número similar en algún lugar para el rendimiento de gpu AES) Eso es 2 31 desencriptaciones por segundo (supongamos que la CPU también puede analizar la salida de galimatías tan rápido) Entonces, una media de 2 127 / 2 31 = 2 96 segundos, y un máximo de 2 97 segundos, que es Media de 2.5e21 años, 5e21 max. 21 ceros es un montón de ceros. Divida la carga entre un millón de dispositivos y es de 2.5e15 años o 25 millones de millones. Y luego tienes AES-256.

Una vez más, también puedes tener suerte y descubrir que es la primera clave que intentas. Las probabilidades de la lotería Powerball son una en 300 millones. Las probabilidades de pulsar la tecla correcta en los primeros 1.7e13 años son de 1 en 300 millones [con una sola máquina], con un millón de máquinas que el tiempo cae a 1.6e7 o 16 millones de años

    
respondido por el Max Power 19.06.2018 - 11:27
fuente
0

El único ataque que no lleva millones de años requiere mucho dinero.

  • Cree un cracker AES de 32 nm a medida
  • Construye 50 plantas de chips para hacer estos chips
  • Pasa un año haciendo papas
  • Construye un grupo gigante de sistemas
  • Ejecutar el clúster durante 1 año

Tenga en cuenta que el costo de R & D en el chip será de entre $ 50 y $ 250 millones, las plantas serán de $ 1-2 billones cada una y los costos operativos serán de miles de millones. También tenga en cuenta que estamos usando 32 nm porque una solución de < 20 nm multiplicaría los costos por 5 veces más fácil. Siendo realistas, obtener todas las partes y personas para 50 plantas supondría una gran presión para la fabricación de chips GLOBAL.

    
respondido por el Walter 17.07.2016 - 03:50
fuente

Lea otras preguntas en las etiquetas