5 ms·
If it works as suggested, this library binding will be a godsend to frontline developers. Cryptography is exceedingly hard to get right and unfortunately existi
by alexjeffrey 14y ago
If it works as suggested, this library binding will be a godsend to frontline developers. Cryptography is exceedingly hard to get right and unfortunately existing libraries often tend to be written for developers who are already familiar with cryptography. Hopefully this will see the adoption it deserves and we'll see less incidents like the Mega encryption scandal.
- tptacek 14y agoNaCL/Sodium would not have been deployable in Mega's design. I agree with everything else you say, though!
- alexjeffrey 14y agothat's true, but it's the highest-profile encryption drama I could think of - a more appropriate example would probably be the onslaught of companies which are storing passwords in plaintext or simple MD5 hashes.
- tptacek 14y agoHate to keep doing this to you† but you don't need anything like NaCL to solve that problem; just use bcrypt. Every development environment has a bcrypt. Good example of a flaw mitigated by NaCL: the CBC padding oracle attack. † Caveat: no I don't
- alexjeffrey 14y agoOK you caught me - I don't have any relevant examples :)
- jedisct1 14y agoAs pointed out by @bascule, Sodium will ship with the winning function of the Password Hashing Competition.
- missinginaction 14y agoUnfortunately, like NaCl, it's missing 2 common and critical functions: 1. Password-based key derivation 2. Persistent key storage So developers are still expected to work out those 2 problems and will reliably screw them up.
- bascule 14y agoSodium will ship whatever algorithm wins the upcoming Password Hashing Competition: https://password-hashing.net/ https://password-hashing.net/
- mpyne 14y agoI thought the first one was solved at least 3 different ways over now, and that we should just pick one of [bcrypt, PBKDF2, scrypt]?
- jedisct1 14y agoSee this excellent presentation by Solar Designer on this very topic: http://www.openwall.com/presentations/Passwords12-The-Future-Of-Hashing/ http://www.openwall.com/presentations/Passwords12-The-Future...
- tptacek 14y agoThat still really is the answer for password hashes. The right ordering is scrypt, bcrypt, PBKDF2, but even if you choose PBKDF2 you're still worlds better than salted hashes. It makes sense for NaCL/Sodium to just pick one, though, and it makes sense for the choice to come from the hash contest.
- tel 14y agoOkay, that's where I'm at these days. What is the right way to do persistent key storage?
- qznc 14y agoPersistence means storing it in a file or database. Not a job for library of primitives.
- 14y ago