No hay una respuesta exacta, y he aquí por qué:
Fuerza bruta
Comenzamos con una clave simétrica de 128 bits. Suponiendo que el algoritmo (por ejemplo, AES) aún no esté roto, debemos observar el consumo de energía. Suponiendo que los dispositivos de cómputo sean 100% eficientes cuya tecnología exceda por mucho a cualquier computadora, ASIC, tarjeta gráfica u otro dispositivo de descifrado de claves que pueda imaginar, hay un requisito de energía mínimo para simplemente voltear los bits y contar tan alto. Wikipedia ha hecho los cálculos por nosotros , y sale a, para una clave de 128 bits, el Los requisitos mínimos de energía exigidos por la física son aproximadamente 10 18 joules, o 30 Gigawatts por un año. Obviamente, con el hardware "real", el requisito sería varios cientos de miles de veces eso; Más que la producción de energía de todo el mundo. Así que eso está muy por fuera de la capacidad de cualquier cuerpo terrestre existente.
Pero si nos movemos a una clave de 256 bits, las matemáticas se vuelven más serias. Schneier hizo los cálculos en este caso en Criptografía Aplicada, y se ha discutido aquí anteriormente . Para evitar aburrirte con los detalles repetidos, simplemente llegaré a la conclusión: nuestro sol no produce suficiente energía para realizar esta tarea.
La computación teóricamente reversible (que puede ser posible con las computadoras cuánticas) podría reducir a la mitad la longitud efectiva de los bits, haciendo que tal proyecto esté más allá del alcance de cualquier poder existente, en lugar de estar más allá del alcance de la física. Pero eso es todo académico.
Lo que se lleva es esto: no se puede hacer una clave simétrica de forzado brutal. No por ti, no por nadie.
Rondas equivalentes
Entonces, ¿cuántas rondas de PBKDF2? Si el atacante tiene que elegir entre esperar 10 años hasta que se complete la derivación clave en lugar de construir una esfera Dyson alrededor del sol, la ruta PBKDF2 es aún más rápida. Con cualquier métrica práctica, agregar más tiempo a su derivación de clave significa agregar más tiempo al ataque, y en ningún momento el intento de forzar la fuerza bruta se convertirá en una opción (a menos que la ruta PBKDF2 también requiera un proyecto de construcción extraterrestre).
Entonces, ¿dónde está el punto de equivalencia? ¿Cuándo el PBKDF2 de fuerza bruta requiere la configuración completa de Dyson Sphere? La respuesta es: depende . Vea, el punto principal de usar el proceso hash en su ataque en lugar de adivinar la clave en sí es para que pruebe con menos contraseña. Si sabes la contraseña es "mono" o "123456", entonces es mejor que adivines solo dos veces, en lugar de intentar acertar el hash correcto en un escaneo secuencial.
Entonces, la respuesta depende del tamaño del diccionario que su atacante usará en su ataque. Si sabe la contraseña exacta, entonces solo adivina una vez. Y por lo tanto, el ataque de fuerza bruta tomará exactamente tanto tiempo como el inicio de sesión correcto. Por mucho que lo hagas ser. Si espera obtenerlo en dos intentos, entonces su fuerza bruta tomará exactamente el doble de tiempo que su inicio de sesión correcto. Si tiene un diccionario de 100 palabras para probar, entonces exactamente 100 veces más que su inicio de sesión correcto, y si su contraseña no está en su diccionario, entonces nunca podrá tener éxito, nunca.
Algunas matemáticas prácticas
Entonces, para garantizar que su ataque de fuerza bruta será imposible, también debe garantizar que su inicio de sesión exitoso sea imposible, porque debe tener en cuenta la posibilidad de que su contraseña sea la única. candidato en su lista.
Si, por otro lado, desea obtener un promedio razonable, simplemente haga una división simple. Digamos que quieres que el ataque de fuerza bruta tome 1 billón de años. Y digamos que nuestra contraseña es de 14 caracteres alfanuméricos (así que 1 de cada 10 25 ). Suponiendo que su diccionario tiene todas las contraseñas alfanuméricas, eso es 10 25 contraseñas en 10 12 años (trillón a pequeña escala), o 10 13 adivinanzas por año, o aproximadamente 316900 conjeturas por segundo.
Entonces, mientras ajustemos PBKDF2 de modo que se tarde más de 1 / 300,000 de segundo para adivinar cada contraseña, y nuestra contraseña tenga una longitud de al menos 14 letras, luego de 1 billón de años.
Advertencia
Tenga en cuenta que si el cripto subyacente se rompe, de modo que pueda ser atacado sin adivinar la clave, entonces probablemente se convierta en el método de ataque elegido. Pero no conocemos tal ataque en AES, ni esperamos que exista uno.