Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.
add comment

2 Answers 2

up vote 3 down vote accepted

A couple of reasons:

  1. The BCrypt-based scheme isn't NIST approved.

  2. Hash functions are designed for this kind of usage, whereas Blowfish wasn't.

  3. The added security is BCrypt is based on it being computationally expensive, rather than the type of algorithm. Relying on computationally expensive operations isn't good for long-term security.

See http://en.wikipedia.org/wiki/Crypt_%28Unix%29 for some discussion on this.

share|improve this answer
5  
Being computationally expensive is exactly why bcrypt is used for this application. –  pdo Apr 10 '11 at 12:11
1  
@rob 4. bcrypt adds a dependency that isn't otherwise there, where sha1 and sha2 are part of glibc –  xenoterracide Apr 10 '11 at 12:39
    
What I said in point 3. –  Rob Apr 10 '11 at 12:40
    
Sorry, I'll be more clear. Being computationally expensive, plus having a configurable number of rounds, is exactly why this is a good scheme for long-term security. It allows the cost of checking the hash to increase as hardware gets faster. The original paper describing bcrypt was actually titled "A Future-Adaptable Password Scheme" (usenix.org/events/usenix99/provos/provos_html) –  pdo Apr 10 '11 at 13:56
    
@pdo I don't consider the ability to increase the number of rounds to negate point 3. It may be that additional rounds cancel each other out in some way w.r.t. future cryptoanalytic attacks on the underlying algorithm. –  Rob Apr 10 '11 at 15:50
show 3 more comments

OpenSUSE 11.4 (at least) does use Bcrypt by default.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.