News for hackers. Stuff that matters.
Re:Vesper 2.0 and Vesper Sync by jgruber on Tuesday May 27, 2014 @05:57PM (#7807133)
We hash the password using pbkdf2. The actual code looks like this:

crypto.pbkdf2(text, salt, ITERATIONS, BYTES, function...

ITERATIONS is 1000, and BYTES is 32.

Our code is descended from the code on this page: http://www.thejoyofcode.com/Exploring_custom_identity_in_Mob...

Re:Vesper 2.0 and Vesper Sync by tptacek on Tuesday May 27, 2014 @06:50PM (#7807373)
That's great; it's the answer I quietly predicted I'd get. If you're communicating to laypeople, you can say something like "we use a modern secure password hash".
Re:Vesper 2.0 and Vesper Sync by zaroth on Wednesday May 28, 2014 @01:51AM (#7808580)
Note, if your crypto.pbkdf2() is using SHA1 underneath, then 1,000 interations of SHA1 is very little computation for a GPU, which can do billions of SHA1 per second.

Also, asking for 32 bytes from PBKDF2-HMAC-SHA1 has some bad side-effects, particularly if you are splitting up the result. (1Password got bitten by this, and wrote up the issue here: http://blog.agilebits.com/wp-content/uploads/2013/07/playing...)

Re:Vesper 2.0 and Vesper Sync by tptacek on Wednesday May 28, 2014 @08:32AM (#7809553)
If by "bitten by this" you mean "had their security reduced by 1 bit", then sure.
Re:Vesper 2.0 and Vesper Sync by zaroth on Thursday May 29, 2014 @02:37AM (#7815042)
I remember it feeling like a bigger deal reading about it at the time, but as you say, you're just throwing away half of the stretching, reducing attack cost by half.