# O xogo dos contrasinais, e as regras que non protexen

> The Password Game leva ao absurdo as regras de composición pedindo cousas cada vez máis ridículas. A graza é que durante vinte anos esas regras foron política de seguridade de verdade.

2026-09-08 · David Carrero · password.es
Original: https://password.es/gl/blog/o-xogo-dos-contrasinais/

---

En xuño de 2023, un programador chamado **Neal Agarwal** publicou na súa web,
neal.fun, algo titulado *The Password Game*. Pídeche que escribas un contrasinal.
Despois que teña polo menos cinco caracteres. Despois un número. Despois unha
maiúscula. Despois un carácter especial.

Ata aquí non é un xogo. É o formulario do teu banco.

Despois comeza a outra parte. Que os díxitos sumen 25. Que conteña o nome dun mes.
Que conteña números romanos cuxo produto sexa 35. Que leve a resposta do Wordle de
hoxe. Que identifique o país dunha fotografía. Que conteña a mellor xogada dunha
posición de xadrez, en notación alxébrica. Son trinta e cinco regras, e polo camiño
aparece dentro do teu contrasinal un emoji de ovo chamado Paul, que nace e hai que
alimentar con eirugas, mentres unha chama vai comendo os teus caracteres se non a
apagas a tempo.

O xogo funciona por unha razón incómoda: **ninguén ten que che explicar o chiste**.
Cólleslo no primeiro segundo, porque o mecanismo lévalo sufrindo media vida. O
único que fixo Agarwal foi seguir tirando do fío.

E aí é onde convén ir amodo. **As catro primeiras regras non as inventou el.**

## De onde saíron as regras que xa coñecías

Unha maiúscula, un número, un símbolo e unha lonxitude mínima non son folclore de
internet: son a tradución práctica dun documento do NIST estadounidense publicado
en **2003**, o SP 800-63, escrito por Bill Burr. De alí baixaron aos formularios de
medio mundo, e de alí á túa cabeza.

Contámolo enteiro en [que é un contrasinal](/gl/blog/que-e-un-contrasinal/): Burr
non tiña datos de contrasinais reais —apenas existían— así que razoou cara ao que
parecía sensato. Máis variedade de caracteres, máis combinacións, máis seguridade.
En 2017 o propio NIST deu marcha atrás, e Burr díxolle ao *Wall Street Journal* que
lamentaba boa parte do que escribira.

Así que o xogo de Agarwal non esaxera unha política de seguridade. **Continúa unha
lista que xa estaba mal na súa primeira liña.** A única diferenza entre «debe conter
un símbolo» e «os díxitos deben sumar 25» é que á primeira xa te afixeches.

## O que esas regras nunca mediron

Aquí é onde o chiste deixa de ter graza, porque se pode medir.

Estas cifras saen do [comprobador](/gl/comprobador/) deste sitio, co seu modelo
declarado: un ataque **fóra de liña contra un resumo criptográfico rápido, a 10¹²
intentos por segundo**. Non son estimacións de folleto; é o que verás se tecleas
esas mesmas cadeas alí.

| contrasinal | regras que cumpre | intentos | aguanta |
|---|---|---|---|
| `Contrasinal1!` | as catro | 6,9 × 10⁸ | < 1 segundo |
| `Veran2026!` | as catro | 4,3 × 10⁸ | < 1 segundo |
| `Zx9#kQ2m` | as catro | 3,3 × 10¹⁵ | 55 minutos |
| seis palabras sacadas a dados, en minúscula | **ningunha** | 1,1 × 10²³ | 3.500 anos |

A última fila non sae do comprobador, sae da aritmética, e é a propósito: o
comprobador non pode saber que esas seis palabras viñeron dun dado, así que
calcularía outra cousa. Seis tiradas son 77,5 bits exactos, e 77,5 bits a 10¹²
intentos por segundo son uns tres mil cincocentos anos. Volvemos a iso ao final.

Lelo outra vez. `Contrasinal1!` pasa calquera formulario do planeta e cae antes de
que soltes a tecla, porque a palabra está no dicionario e o demais é o adorno que
pon todo o mundo: a maiúscula diante, o número e o símbolo detrás. E a última fila,
seis palabras correntes en minúscula, **non a aceptaría nin a metade dos sitios onde
tes conta**: non leva maiúscula, nin número, nin símbolo.

Paga a pena deterse en `Zx9#kQ2m`, porque é o mellor caso posible da regra. Oito
caracteres verdadeiramente aleatorios, cos catro tipos, exactamente o que a política
de 2003 consideraba un contrasinal exemplar. Cincuenta e cinco minutos. E é un
**teito**: o comprobador non pode saber que o tecleaches ao chou, así que che
concede o beneficio da dúbida e calcula o mellor escenario. Ademais, ninguén teclea
así. Pídelle a unha persoa oito caracteres cun símbolo e o que sae é `Futbol123!` —
1,3 × 10⁸ intentos, menos dun segundo.

