Si tiene una clave privada GPG que está bloqueada con una contraseña, "descifrar" la clave se reduce a adivinar la contraseña. Hay una ecuación fácil de responder a eso; lo que es difícil es que hay dos incógnitas: el número de bits de entropía en la contraseña y el número de conjeturas por segundo que puede hacer el atacante.
Ejemplo: hay 96 caracteres ASCII imprimibles. El registro 2 (96) es aproximadamente 6.6. Dada una contraseña ASCII de ocho caracteres, realmente generada al azar, uno tendría 6.6x8 = 52.8 bits de entropía. Si un atacante puede hacer mil millones (2 30 ) por segundo, tomará unos 2 22.8 segundos o unos 84 días para probar todas las combinaciones. Como esperamos que un atacante "golpee" aproximadamente a la mitad, el tiempo promedio para descifrarlo será de alrededor de 42 días.
Si, en cambio, la contraseña es uno de los 10,000 principales (¡y los crackers tienen listas!), tiene aproximadamente 13.3 bits de entropía y el cracking tendrá éxito en menos de un segundo.
Finalmente, supongamos que usaste Diceware con una frase de 6 palabras. Obtendría 66 bits de entropía y el cracking tomaría aproximadamente 2 35 segundos, o más de mil años.
Puedes repetir la aritmética con otros valores de conjeturas por segundo.
Hay dos cosas importantes que extraer de esto. Primero, si la clave privada está bloqueada con una contraseña y el atacante tiene acceso a la clave privada bloqueada, el craqueo tiene que ver con la contraseña, y no con GPG o criptografía de clave pública. En segundo lugar, cada bit de entropía agregado a una contraseña duplica aproximadamente el tiempo para descifrarlo por fuerza bruta.
Para una clave AES derivada de una contraseña, los cálculos son los mismos. Sin embargo, una clave AES no tiene que derivarse de una contraseña. Puede ser generado aleatoriamente. Para AES de 128 bits, el atacante de fuerza bruta tomará 2 segundos 128-30-1 = 2 97 . Eso es aproximadamente 5,000,000,000,000,000,000,000 años.