Bienvenidos a un nuevo post en ByteMind, en este caso les traigo una herramienta para generar contraseñas de alta entropía mediante el uso del algoritmo de Diceware creado por Arnold Reinhold.
El algoritmo de Diceware se utiliza para la generación de frases de contraseñas criptográficamente sólidas. En este caso se trata de una implementación en python del algoritmo de generación de password por este método.
¿Cómo se generan las password?
El algoritmo tradicional de Diceware utiliza tiradas de dados físicos, esta aplicación utiliza un potente generador de números aleatorios en lugar del uso de los dados.
Un dado virtual es tirado 5 veces y el número de dígitos se utiliza contra un listado de palabras.
6 tiradas de dados devuelve 6 palabras aleatorias fáciles de recordar para un ser humano, pero que tienen una gran cantidad de entropía, lo que las hace difíciles de descifrar.
Para más detalles puede visitar la página de inicio del algoritmo Diceware.
Instalación de la herramienta
Para la instalación de la herramienta basta con clonar el repositorio desde github:
1 |
$ git clone https://github.com/shokone/Diceware-pwd-generator.git |
Y posteriormente acceder al directorio del repositorio
1 |
$ cd Diceware-pwd-generator/ |
Uso de la herramienta
La tool dispone de una ayuda con la opción -h que veremos como se muestra a continuación
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ python dcpwdgen.py -h ____ ____ ____ _ ____ _____ _____ _ / _ \/ _\/ __\/ \ /|/ _ \/ __// __// \ /| | | \|| / | \/|| | ||| | \|| | _| \ | |\ || | |_/|| \__| __/| |/\||| |_/|| |_//| /_ | | \|| \____/\____/\_/ \_/ \|\____/\____\\____\\_/ \| (Diceware PWD Generator by Shokone) usage: dcpwdgen.py [-h] [-v] [-n NUM] optional arguments: -h, --help show this help message and exit -v, --version Show version number and exit. -n NUM, --number NUM Specify the number of words use to generate password |
Para la generación de las claves, basta con indicar el número de palabras que se desea utilizar y se encargará de realizar las tiradas apropiadas para la generación de nuestra clave, veamoslo con un ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ python dcpwdgen.py -n 6 ____ ____ ____ _ ____ _____ _____ _ / _ \/ _\/ __\/ \ /|/ _ \/ __// __// \ /| | | \|| / | \/|| | ||| | \|| | _| \ | |\ || | |_/|| \__| __/| |/\||| |_/|| |_//| /_ | | \|| \____/\____/\_/ \_/ \|\____/\____\\____\\_/ \| (Diceware PWD Generator by Shokone) [INFO] Your words are albatross outplayed busybody demanding reliably travel [INFO] Your passphrase is albatrossoutplayedbusybodydemandingreliablytravel |
Para la generación de la herramienta se ha utilizado la lista creada por el propio Reinhold pero es posible modificar la misma con aquel que se desee.
Esto es todo por ahora, espero les sea de utilidad y cualquier duda o sugerencia pueden exponerla en la sección de comentarios.