Word key: what the page does

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
main
dev 7 days ago
parent e5f68636e0
commit 110b131f98

@ -1,6 +1,6 @@
# Llave de palabras (propuesta para la versión siguiente del spec) # Llave de palabras (propuesta para la versión siguiente del spec)
*1 de octubre de 2026. Pedida por el autor: «nadie va a tener idea de cómo hacer ese tipo de claves» (las de `age`), «si lo hacemos como un wallet a partir de 6 palabras», y «si quiere el archivo, que lo guarde, y si no, que apunte las palabras». Pendiente de diseño detallado, de spec y de implementación, primero en Go y después en la página.* *1 de octubre de 2026. Hecho en la página (`App`, rama `v0.10`), tal como lo pidió el autor después: las palabras las elige quien crea la cápsula, al menos 6, y PBKDF2 en vez de scrypt, sin dependencias. Falta llevarlo al spec y a la CLI de Go. Pedida por el autor: «nadie va a tener idea de cómo hacer ese tipo de claves» (las de `age`), «si lo hacemos como un wallet a partir de 6 palabras», y «si quiere el archivo, que lo guarde, y si no, que apunte las palabras». Pendiente de diseño detallado, de spec y de implementación, primero en Go y después en la página.*
## Qué es ## Qué es
@ -33,3 +33,11 @@ scrypt ya está en las dos implementaciones: Go lo tiene en `golang.org/x/crypto
1. ¿6 palabras, o 8 o 12? 1. ¿6 palabras, o 8 o 12?
2. ¿La lista española de BIP-39, la inglesa, o una propia? Hay que comprobar la licencia de la que se elija antes de incluirla. 2. ¿La lista española de BIP-39, la inglesa, o una propia? Hay que comprobar la licencia de la que se elija antes de incluirla.
3. ¿La página ofrece las palabras por defecto y el `.dkk` como opción, o al revés? 3. ¿La página ofrece las palabras por defecto y el `.dkk` como opción, o al revés?
## Lo implementado en la página (01-10)
- Las palabras las escribe quien crea la cápsula, al menos 6. La página no las genera.
- Normalización: NFD, sin las marcas U+0300 a U+036F, en minúsculas, separadas por espacios y unidas con un espacio.
- Derivación: PBKDF2-HMAC-SHA256, 600.000 vueltas, 32 bytes. La contraseña son las palabras normalizadas. La sal es `DateKeys llave de palabras v1|<chain hash en hex>|<ronda>`.
- Los 32 bytes son la identidad X25519. Su clave pública entra como una persona de `age` más, así que el formato no cambia.
- Para que la CLI abra estas cápsulas, Go tiene que hacer exactamente esto. PBKDF2 está en la biblioteca estándar desde Go 1.24 (`crypto/pbkdf2`).

Loading…
Cancel
Save

Powered by TurnKey Linux.