3 ms·
Is his salt even really a salt? I thought salts had to be different every time to actually meaningfully prevent precomputing a dictionary.
by durin42 17y ago
Is his salt even really a salt? I thought salts had to be different every time to actually meaningfully prevent precomputing a dictionary.
- khafra 17y agoA salt is different than a nonce. Either one hampers time-space tradeoff attacks significantly. http://en.wikipedia.org/wiki/Salt_(cryptography) http://en.wikipedia.org/wiki/Salt_(cryptography) http://en.wikipedia.org/wiki/Cryptographic_nonce http://en.wikipedia.org/wiki/Cryptographic_nonce
- tptacek 17y agoI don't know why you'd debate trivia when his key derivation function is just MD5(keystream), and even that is optional (why-oh-why would you have a "bool useHashing"?). In this case, the "salt" is completely irrelevant, because there's no precomputed dictionary you can build for this function. But I still dispute that a distinction needs to be drawn between the word "salt" and "nonce".
- durin42 17y agoPersonally, I was curious. Why doesn't a distinction need to be made between a random salt and the same salt used every time? Don't they have dramatically different results in terms of security? And yeah, his choice of MD5 is an abomination, but that wasn't something that I thought was even nonobvious.
- amalcon 17y agoIf you're trying to crack a specific password, there's no difference: you still need to hash (password + salt) for all passwords. If you're trying to crack all passwords out of a database, however, you need to hash (password + salt) for all salt. In the latter case, increasing the number of distinct salts in use increases the time-complexity of cracking, without doing anything to the time-complexity of authentication (though requiring O(n) space).