Generador de contraseñas pronunciables

Sílabas al azar que se escriben tal como suenan.

Tu contraseñaSe genera en tu navegador

 

Extras que piden casi todos los formularios

Los dos van al final, donde no te impiden decir la contraseña en voz alta, y ninguno cuenta en la cifra de arriba.

Mayúsculas y cantidad
Mayúsculas

Brisuafoclematon — se lee como un nombre y cumple la regla de la mayúsculabrisuafoclematon — lo más rápido de escribir, sin la tecla de mayúsculas

Este generador de contraseñas pronunciables crea contraseñas con sílabas en lugar de palabras, para que puedas dictar una por teléfono sin deletrear cada carácter. Ninguna es una palabra real, y todas se escriben tal como suenan.

¿Qué es un generador de contraseñas pronunciables?

Un generador de contraseñas pronunciables junta sílabas al azar en algo que se puede decir: Brisuafoclematon en lugar de k3w9zq4mt. No tiene diccionario: las sílabas nunca fueron palabras, así que un atacante no tiene nada que buscar.

Sílabas, no palabras

Este sitio tiene tres herramientas que producen algo que una persona puede manejar. Lo que separa a un generador de contraseñas pronunciables de las otras dos es de dónde sale el azar.

La diferencia se nota en la longitud. Las palabras se recuerdan con facilidad y cuestan muchos caracteres; las sílabas cuesta más recordarlas y ocupan mucho menos. Un generador de contraseñas pronunciables es la elección correcta solo cuando la contraseña tiene que salir de tu pantalla.

Cuándo conviene

Siempre que la contraseña tenga que pasar por el oído de alguien: leerle un código a un compañero, dictar un acceso temporal por teléfono o escribirla en una pizarra para un taller. Para eso existe un generador de contraseñas pronunciables.

Una cadena aleatoria te obliga a deletrear cada carácter y a confirmarlo. Un generador de contraseñas pronunciables te da algo que se dice una sola vez.

Sílabas que se escriben como suenan

Por qué no son las mismas que en inglés

La versión inglesa de esta herramienta usa 285 sílabas pensadas para la pronunciación inglesa, con th, sh u oo. Quien habla español oye thuve y no sabe cómo escribirlo, y una contraseña dictada que no se puede escribir no sirve de nada.

Por eso este generador de contraseñas pronunciables usa aquí otras sílabas, con una sola regla: cada sonido se escribe de una única manera. Si oyes la sílaba, la escribes bien a la primera.

Qué letras se quedan fuera

  • v: suena igual que la b, así que solo queda la b.
  • z, y la c ante e o i: suenan como la s en casi todo el mundo hispanohablante. Donde se distinguen, como en buena parte de España, dejar solo la s tampoco deja dudas.
  • g ante e o i: suena como la j. La c y la g solo aparecen con a, o y u.
  • ll e y: la mayoría de los hablantes las pronuncia igual.
  • h: no suena.
  • k, w, x y q: son de palabras prestadas o, como la q, necesitan una u muda detrás.
  • ñ: la salida usa solo las letras de la a a la z, y la ñ cuesta teclearla sin un teclado español.

Lo que queda

Once consonantes simples (b, d, f, j, l, m, n, p, r, s y t) van con las cinco vocales o con diez diptongos; la c y la g, solo con a, o y u; y doce grupos como br, cl o tr, con las cinco vocales.

Son las 231 sílabas de este generador de contraseñas pronunciables. La última puede cerrar en l, n, r o s, o quedar abierta.

Lo que cuesta

Menos sílabas significa menos bits por sílaba: 7.85 en lugar de 8.15, y cinco terminaciones en lugar de 23. Cinco sílabas se quedan en 41.6 bits, por debajo de los 45.3 de la versión inglesa, así que en este generador de contraseñas pronunciables el valor por defecto sube a seis: 49.4 bits en unos 18 caracteres.

El error por el que se conoce esta categoría

El estándar se retiró

