Matthew Green:I’ve never seen so many broken things in one simple piece of code
threadreaderapp.com
threadreaderapp.com
https://people.eecs.berkeley.edu/~daw/papers/ddj-netscape.ht...
Kaspersky re-implemented a famous cryptographic vulnerability from that era in a modern product. :-(
This is the original post by Bruce Schneier that helped me find it:
https://www.schneier.com/blog/archives/2021/07/vulnerability...
It reads as someone smug just saying, “No, you idiot.” And they literally use “WTF,” as if it’s some statement of authority.
Further, that’s not even the right application of “don’t roll your own crypto,” reducing the credibility of the article.
“Don’t roll your own crypto” comes from people suggesting that you don’t implement your own copy of, say Diffie–Hellman key exchange, not making some calls to a RNG, which is ridiculously far more trivial.
Why always use X? Why never use Y? If you can’t articulate it, you’re not teaching anything.
And this guy supposedly teaches, too. What a shame.
Tell me: if you read this article and took away not to ever use floats in cryptography, can you tell me why? No? Interesting.
Based on the context and how it's written, I get the feeling he never intended it to be a full fledged article, just some tweets, then it grew organically from there. This was never an instructional piece of work.
I get this sense from a lot of people in security: smart enough to follow conventional advice, too uneducated to explain why.
This password manager will almost certainly generate basically anything that will get hashed and salted in the end, so it’s all irrelevant as long as it’s basically not outputting passwords from exposed lists, and even then it’s still mostly irrelevant.
I have never once heard of particular passwords being an issue in the industry outside of social engineering or common password lists. Completely irrelevant. It’s almost always data breaches.
Never does it hit the news that 3.5 million password were cracked due to hackers reverse engineering the time the accounts were created against popular password managers.
What nonsense.
If you simply generated a password from /dev/urandom, it would have almost as much consequence as whatever they’re doing here.
Edit: The source article referenced is the only thing meaningful, which explains the severity, everyone else commenting on it was a dope.
Seeding the random number generator with the current time, measured in seconds, removes any element of randomness from the password generator. It makes it straightforward to produce a list of every password that this software has ever generated, or will generate in the future.