5 ms·
1) Taking longer is not an indication of strength of the algorithm. Just like banging your head into a wall, multiple times isn't the best way to pass through
by mey 17y ago
1) Taking longer is not an indication of strength of the algorithm. Just like banging your head into a wall, multiple times isn't the best way to pass through it.
2) bcrypt does not appear to be well documented, well analyzed, or well maintained in the security community. Security through obscurity is not a good thing, as you have no idea what your exploitation window looks like.
3) If your goal is to limit the effect of rainbow tables, and not storing the password in the clear, and do not need to retrieve the original password, the ideal solution is to store a hashed password on disk and a salt for that hash. Thus your salt rotates for every password created/saved and you recovery of all passwords requires a rainbow table for every password. Not a simple task.
4) Lastly, you should make yourself familiar with the security risk of any system you use. For example, you shouldn't generally be using MD5 anymore...
- Chronos 17y ago"1) Taking longer is not an indication of strength of the algorithm. Just like banging your head into a wall, multiple times isn't the best way to pass through it." You do realize that this is how all modern "cryptographically secure" hash functions work, right? For that matter, so do the symmetric-key block ciphers that hashes are closely related to. All of them simply use S-boxes to obfuscate the numbers, followed by repeated "rounds" of simple bitwise primitives (bitshift, and, xor, perhaps addition modulo a power of 2). There's no inherent mathematical reason why combinations of these simple functions should be strong, when each function individually is weak. This is precisely why cryptography is such a tricky field to work in.
- mey 17y agoAgain, the "rounds" do not indicate execution time, thus execution time is not a good determination of how "secure" a hashing function is. There is inherent mathematical reasons why the combinations of the functions should be strong. It's why s-boxes are accepted practice. Agreed, cryptography is a tricky field. All the more reason to stick to systems that are carefully reviewed by experts smarter them myself and you.
- ehsanul 17y agoTaking longer is not an indication of strength of the algorithm ...you shouldn't generally be using MD5 I thought md5 is discouraged precisely because it is so fast to compute, hence allowing brute-force attacks to succeed in relatively short times.
- Confusion 17y ago1) Taking longer is not an indication of strength of the algorithm Is anyone arguing it is?
- mey 17y agoThe author of the article
- oomkiller 17y ago1) The ability to make it more computationally expensive allows your hashing scheme to scale with Moore's law. 2) BCrypt's documentation lives here: http://www.usenix.org/events/usenix99/provos/provos_html/index.html http://www.usenix.org/events/usenix99/provos/provos_html/ind... 3) bcrypt-ruby handles this for you automatically, it works quite well, and the documentation tells you how it works: http://bcrypt-ruby.rubyforge.org/ http://bcrypt-ruby.rubyforge.org/