El NIST publicó FIPS 181, el Automated Password Generator, en 1993. Según su resumen, el algoritmo crea al azar sílabas sencillas y pronunciables para usarlas como contraseñas: exactamente lo que hace un generador de contraseñas pronunciables.

Se retiró el 19 de octubre de 2015 y nada lo sustituyó. El módulo de Perl Crypt::GeneratePassword, una de las pocas implementaciones que entran en la cuestión, dice que evita FIPS-181, «which is proven to be insecure» (que se ha demostrado inseguro), y cita un artículo de Ganesan y Davies de 1994.

Dónde se pierde la entropía

El fallo está en cómo se elige. La forma tentadora de construir un generador de contraseñas pronunciables es escoger primero un patrón (consonante y vocal, o consonante, vocal y consonante) y luego rellenarlo.

Los patrones no contienen el mismo número de contraseñas. Elegir entre ellos a partes iguales hace que cada contraseña del patrón pequeño sea mucho más probable que cualquiera del grande.

Una sola sílaba puede terminar abierta, sin consonante final, de 231 formas, o cerrada de 924, con 1155 posibilidades en total. Elegir entre las dos formas a cara o cruz y después rellenar la forma da a cada contraseña abierta un 0.217 % de probabilidad y a cada cerrada un 0.054 %, así que la más probable es cuatro veces más probable que la menos probable. Su resistencia a los intentos es de 8.85 bits. Enumerar primero las 1155 posibilidades y sacar una sola vez da a cada contraseña un 0.0866 % y los 10.17 bits completos.

Una sílaba puede quedar abierta de 231 formas o cerrada de 924. Echa a suertes la forma y la contraseña más fácil pasa a ser 4 veces más probable que la más difícil: de 10.17 bits a 8.85.Calculado con las sílabas en español de este generador. Con las 23 terminaciones de la versión inglesa, la diferencia es de 22 veces. La pérdida se acumula con cada sílaba.

Un atacante que conoce las formas no ataca la media. Empieza por la mitad barata, que es justo la que un generador de contraseñas pronunciables descuidado abarata más.

Así que este nunca elige una forma

Las 231 sílabas se enumeran una vez, antes de generar nada, y cada sorteo toma una de ellas de forma uniforme. Este generador de contraseñas pronunciables no tiene ninguna decisión de patrón que pueda salir mal.

Las restricciones siguen existiendo, como que la c solo vaya delante de a, o y u, porque ce se oiría como se. Pero se aplican al construir la lista, no al sacar de ella. Descartar combinaciones antes de enumerar no cuesta nada; ponderarlas después es el error.

Por eso la entropía es un recuento

Cada sílaba es consonantes y luego vocales, sin final, así que una contraseña terminada alterna tramos de consonantes y de vocales y solo se puede separar de una manera. Seis sílabas y una terminación son 231⁶ × 5 posibilidades: 49.4 bits, contados y no estimados.

Lo que pagas por poder decirla

Bits por carácter

Todo formato de contraseña legible cambia entropía por legibilidad, y un generador de contraseñas pronunciables no es una excepción. La pregunta útil es a qué precio.

Cuarenta y cinco bits de entropía ocupan unos nueve caracteres con letras y dígitos al azar, dieciséis con las sílabas pronunciables en español de este generador, veinticinco con palabras de la lista corta y separadores, y veintiocho con palabras de la lista larga y separadores. Estas sílabas llevan 2.87 bits por carácter, frente a 5.17 del azar completo, 1.87 de la lista corta y 1.62 de la larga. Las dos listas de palabras son inglesas.

45 bits ocupan 9 caracteres como cadena aleatoria, 16 como sílabas y de 25 a 28 como palabras. Las sílabas quedan en medio y, a diferencia de una cadena aleatoria, el resultado se puede decir.Calculado con las sílabas en español de este sitio y las dos listas de palabras de la EFF, que son inglesas.

Frente a una cadena aleatoria, estas sílabas pierden cerca del 45 % de la densidad. A cambio llevan de 1.5 a 1.8 veces la de una contraseña hecha de palabras, y por eso el resultado es mucho más corto que una frase de contraseña igual de fuerte.

