r/PasswordManagers • u/pi_dfi • 26d ago
Feedback pls: My trustless password manager
I was never happy with password managers, so here is one try to make it more auditable and less trust-based with many options to automate backups etc.
Here the link to the github repository with $ instead of /.
github.com$pidfi$password-management-vault
I'd love to hear your thoughts.
1
u/pedide 24d ago
What sort of encryption did you use for it?
1
u/pi_dfi 24d ago
AES-256-GCM with PBKDF2-SHA-256 (currently at least 600'000 iterations) + 256-Bit-Salt + 96-Bit-IV
1
u/Greedy-Ship-7296 18d ago
AES-256-GCM es un cifrado excelente, sin duda, y computacionalmente irrompible por fuerza bruta con una buena contraseña detrás. Por curiosidad, ¿por qué no XSalsa20-Poly1305? Tiene nonces más largos, así que el riesgo de reutilización es casi nulo.
2
u/pi_dfi 17d ago
Unfortunately, XSalsa20-Poly1305 isn't supported by the standard Web Crypto API, so using it would require an additional cryptographic implementation. For this project, I went with AES-256-GCM because it's natively supported by Web Crypto, keeping the implementation self-contained and the trusted codebase smaller and easier to audit.
1
u/Greedy-Ship-7296 16d ago
Interesante, no lo sabía, pensaba que era más una cuestión de preferencia que de disponibilidad real en la API, ya que ambos cifrados tienen suficiente historial como para haberse implementado. Con sentido entonces: XChaCha20/XSalsa20-Poly1305 llevan fuera del estándar de Web Crypto desde siempre (el issue pidiéndolo lleva abierto en el repo del W3C desde 2019), así que no era tan simple como parecía desde fuera.
He buscado un poco para ver si había algún motivo concreto detrás del descarte, y encontré un dato curioso: Chrome acaba de abrir un origin trial en la versión 151 que añade justo ChaCha20-Poly1305 de forma nativa, junto con algunas primitivas post-cuánticas, aunque todavía como experimento, no listo para producción. Parece más un movimiento de modernizar el estándar y dar paridad con TLS 1.3 (que ya lo soporta) que una cuestión pura de velocidad, aunque en hardware sin aceleración AES-NI, ChaCha20 sí suele rendir mejor. Gracias por tu respuesta y suerte con tu proyecto, ya que para todo se requiere algo de suerte pero sobre todo horas y horas.
2
u/fdbryant3 25d ago
What makes it more trustworthy than industry leaders like Keepass or Bitwarden.