Ben Adida
benlog.com · Personal blog · on HN since 2008
Ben Adida is a cryptographer who writes about web security, cryptography mistakes, voting, and engineers' responsibility.
What HN saysHN commenters cite his explanation of why not to hash secrets, recommending HMAC, and his three kinds of crypto essay.
28HN people shared it
9linked it in comments
31stories submitted
604story points
4 years agolast shared
2008people per year2026
Most-shared posts
- 1Don’t Hash Secrets4 people · 188 points · first shared 2010 · 46 comments on HN
- 2Don't Hash Secrets (2008)3 people · 2 points · first shared 2014 · discussion on HN
- 3encryption is not gravy2 people · 61 points · first shared 2012 · 43 comments on HN
- 4Crypto as in Crypto2 people · 31 points · first shared 2018 · 23 comments on HN
- 5The responsibility we have as software engineers1 people · 193 points · first shared 2015 · 130 comments on HN
- 6"If you’re outraged by accidental breaches, you’d better sit down"1 people · 58 points · first shared 2010 · 19 comments on HN
- 7Steve Jobs's slight of hand1 people · 23 points · first shared 2010 · 9 comments on HN
- 8Ben Adida on Dropbox security: "grab the pitchforks… again"1 people · 16 points · first shared 2011 · 6 comments on HN
- 9Why I’m switching to Yahoo Search1 people · 10 points · first shared 2008 · 4 comments on HN
- 10Letter to President Obama on Surveillance and Freedom1 people · 4 points · first shared 2013 · discussion on HN
- 11“It’s a tradeoff” and other uni-dimensional thinking1 people · 2 points · first shared 2010 · 3 comments on HN
- 12Facebook, the Control Revolution, and the Failure of Applied Modern Cryptography1 people · 2 points · first shared 2011 · discussion on HN
- 13With great power…1 people · 2 points · first shared 2011 · discussion on HN
- 14Firefox is the Unlocked Browser1 people · 2 points · first shared 2013 · discussion on HN
- 15Security is hard, let’s improve the conversation1 people · 2 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
sweis · 2009-11-05
Check out Ben Adida's posts about the audit process: http://benlog.com
mspecter · 2020-03-20
To put this in short-hand: "We bank online, we buy all sorts of stuff online, why not vote?"
The biggest reason is that banking and other financial transactions have a very different threat model from voting.
In particular, voting requires a secret ballot. In addition to preventing an adversary from learning how you voted, a secret ballot requires you to be unable to prove how you voted, to prevent vote selling and coercion.
So, unlike financial transactions, how you do validation / remediation of failures is very unclear. Ben Adida has a blog post with further thoughts here (https://benlog.com/2007/03/02/on-voting-banking-and-bad-analogies/).
jameshart · 2018-06-13
How does the server verify that the salt it receives in the second request is the same salt it generated in the first response? Does the server have to retain state?
Also you should maybe read https://benlog.com/2008/06/19/dont-hash-secrets/
kumar303 · 2014-02-23
There are many things wrong with this article. You can't hash secrets like this because hash functions are iterative. You should be using HMAC. Here's a good explanation http://benlog.com/2008/06/19/dont-hash-secrets/
schoen · 2014-02-12
I think the difference between you and tptacek here is basically about this:
http://benlog.com/2014/01/03/there-are-3-kinds-of-crypto/
Google has done an enormous amount to improve and deploy what Ben Adida called "b2c crypto" -- typically turning it on months to years ahead of its main competitors, and actively supporting work on making it stronger. But they've done almost nothing to encourage the use of "p2p crypto" in Adida's sense, at least not as a product feature.
I support the widespread routine use of p2p crypto, but I think Google deserves credit for what it has done. That includes making b2c crypto "routine" for most products, which does have direct effects on dragnet surveillance.
fpgeek · 2013-06-13
> The only solution to a private internet is to fully embrace cryptography for all our communications.
Mozilla (or at least the Mozilla employee that wrote the OP) does not believe that: http://benlog.com/articles/2012/04/30/encryption-is-not-gravy/
Personally, I think that argument is right. "Complete" encryption has usability tradeoffs many people will refuse to make. And I get that. Emotionally, it frustrates me that I can't store my Google Authenticator key in Google Drive even though I understand exactly why that would break two-factor authentication.
wmf · 2011-04-19
It's a commentary on the Comodo hack and the sad state of SSL CAs that led to it: there are too many CAs and their processes are too weak, so what's the harm from one more?
http://benlog.com/articles/2011/03/30/intelligently-designing-trust/
bengiuliano · 2010-01-29
But no, you can't re-hash with a new salt without access to the plain-text password. If you could, so could the bad guy :)
Yes you can, if you believe this: http://benlog.com/articles/2008/06/19/dont-hash-secrets/
This is exactly why HMAC is more complicated than just:
hash(message+secret)