Cuántas sílabas usar

Seis es el valor por defecto: 49 bits en unos 18 caracteres, que caben en cualquier campo de contraseña y se agrupan bien al decirlos. Con menos de cinco, un generador de contraseñas pronunciables deja de compensar la entropía que ha cedido.

Ocho pasan de 65 bits con unos 24 caracteres: es el ajuste del generador de contraseñas pronunciables para cualquier contraseña que vaya a durar más que la conversación en la que se dictó.

Por qué el dígito va al final

El generador de contraseñas memorables esconde a propósito su dígito dentro de una palabra, porque las reglas de descifrado prueban primero los adornos del final.

Aquí eso sería contraproducente: nadie puede leer bri7suafo en voz alta. El dígito y el símbolo van al final y, como su posición es previsible, este generador de contraseñas pronunciables no los cuenta en la cifra que te muestra.

Las palabras que se niega a decir

Por qué hace falta un filtro

Deja que un generador de contraseñas pronunciables junte sílabas el tiempo suficiente y acabará formando algo que no leerías en voz alta en una oficina. No es un riesgo hipotético.

El prototipo de la versión inglesa sacó una obscenidad inconfundible en sus primeras doce muestras, y eso zanjó la cuestión. Hay una lista de unas 130 secuencias, en inglés, español y portugués, y con seis sílabas en español uno de cada 50 borradores, más o menos, contiene alguna.

Se rechaza, no se arregla

Un borrador que no pasa el filtro se tira y se saca otro. Nunca se retoca.

Cambiar una letra para romper una palabra no deseada sesgaría el resultado sin avisar: algunas sílabas empezarían a salir más que otras, con un patrón que nadie vería.

Descartar mantiene cada contraseña superviviente exactamente igual de probable que las demás. Es el mismo principio por el que este generador de contraseñas pronunciables saca de una lista enumerada.

Lo que cuesta el filtro

Quitar alrededor del 2 % del espacio cuesta 0.029 bits de 49.4. La cifra se ha medido sobre un millón de sorteos, no se ha supuesto. Con las sílabas inglesas se descarta un 4.8 %.

Medirlo es lo importante: un filtro que quitara una parte grande estaría cambiando lo que produce el generador de contraseñas pronunciables, no recortándolo, y nadie lo notaría mirando el resultado.

Preguntas frecuentes

¿Son palabras reales?

No, y a propósito. Este generador de contraseñas pronunciables no tiene diccionario: cada contraseña se arma con 231 sílabas que nunca fueron palabras. Importa porque una contraseña hecha de palabras reales solo es tan difícil de adivinar como la lista de la que salió, y un atacante conoce las listas habituales.

¿Por qué las sílabas no llevan v, z, h ni ñ?

Porque quien oye la contraseña tiene que escribirla igual. La b y la v suenan igual; la z, y la c ante e o i, como la s para casi todos; la g ante e o i, como la j, y la h no suena. La ñ no está porque la salida solo usa de la a a la z.

¿Cómo se calcula la cifra de entropía?

Contando, no estimando. Las sílabas se enumeran una vez y se eligen de forma uniforme. Cada sílaba es consonantes seguidas de vocales, así que las letras se alternan en tramos y una contraseña terminada solo se puede separar de una manera. Seis sílabas y una terminación son 231⁶ × 5 posibilidades: 49.4 bits exactos.

¿Por qué no usar FIPS 181, el estándar del NIST para esto?

Porque el NIST lo retiró el 19 de octubre de 2015 y no nombró ningún sustituto. Un módulo de Perl para generar contraseñas, de las pocas implementaciones que tratan la cuestión, explica que evita FIPS-181 porque se ha demostrado que es inseguro, y cita un artículo de Ganesan y Davies de 1994.

¿Qué tiene de malo elegir un patrón y rellenarlo?

Los patrones no contienen el mismo número de contraseñas. Si eliges a partes iguales entre uno pequeño y uno grande, cada contraseña del pequeño se vuelve mucho más probable, y un atacante empieza por ahí. Con una sola sílaba en español, la resistencia baja de 10.17 bits a 8.85. Este generador de contraseñas pronunciables saca una sola vez de una lista ya terminada.

