¿Cuántos dígitos de una contraseña rar son seguros?
La página de inicio de rarlabs proporciona código fuente unrar?unrarsrc-3.x.x.tar.gz, el último unrarsrc-4.0.7.tar.gz
Ver crypt.cpp, void CryptData: : SetCryptKeys(...)
Lea esta función y saque la conclusión:
1. El cifrado utiliza AES y no se conocen ataques de texto plano.
2. Inicialización de clave, rar usa 0x40000 veces (aproximadamente 260,000 veces) hash sha1 para inicializar AES. Esta propiedad es tan importante que la contraseña original se agota muy lentamente, con un cálculo equivalente a 260.000 veces de un solo SHA1. Incluso si la CPU de una PC pudiera realizar 26 millones de hashes SHA1 por segundo, sólo podría extraer 100 contraseñas por segundo. Las contraseñas complejas de más de 10 dígitos son casi imposibles de descifrar en unos pocos años.
(Truecrypt también tiene esa estrategia, get_pkcs5_iteration_count() es 2000 veces mayor que SHA y 131 veces más rápido que la clave de inicialización de rar)
Y rar necesita calcular la descompresión para determinar si La descompresión es correcta. CRC de datos comprimidos, la descompresión requiere más tiempo. Si la contraseña se establece en más de 10 caracteres que sean suficientemente aleatorios y se establece en 95 caracteres imprimibles, el espacio clave es 95^10. Al ritmo actual del PC, se necesitarían 18.900 millones de años para agotarlo.
Por supuesto, las PC serán cada vez más rápidas, pero si el costo de descifrar es mucho mayor que el costo del archivo en sí, entonces no tiene mucho sentido descifrar.
Si usar una supercomputadora para descifrar un archivo de 10.000 dólares cuesta 100.000 dólares en electricidad, nadie lo descifrará.
Si la contraseña es muy corta, o se utiliza para recuperar contraseñas personalmente y recordar algunos caracteres, puede intentar agotarla.