Hi,

It does not incorporate the SuSE bcrypt implementation as requested by
"Ed W." because I feel that the implementation is incorrect (it is not really
compatible with the actual bcrypt ($2$ scheme, instead it is $2a$ scheme),
and the OpenBSD/NetBSD/FreeBSD implementations were licensed under terms
which required attribution in printed materials (e.g. Four-clause BSD
license).  It is possible to implement bcrypt, but I feel the best approach
would be to write a new implementation from scratch that covered both variants
of bcrypt.  So I didn't implement it, sorry.

I can't comment on the licence terms right now, but I think you might misunderstand the history of the bcrypt implementations:

$2$ is legacy and went away around 1997

$2a$ was current until around the end of 2011 when a significant flaw was found. Post 2011 it's now ambiguous...

$2x$ is the same as pre 2011 bcrypt where the bug is still definitely present. Only useful for legacy hashes to show that they were generated with the old algorithm (ie mark them as such, but once upgraded generate new with the new algorithm)

$2y$ is the current algorithm going forward

I was under the impression the code I supplied implemented all of the above with the exception of $2$, but I concede I'm scribbling this history without now rechecking...


To repeat the motivation: Lots of web libraries use bcrypt (rightly or wrongly). Adding $2y$ to the libc allows an interesting bunch of applications to automatically acquire bcrypt password checking functionality and suddenly a large bunch of web application users suddenly are encouraged to code password storage more securely... Surely the SHA variant will quickly become popular, but right now we have a general trend to do nothing, so I think it would be great to try and match web apps with libc as of "right now"

Cheers

Ed W
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to