| The yescrypt code comes from yescrypt by Solar Designer <solar at |
| openwall.com>. It builds upon Colin Percival's scrypt. |
| See: http://openwall.com/yescrypt/ for reference. |
| |
| The bcrypt hash module comes from crypt_blowfish, originally written |
| by Solar Designer <solar at openwall.com> and based on algorithms and |
| ideas by Niels Provos <provos at citi.umich.edu> and David Mazieres |
| <dm at lcs.mit.edu>. |
| |
| The MD5, SHA256, and SHA512 hash modules, and the underlying |
| secure-hash primitives, were originally written by Ulrich Drepper |
| <drepper at cygnus.com> as part of the GNU C Library. Other people |
| may also have contributed to them; our records are incomplete. |
| |
| The DES hash module was originally FreeSec, written by David Burren |
| <davidb at werj.com.au> for the NetBSD project, and since extensively |
| modified by Geoffrey M. Rehmet, Mark R V Murray, and Zack Weinberg. |
| |
| The NTHASH module comes from FreeBSD, originally written by Michael |
| Bretterklieber and based on the password hashing algorithm used by |
| the Windows NT LAN Manager (NTLM) from Microsoft Corporation to |
| provide easier compatibility with NT accounts. |
| |
| The SUNMD5 hash module is a clean-room reimplementation by Zack Weinberg, |
| based on a specification written by Eli Collins for the Passlib project, |
| of an algorithm originally developed by Alec Muffett for use in Solaris 9. |
| |
| The crypt and gensalt backends for yescrypt and gost-yescrypt are by |
| Vitaly Chikunov. |
| |
| The implementation of the public interface (crypt, crypt_r, etc) is a |
| mashup of code from the GNU C Library with code from crypt_blowfish, |
| originally put together by Thorsten Kukuk and since completely |
| rewritten by Björn Esser and Zack Weinberg. |
| |
| The above components were assembled into this library by Thorsten Kukuk |
| <kukuk at suse.de>, Björn Esser <besser82 at fedoraproject.org>, and |
| Zack Weinberg <zackw at panix.com>. |