¿Qué seguridad tiene una contraseña pronunciable frente a una aleatoria?

Menos por carácter que una aleatoria y más que una de palabras. Estas sílabas llevan unos 2.87 bits por carácter, frente a 5.17 de letras y dígitos al azar y de 1.62 a 1.87 de las contraseñas hechas con palabras. 45 bits ocupan 9 caracteres al azar, 16 pronunciables o de 25 a 28 con palabras.

¿Por qué el dígito va al final, si otras páginas lo esconden dentro?

Porque meterlo dentro rompería lo único que ofrece esta herramienta. Las reglas de descifrado sí prueban primero los dígitos del final, y por eso el generador de contraseñas memorables los reparte; pero nadie puede dictar «bri7suafo» por teléfono. El dígito va al final y no cuenta en la cifra de entropía.

¿Puede salir algo malsonante?

No de una lista de unas 130 secuencias, en inglés, español y portugués, que se niega a producir. Es un riesgo real, no teórico: el prototipo de la versión inglesa sacó una obscenidad en sus primeras doce muestras. Con seis sílabas en español se descarta y se vuelve a sacar uno de cada 50 borradores, más o menos, y eso cuesta 0.029 bits.

¿Descartar borradores hace el resultado menos aleatorio?

Reduce un poco el espacio, y el rechazo mantiene igual de probable todo lo que sobrevive. Por eso los borradores se tiran en lugar de arreglarse: cambiar una letra sesgaría el resultado de una forma difícil de ver y más difícil de medir. El coste se mide sobre un millón de sorteos, no se supone.

Más generadores gratuitos

Todas las herramientas de este sitio funcionan en tu navegador, sin cuenta y sin límites. Las de claves y secretos y la de UUID, de momento, solo están en inglés.

Metodología

Actualizado el

Las sílabas

Once consonantes simples van con las cinco vocales o con diez diptongos; la c y la g, solo con a, o y u; y doce grupos de dos consonantes, con las cinco vocales. En total, 231 sílabas. La terminación sale de 5 opciones, una de las cuales es no poner nada. No interviene ninguna lista de palabras.

Cómo funciona el sorteo

posibilidades = 231sílabas × 5

Cada sílaba sale de crypto.getRandomValues() mediante muestreo por rechazo, y la lista se enumera antes de sacar nada, así que todas las sílabas son igual de probables. Math.random() no se usa en ninguna parte de este generador de contraseñas pronunciables.

Por qué el recuento es exacto

Una sílaba tiene una parte de consonantes y otra de vocales, y nada más, así que la contraseña terminada alterna tramos de consonantes y de vocales y sus límites quedan fijados.

Las pruebas unitarias generan contraseñas, las vuelven a separar en sílabas y comprueban la ida y vuelta, con las sílabas en español y con las inglesas. Eso demuestra que la correspondencia es uno a uno y que el recuento no cuenta nada dos veces.

Las pruebas comprueban también que ninguna sílaba en español lleva v, z, h, k, w, x, y, q, ñ ni ll, y que la c y la g nunca van delante de e o i.

Las palabras bloqueadas

Unas 130 secuencias, en inglés, español y portugués, que el generador no produce, aplicadas por rechazo. Las palabras en español y en portugués se eligieron a mano, y cada una aparece en al menos una lista con licencia abierta.

Con seis sílabas en español, la tasa de rechazo medida es del 2.0 % y cuesta 0.029 bits. La lista está en el código fuente, y las pruebas buscan duplicados y entradas demasiado cortas para ser seguras, y la contrastan con listas escritas por separado en los tres idiomas.

Lo que no se cuenta

El dígito y el símbolo opcionales. Su posición es fija y su presencia la anuncia el formulario que los exige, así que incluirlos inflaría la cifra. Nada de lo que se genera aquí se transmite, se guarda ni se pone en la URL, y las páginas en español no cargan analítica.