News for hackers. Stuff that matters.

nett_ef

Thanks!

I’m using Argon2id-Blake2b. There’s a flowchart here: https://github.com/theosaveliev/rtty-soda?tab=readme-ov-file...

And the relevant code is here: https://github.com/theosaveliev/rtty-soda/blob/main/src/rtty...

I made a couple of explicit assumptions to reduce UX friction, and I try to document and test them rather than hide them:

1. I’m aware that using size=PrivateKey.SIZE is not ideal, since that constant is shared between public and secret schemes. I rely on the fact that the sizes match in libsodium, and I enforce that assumption with tests so it fails loudly if that ever changes: https://github.com/theosaveliev/rtty-soda/blob/main/tests/te...

2. For the salt, I intentionally avoid asking the user for an additional input. Instead, I hash a fixed long quote from Henry Fielding together with the user password. The assumption is that combining a short password with a long, fixed string still provides sufficient entropy for the KDF input and forces an attacker to recompute rainbow tables with the quote included, rather than reuse generic ones.

These tradeoffs are deliberate. I’m open to critique, especially if there’s a way to improve this without increasing UX complexity.

Show HN: rtty-soda – CLI frontend to NaCl (PyNaCl) for encrypting small files

https://github.com/theosaveliev/rtty-soda

I tried to make the best CLI for interfacing with PyNaCl primitives, especially with KDF.I don’t expect your trust; I focused on making the code readable for review. I haven’t reviewed the underlying libraries.I included some silly examples in the README — I hope you enjoy them and have as much fun using it as I did while building it.It’s focused on small files: not for large blobs, but great...

( Read More... | 2 comments | 2 points | on HN )