¿OpenPGP / GnuPG aplica hash lento a la contraseña al cifrar / descifrar la clave?

6

El espacio de contraseña es pequeño y silencioso. Por lo tanto, el hash lento debe aplicarse a la contraseña antes de usarla para el cifrado.

¿Debería aplicarse la función hash lenta (como bcrypt) a la contraseña antes de usarla con OpenPGP / GnuPG? ¿Lo hacen ellos mismos?

    
pregunta Andrei Botalov 02.06.2012 - 19:32
fuente

2 respuestas

1

Las implementaciones de OpenPGP aplican el hashing de la contraseña durante el proceso S2K. Permiten ajustar el algoritmo y el número de iteraciones.

Por defecto, GnuPG 1.4.12 usa SHA1 para realizar hashing con 65536 rondas. El algoritmo se puede cambiar a MD5, RIPEMD160 o SHA2s. Número de iteraciones se pueden cambiar también. La configuración actual se puede ver escribiendo gpg --list-packets ~/.gnupg/secring.gpg

Sin embargo, todos los algoritmos compatibles con GnuPG 1.4.12 pueden ser implementados de manera eficiente on GPU . Y por lo tanto, no son las mejores opciones para el hashing de contraseñas.

Será mejor usar bcrypt o scrypt en lugar de --s2k-* GnuPG opciones. Como no son compatibles con GnuPG, puedes usar una implementación lateral de la misma.

    
respondido por el Andrei Botalov 04.06.2012 - 13:48
fuente
8

Sí. Al cifrar un archivo con una frase de contraseña, deben usar una función hash lenta para obtener la clave criptográfica de la contraseña.

Sí, GPG ya hace esto. Consulte mi respuesta que explica en otro lugar cómo usar GPG con un hash lento , si necesita cifrar un archivo con frase de contraseña cifrado convencional. La versión corta es que recomiendo usar los siguientes indicadores de línea de comandos:

gpg -c --force-mdc --s2k-mode 3 --s2k-count 65011712 personal.zip

Esto le pide a GPG que use una función hash lenta para hashear la contraseña.

    
respondido por el D.W. 03.06.2012 - 04:49
fuente

Lea otras preguntas en las etiquetas