Generador de frases de contraseña de Diceware: frases de contraseña de palabras aleatorias
Genere frases de contraseña sólidas y memorables creadas a partir de palabras reales aleatorias utilizando el método Diceware: verdadera aleatoriedad criptográfica, con la entropía real en bits mostrada honestamente.
Resultado
Esta herramienta genera frases de contraseña a la manera de Diceware: en lugar de una densa cadena de caracteres aleatorios que es difícil de escribir y aún más difícil de recordar, encadena varias palabras comunes elegidas de forma independiente al azar. Una frase de contraseña como "bosque-cometa-linterna-guitarra-oasis-cardo" conlleva una entropía real y calculable y al mismo tiempo es algo que un ser humano puede leer en voz alta, escribir en el teclado de un teléfono o memorizar después de algunos intentos, que es exactamente la compensación en torno a la cual se diseñó la generación estilo Diceware.
La aleatoriedad es el objetivo, por lo que aquí se toma en serio: cada palabra se elige utilizando el generador de números aleatorios criptográficamente seguro crypto.getRandomValues() del navegador, con un muestreo de rechazo adecuado en cada sorteo. Un valor aleatorio sin formato de 32 bits solo se acepta si se encuentra en un rango divisible por la longitud de la lista de palabras; Los valores del resto desigual y sobrante se descartan y se vuelven a enrollar. Saltarse este paso y simplemente hacer value % wordlistLength favorecería ligeramente las palabras con un índice bajo sobre las con un índice alto, un sesgo estadístico sutil que una implementación ingenua introduciría silenciosamente. Este generador nunca toma ese atajo.
La honestidad acerca de la entropía es la otra mitad del diseño. La lista de palabras incluida tiene 1.821 palabras en inglés únicas, inequívocas y cotidianas: una lista grande y representativa, pero no la lista específica de 7.776 palabras utilizada por el proyecto clásico Diceware, por lo que esta herramienta nunca reclama la famosa cifra de 12,9 bits por palabra que solo se aplica a esa lista exacta. En cambio, la entropía por palabra se calcula en vivo como log2 (longitud de la lista), lo que equivale aproximadamente a 10,8 bits por palabra aquí, y el resultado en pantalla siempre muestra la fórmula completa (recuento de palabras multiplicado por bits por palabra, más la contribución honesta de cualquier extra) para que pueda ver exactamente cómo se alcanzó el total en lugar de confiar en un número de marketing.
Los conmutadores opcionales se tratan con la misma honestidad. Poner en mayúscula cada palabra es una regla fija y determinista que se aplica de la misma manera cada vez, por lo que no agrega ninguna entropía real: un atacante que conoce la regla no gana nada al no saber qué letras están en mayúscula, y la herramienta lo dice claramente. Por el contrario, agregar un número aleatorio de dos dígitos es un sorteo aleatorio adicional genuino entre 100 valores igualmente probables, agregando ~6,6 bits reales y declarados encima de las palabras. Todo se calcula y se procesa localmente en su navegador sin ningún servidor involucrado, por lo que nadie más que usted verá la frase de contraseña que genere.