¿Cuáles son las probabilidades de forzar brutalmente un archivo con cifrado de 256 bits?

5

Tengo un archivo (un archivo independiente). Perdí la contraseña, pero se ha cifrado utilizando un cifrado de 256 bits. La contraseña tiene una longitud de 20 caracteres impares (incluidos los caracteres no alfanuméricos).

¿Cuáles son las probabilidades de que pueda forzarlo bruscamente?

El archivo en cuestión se creó con WinAce y luce la extensión poco clara *.xef . Sin embargo, las respuestas generales también son bienvenidas.

    
pregunta Count Zero 03.12.2011 - 16:27
fuente

3 respuestas

11

Brute forcing significa "atacar el sistema con toda la sutileza de un gorila de ingenio lento". Aquí, significa probar todas las contraseñas posibles de "20 caracteres impares". Incluso si se limita a caracteres alfanuméricos (26 letras minúsculas, 26 mayúsculas y 10 dígitos), eso es 62 posibilidades 20 , es decir, cerca de 2 119 . Entonces depende de cuánto cuesta cada intento. Si el esquema de derivación de contraseña utilizado por su sistema es bueno, utilizará muchas invocaciones anidadas de alguna función unidireccional, lo que significa que cada intento necesitará, por ejemplo, mil millones de ciclos de reloj. Si el esquema de derivación de la contraseña es malo, necesitará menos, posiblemente hasta unas pocas docenas de ciclos (con el cifrado AES y el soporte de hardware ofrecido por los procesadores Intel recientes). Suponiendo que su procesador funciona a 3 GHz y tiene cuatro núcleos, puede intentar probar, digamos, hasta 2 contraseñas 30 por segundo (pero, en realidad, no lo hará). Por lo tanto, estarías listo en apenas diez mil millones de miles de millones de años.

Seamos realistas: incluso si tu nombre real es Barack Obama, 2 119 está muy por encima de tu liga.

Entonces, tu mejor oportunidad es hacer un ataque no brutal : uno en el que primero intentas establecer una lista de posibles contraseñas que podría haber elegido (posiblemente una lista grande que contiene miles o incluso millones de contraseñas, pero no 2 119 ).

    
respondido por el Thomas Pornin 03.12.2011 - 21:08
fuente
4

Cuando se trata de fuerza bruta, tres cosas son importantes:

  1. El tiempo requerido para probar una tecla.
  2. El tamaño del espacio clave.
  3. El orden en que se prueban las claves.

Las preguntas frecuentes de WinAce parecen sugerir que usen Blowfish de 160 bits . Blowfish tiene una configuración de teclas lenta, lo que significa que todo lo que sea encriptado con Blowfish será lento comparado con el simple cifrado o descifrado con Blowfish. Desafortunadamente, no puedo adivinar cuántas claves puede verificar por segundo con su máquina.

El tamaño del espacio clave depende de varios factores. Usted sabe que la contraseña tiene una longitud de 20 caracteres e incluye símbolos. Si bien esto suena mal al principio, significa que puede ignorar cualquier contraseña que tenga menos de 20 caracteres y puede ignorar cualquier contraseña que tenga más de 20 caracteres. También puede ignorar cualquier contraseña que solo contenga números o letras. Esto no va a hacer que el espacio clave sea pequeño pero ciertamente lo hará mucho más pequeño de lo que hubiera sido si usted no hubiera sabido esa información adicional sobre la contraseña. Desafortunadamente, cuando se trata de tamaños de espacio clave, la longitud de la contraseña supera la complejidad de una manera muy, muy larga. Incluso si solo usó números en esta contraseña, con un espacio de 20 caracteres, el espacio clave sería aproximadamente del mismo tamaño que una contraseña de 10 caracteres que usaba números, símbolos y letras mayúsculas y minúsculas.

El orden en el que pruebes las teclas es la parte más importante. Si primero marca la clave correcta, el intento de forzar la fuerza bruta tomará milisegundos. Si la clave correcta es la última que está planeando revisar, tomará miles de años. Vale la pena hacer cualquier cosa que pueda hacer que mueva la tecla correcta más cerca del inicio de las teclas que desea verificar.

Si incluso piensa sabes algo acerca de la contraseña, cambiar el orden en el que intentas las contraseñas para moverlas hacia el inicio probablemente hará que el craqueo sea más rápido. Un vago recuerdo de haber escrito una 'e' o que tenía un '0' cerca del final podría marcar la diferencia.

Algo que hacen las compañías de recuperación de datos es escanear todo el disco duro y usar cada cadena ASCII que encuentran para formar un diccionario que usan para intentar descifrar el archivo primero. La administración de claves es difícil de hacer bien y no es tan improbable que la contraseña en cuestión haya terminado en su disco duro en algún momento. Es probable que esto solo tarde unos pocos días y que valga la pena.

Acabo de hacer un cálculo rápido de cuánto tiempo tomaría agotar todo el espacio del espacio de la clave, asumiendo que podrías hacer mil millones de intentos por segundo (lo que no es realista) y solo incluirá contraseñas que tengan exactamente 20 caracteres y, desafortunadamente, Ni siquiera sé el prefijo SI por la cantidad de años que se me ocurrió. Si la idea de las cadenas de disco duro no funciona, creo que sería más rápido y más fácil volver a crear el archivo desde cero.

    
respondido por el Ladadadada 03.12.2011 - 18:18
fuente
3

A menos que haya algún conocimiento específico acerca de la contraseña que puede usar para su ventaja, o hay algunas debilidades particulares para el sistema de cifrado que ha usado, creo que no tiene suerte :-)

Si usaste mayúsculas / minúsculas, los números y los caracteres no alfa permiten asumir que hay 70 caracteres posibles usados en la contraseña. La contraseña tiene 70 ^ 20 permutaciones posibles, que es aproximadamente 8e36.

Suponiendo que su equipo pueda generar diez mil millones de permutaciones por segundo (lo que es mucho más de lo que podría hacer en un i5), el tiempo para agotar el conjunto completo de permutaciones sería de 2,5 a 19 años, lo que es aproximadamente 5 mil millones de veces más largo que el tiempo hasta que el sol consume nuestro sistema solar.

    
respondido por el Versile 03.12.2011 - 18:10
fuente

Lea otras preguntas en las etiquetas