How does bcrypt handle Moore's law?

I saw recommendations for using bcrypt for hash passwords because of its ability to keep up with Moore's law.

Apparently, the reason for this is because it would take an attacker much longer to crack bcrypt hashes than the hash generated by a general-purpose hash function such as SHA256.

How is this possible? How can an algorithm be intentionally slow despite Moore's law?

+5
source share
2 answers

bcrypt is configured with the parameter "coefficient of work". Inside, he will perform a hash-like operation many times in a row. "Many" is the part that can be customized, up to several billion. So, to cope with Mooreโ€™s law, just collapse this setting. Another function that can be done as slowly as required is PBKDF2 (see the Iteration Count option).

Please note that the point of slow password hashing is to make things difficult for an attacker, but also mechanically slows down work for "honest systems"; what a compromise. See details (at security.stackexchange).

+5
source

216 553 .

12 , 887 001 088 (2 29) .

BCrypt 4,342,912 (.. 2 22) ( = 12).

2 31 /; 8 = 2 3 2 3 * 231 = 2 34 /. 4 , 2 2 * 2 34= 2 36 /. 2 22 * 2 29 () = 2 51 () .

, 4-, -, 2 51/2 36= 2 15 (9 ) .

44 . 2 44 * 2 22 = 2 66 . 2 66/2 36 cycles/second = 2 30 (34 ), .

, 18 .

  • : 34 , .
  • 1,5 : 17
  • 3 : 8,5
  • 4.5: 4.25
  • 6 : 2.125
  • 7,5 : 1
  • 9 : 6
  • 10.5 : 3
  • 12 : 6
  • 13,5 : 3
  • 15 : 10
  • 17.5 : 5
  • 19 : 63
  • 20,5 : 31 .

bcrypt .

12 13, .

+5

All Articles