A regra non distingue eses dous casos. **Para o formulario, `Futbol123!` e
`Zx9#kQ2m` son o mesmo contrasinal.** Ese é o fallo enteiro: unha regra de
composición mide a forma da cadea, e a resistencia non está na forma.

## A regra dos 90 días, ou como se inventa `Outono2026!`

A outra metade da herdanza de 2003 é a caducidade. Cámbiao cada noventa días.

Ninguén inventa un contrasinal novo cada noventa días. O que fai a xente —o que fas
ti, e eu— é incrementar o que xa tiña. `Veran2026!` convértese en `Outono2026!` e o
traballo está feito. Os dous aguantan **menos dun segundo**, e se un atacante ten o
primeiro, adiviñar o segundo non é un ataque: é encher un oco.

O NIST retirou a rotación obrigatoria no **SP 800-63B**, en 2017. Na revisión de
agosto de 2025 o texto endureceu o ton: onde antes dicía que os verificadores *non
deberían* impoñer regras de composición nin esixir cambios periódicos, agora di que
**non deben** facer ningunha das dúas cousas. Só se forza o cambio se hai indicios
de que o contrasinal está comprometido.

Nove anos despois da primeira retractación, a túa empresa segue a pedirche unha
maiúscula cada trimestre.

## O límite de caracteres é o peor sinal de todos

Agarwal contou que a gota que colmou o vaso, o que o levou a facer o xogo, foi
intentar crear unha conta e que lle dixesen que o seu contrasinal era **demasiado
longo**.

De todas as regras absurdas, é a única que ademais é un mal sinal.

Un sistema que garda o teu contrasinal como debe non o garda: garda o seu resumo, e
un resumo **mide sempre o mesmo**, tanto se lle dás oito caracteres como se lle dás
oitocentos. Non existe ningunha razón de almacenamento para un límite de dezaseis.
Hai exactamente unha excepción técnica lexítima e coñecida —bcrypt ignora o que pase
de 72 bytes— e non explica os formularios que se plantan en doce.

Un teito curto non demostra que che estean a gardar o contrasinal en claro, pero é o
tipo de detalle que só aparece cando alguén o meteu nunha columna de base de datos
de tamaño fixo. O propio SP 800-63B pide o contrario: que se acepten **polo menos 64
caracteres**.

## A regra que si funciona non cabe nun formulario

A incomodidade de fondo é que a boa práctica non se pode expresar como unha caixa de
validación. Ninguén pode escribir unha expresión regular para «que non o uses noutro
sitio» nin para «que non saia na última filtración».

O que si se pode facer é contar. Unha frase de palabras escollidas **a dados** —
[Diceware](/gl/blog/diceware-dados-mellor-contrasinal/)— suma 12,9 bits limpos por
palabra, e eses bits si son bits. Co mesmo modelo de 10¹² intentos por segundo:

- **Cinco palabras** son 64,6 bits: uns **164 días**.
- **Seis palabras** son 77,5 bits: uns **3.500 anos**.

Convén dicir as dúas cifras e non só a segunda. Repítese moito que unha frase de
cinco palabras «aguanta séculos»; contra un resumo rápido non aguanta séculos:
aguanta cinco meses e medio. Por iso Reinhold recomendaba cinco como mínimo e seis
para o que importa de verdade. **A palabra número seis é a que cambia a escala**, e
é de balde.

Ningunha das dúas pasaría o formulario do teu banco.

## Por que o xogo ten graza

Cando o xogo che pide que a suma dos díxitos sexa 25, ris porque é unha condición
arbitraria que non ten nada que ver co que fai seguro un contrasinal.

Esixir un símbolo tamén é unha condición arbitraria que non ten nada que ver co que
fai seguro un contrasinal. A diferenza é que esa lévaa media internet, e que a esa
collémoslle cariño.

Se queres o resumo operativo, cabe en tres liñas: usa o [xerador](/gl/) ou uns
dados, mete o resultado no xestor, e cumpre as regras do formulario **engadindo** o
que che pida, sen crer que iso te protexeu de nada. A maiúscula ao principio e o `!`
ao final son unha peaxe, non unha defensa.

O demais é un xogo. Está moi ben feito, e oxalá quedase en xogo.

---

*Fontes: Neal Agarwal, «The Password Game» (neal.fun, 27 de xuño de 2023), as súas
35 regras e o relato do propio autor sobre o formulario que lle dixo que o seu
contrasinal era demasiado longo · NIST SP 800-63 (2003), SP 800-63B (2017) e
SP 800-63B-4 (agosto de 2025), que pasa de «non deberían» a «non deben» sobre regras
de composición e caducidade, e pide aceptar polo menos 64 caracteres ·
declaracións de Bill Burr ao Wall Street Journal, agosto de 2017 · Arnold G.
Reinhold, Diceware (1995), de onde saen os 12,9 bits por palabra. Os tempos da táboa
están medidos co comprobador deste sitio, co seu modelo declarado de 10¹² intentos
por segundo contra un resumo rápido; os de Diceware, calculados co mesmo ritmo a
partir de log₂(7.776) por palabra.*
