Daniel J. Bernstein

From Wikipedia, the free encyclopedia
  (Redirected from Cr.yp.to)
Jump to: navigation, search
For the American businessman and activist, see Daniel J. Bernstein (businessman).
Daniel J. Bernstein
Dan Bernstein 27C3.jpg
Born (1971-10-29) October 29, 1971 (age 45)
East Patchogue, New York[1]
Nationality American, German[1]
Fields Mathematics
Institutions University of Illinois at Chicago, Eindhoven University of Technology
Alma mater University of California, Berkeley
New York University
Doctoral advisor Hendrik Lenstra
Known for qmail, djbdns, Curve25519

Daniel Julius Bernstein (sometimes known simply as djb; born October 29, 1971) is a German-American[2] mathematician, cryptologist, programmer, and professor of mathematics and computer science at the Eindhoven University of Technology and research professor at the University of Illinois at Chicago.

In the mid 90's internet software was not designed for security, and cryptography was controlled. Bernstein addressed cryptography by suing the United States Government in 1995 Bernstein v. United States and by writing secure software for email, web, and DNS. The software came with a security guarantee that achieved significant status during the 8 years where no bugs were found. Bernstein was merciless in his criticism of then leading email (Sendmail) and dns (Bind) software packages and both the large teams which supported them and people that distributed them. Sendmail and Bind where both significantly less efficient, more difficult to configure and bug prone by design resulting in a regular flow of significant bugs.

His computer software programs qmail, publicfile, and djbdns were released as license-free software. This was used by some of the people that were offended by his criticism to stop the distribution of his software, so that Linux distributions such as Debian which used qmail internally did not distribute qmail. OpenBSD a security focused operating system had the majority of its security exploits as a result of its decision to stay with Sendmail and Bind and removed qmail and djbdns from its ports as part of the license dispute. This issue was removed when all Bernstein's software became public domain software in 2007.

Early life[edit]

He attended Bellport High School, a public high school on Long Island, and graduated at 15 in 1987.[3] The same year, he ranked fifth place in the Westinghouse Science Talent Search.[4] In 1987 (at the age of 16), he achieved a Top 10 ranking in the William Lowell Putnam Mathematical Competition.[5] Bernstein earned his bachelor's degree in mathematics from New York University (1991) and has a PhD in mathematics from the University of California, Berkeley (1995), where he studied under Hendrik Lenstra.

Bernstein v. United States[edit]

Bernstein brought the court case Bernstein v. United States. The ruling in the case declared software as protected speech under the First Amendment, and national restrictions on encryption software were overturned. Bernstein was originally represented by the Electronic Frontier Foundation, but he later represented himself despite having no formal training as a lawyer.[6]

Software security[edit]

In the autumn of 2004, Bernstein taught a course about computer software security, titled "UNIX Security Holes". The sixteen members of the class discovered 91 new UNIX security holes.[citation needed] Bernstein, long a promoter of the idea that full disclosure is the best method to promote software security and founder of the securesoftware mailing list, publicly announced 44 of them with sample exploit code.

Bernstein explained, in 2005, that he is pursuing a strategy to "produce invulnerable computer systems". He plans to achieve this by putting the vast majority of computer software into an "extreme sandbox" that only allows it to transform input into output, and by writing bugfree replacements (like qmail and djbdns) for the remaining components that need additional privileges. He concludes: "I won’t be satisfied until I've put the entire security industry out of work."[7]

In spring 2005 Bernstein taught a course on "high speed cryptography".[8] He demonstrated new results against implementations of AES (cache attacks) in the same time period.[9]

As of April 2008,[10] Bernstein's stream cipher "Salsa20" was selected as a member of the final portfolio of the eSTREAM project, part of a European Union research directive.

In 2011, Bernstein published RFSB, a variant of the Fast Syndrome Based Hash function.

Secure software[edit]

Bernstein has written a number of security-aware programs, including:

Bernstein offers a security guarantee for qmail and djbdns; while some claim there is a dispute over a reported potential qmail exploit, a functioning exploit targeting qmail running on 64-bit platforms has been published.[11][12] Bernstein claims that the exploit does not fall within the parameters of the qmail security guarantee. In March 2009, Bernstein awarded $1000 to Matthew Dempsky for finding a security hole in djbdns.[13]

In August 2008, Bernstein announced[14] DNSCurve, a proposal to secure the Domain Name System. DNSCurve uses techniques from elliptic curve cryptography to give a vast decrease in computational time over the RSA public-key algorithm used by DNSSEC, and uses the existing DNS hierarchy to propagate trust by embedding public keys into specially formatted (but backward-compatible) DNS records.

As of 2014, Bernstein's algorithms are used exclusively in OpenSSH when optionally compiled without OpenSSL for a reduced feature set—Ed25519 key type,[15] Curve25519 key exchange[16] and ChaCha20-Poly1305 transport cipher (although the transport ciphers are also complemented by AES-CTR).[17][18] Additionally, the cryptography used in OpenBSD for signing releases and packages is based entirely on the algorithms by Bernstein.[19][20] Both the signed releases and the extra crypto in OpenSSH have first appeared in OpenBSD 5.5,[21] which was also the first OpenBSD release to contain any of Bernstein's crypto.


Bernstein has published a number of papers on mathematics and computation. Many of his papers deal with algorithms or implementations. He also wrote a survey titled "Multidigit multiplication for mathematicians".[22]

In 2001 Bernstein circulated "Circuits for integer factorization: a proposal,"[23] which caused a stir as it potentially suggested that if physical hardware implementations could be close to their theoretical efficiency, then perhaps current views about the number of bits required to store useful keys might be off by a factor of three, meaning that the numbers themselves are off by a power of three. 512-bit RSA was then breakable, and, therefore, perhaps 1536-bit RSA would be too. Bernstein was careful not to make any actual predictions, and emphasized the importance of correctly interpreting asymptotic expressions. However, several other important names in the field, Arjen Lenstra, Adi Shamir, Jim Tomlinson, and Eran Tromer disagreed strongly with Bernstein's conclusions.[24] Bernstein has received funding to investigate whether this potential can be realized.

He is also the author of the mathematical libraries DJBFFT, a fast portable FFT library, and of primegen, an asymptotically fast small prime sieve with low memory footprint based on the sieve of Atkin rather than the more usual sieve of Eratosthenes. Both have been used effectively to aid the search for large prime numbers.

In algebraic geometry, he introduced in 2007 Twisted Edwards curves that are plane models of elliptic curves, a generalisation of Edwards curves. This is used in its Curve25519 elliptic curve cryptography, and its Ed25519 implementation of EdDSA.

Other work[edit]

Bernstein proposed Internet Mail 2000, an alternative system for electronic mail, intended to replace Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP3) and Internet Message Access Protocol (IMAP).[25]

He is the primary author of a book on post-quantum cryptography.[26]

Bernstein is also known for his popular string hashing function djb2.[27][28]

See also[edit]


  1. ^ a b Daniel J. Bernstein (2007-01-15). "Curriculum vitae" (pdf). Retrieved December 27, 2015. 
  2. ^ J. Bernstein, Daniel. "Curriculum vitae" (PDF). cr.yp.to. Retrieved 3 August 2016. 
  3. ^ "New Yorkers Excel In Contest". New York Times. 1987-01-21. Retrieved November 9, 2008. 
  4. ^ "TWO GIRLS WIN WESTINGHOUSE COMPETITION". New York Times. 1987-01-21. Retrieved March 14, 2011. 
  5. ^ L. F. Klosinski; G. L. Alexanderson; L. C. Larson (Oct 1988). "The William Lowell Putnam Mathematical Competition". The American Mathematical Monthly. 95 (8). pp. 717–727. JSTOR 2322251. 
  6. ^ [1]
  7. ^ Daniel J. Bernstein (2005-01-07). "Selected Research Activities" (PDF). 
  8. ^ Daniel J. Bernstein. "MCS 590, High-Speed Cryptography, Spring 2005". Authenticators and signatures. Retrieved September 23, 2005. 
  9. ^ Daniel J. Bernstein (2004-04-17). "Cache timing attacks on AES" (PDF). cd9faae9bd5308c440df50fc26a517b4. 
  10. ^ Steve Babbage; Christophe De Canniere; Anne Canteaut; Carlos Cid; Henri Gilbert; Thomas Johansson; Matthew Parker; Bart Preneel; Vincent Rijmen; Matthew Robshaw. "The eSTREAM Portfolio" (PDF). Retrieved April 28, 2010. 
  11. ^ Georgi Guninski (2005-05-31). "Georgi Guninski security advisory #74, 2005". Retrieved September 23, 2005. 
  12. ^ James Craig Burley (2005-05-31). "My Take on Georgi Guninski's qmail Security Advisories". 
  13. ^ Daniel J. Bernstein (2009-03-04). "djbdns<=1.05 lets AXFRed subdomains overwrite domains". 
  14. ^ Daniel J. Bernstein. "High-speed cryptography". 
  15. ^ Miller, Damien, ed. (2014-12-21). "ssh/sshkey.c#keytypes". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-28. 
  16. ^ Friedl, Markus (2014-04-29). "ssh/kex.c#kexalgs". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-27. 
  17. ^ Miller, Damien, ed. (2014-06-24). "ssh/cipher.c#ciphers". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-27. 
  18. ^ Murenin, Constantine A. (2014-04-30). Soulskill, ed. "OpenSSH No Longer Has To Depend On OpenSSL". Slashdot. Retrieved 2014-12-26. 
  19. ^ Unangst, Ted (2014-11-20). krw, ed. "signify.c". BSD Cross Reference, OpenBSD src/usr.bin/signify/. Retrieved 2014-12-28. 
  20. ^ Murenin, Constantine A. (2014-01-19). Soulskill, ed. "OpenBSD Moving Towards Signed Packages — Based On D. J. Bernstein Crypto". Slashdot. Retrieved 2014-12-27. 
  21. ^ Murenin, Constantine A. (2014-05-01). timothy, ed. "OpenBSD 5.5 Released". Slashdot. Retrieved 2014-12-27. 
  22. ^ Daniel J. Bernstein (2001-08-11). "Multidigit multiplication for mathematicians". 
  23. ^ Daniel J. Bernstein (2001-11-09). "Circuits for integer factorization: a proposal". 
  24. ^ Arjen K. Lenstra; Adi Shamir; Jim Tomlinson; Eran Tromer (2002). "Analysis of Bernstein's Factorization Circuit". proc. Asiacrypt. LNCS 2501: 1–26. 
  25. ^ [2]
  26. ^ https://www.springer.com/mathematics/numbers/book/978-3-540-88701-0
  27. ^ Yigit, Ozan. "String hash functions". 
  28. ^ "Hash function constants selection discussion". 

Further reading[edit]

External links[edit]