Jump to content

Daniel J. Bernstein

From Wikipedia, the free encyclopedia
(Redirected from DJ Bernstein)
Daniel J. Bernstein
Born (1971-10-29) October 29, 1971 (age 52)
CitizenshipAmerican, German[1]
Alma materUniversity of California, Berkeley
New York University
Known forqmail, djbdns, Salsa20, ChaCha20, Poly1305, Curve25519
Scientific career
FieldsMathematics, Cryptography,
Computer Security
InstitutionsUniversity of Illinois at Chicago, Eindhoven University of Technology, Ruhr University Bochum
Doctoral advisorHendrik Lenstra

Daniel Julius Bernstein (sometimes known as djb; born October 29, 1971) is an American mathematician, cryptologist, and computer scientist. He is a visiting professor at CASA[2] at Ruhr University Bochum, as well as a research professor of Computer Science at the University of Illinois at Chicago. Before this, he was a visiting professor in the department of mathematics and computer science at the Eindhoven University of Technology.[citation needed]

Early life[edit]

Bernstein attended Bellport High School, a public high school on Long Island, graduating in 1987 at the age of 15.[3] The same year, he ranked fifth 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] and was a member of the second-place team from Princeton University the following year.[6] Bernstein earned a B.A. in mathematics from New York University (1991) and a Ph.D. in mathematics from the University of California, Berkeley (1995), where he studied under Hendrik Lenstra.[citation needed]

Bernstein v. United States[edit]

The export of cryptography from the United States was controlled as a munition starting from the Cold War until recategorization in 1996, with further relaxation in the late 1990s.[7] In 1995, Bernstein brought the court case Bernstein v. United States. The ruling in the case declared that software was protected speech under the First Amendment, which contributed to regulatory changes reducing controls on encryption.[8] Bernstein was originally represented by the Electronic Frontier Foundation.[9] He later represented himself.[10]


Bernstein designed the Salsa20 stream cipher in 2005 and submitted it to eSTREAM for review and possible standardization. He later published the ChaCha20 variant of Salsa in 2008. In 2005, he proposed the elliptic curve Curve25519 as a basis for public-key schemes. He worked as the lead researcher on the Ed25519 version of EdDSA. The algorithms made their way into popular software. For example, since 2014, when OpenSSH is compiled without OpenSSL they power most of its operations, and OpenBSD package signing is based on Ed25519.[11][12]

Nearly a decade later, Edward Snowden disclosed mass surveillance by the National Security Agency, and researchers discovered a backdoor in the Agency's Dual EC DRBG algorithm. These events raised suspicions of the elliptic curve parameters proposed by NSA and standardized by NIST.[13] Many researchers feared[14] that the NSA had chosen curves that gave them a cryptanalytic advantage.[15][16] Google selected ChaCha20 along with Bernstein's Poly1305 message authentication code for use in TLS, which is widely used for Internet security.[17] Many protocols based on his works have been adopted by various standards organizations and are used in a variety of applications, such as Apple iOS,[18] the Linux kernel,[19] OpenSSH,[20][21] and Tor.[22]

In spring 2005, Bernstein taught a course on "high speed cryptography."[23] He introduced new cache attacks against implementations of AES in the same time period.[24]

In April 2008,[25] 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.

He is one of the editors of the 2009 book Post-Quantum Cryptography.[26]


Starting in the mid-1990s, Bernstein wrote a number of security-aware programs, including qmail, ezmlm, djbdns, ucspi-tcp, daemontools, and publicfile.

Bernstein criticized the leading DNS package at the time, BIND, and wrote djbdns as a DNS package with security as a primary goal.[27] Bernstein offers "security guarantees" for qmail and djbdns in the form of monetary rewards for the identification of flaws.[28][29] A purported exploit targeting qmail running on 64-bit platforms was published in 2005,[30][31] but Bernstein believes that the exploit does not fall within the parameters of his qmail security guarantee. In March 2009, Bernstein awarded $1000 to Matthew Dempsky for finding a security flaw in djbdns.[32]

In August 2008, Bernstein announced[33] DNSCurve, a proposal to secure the Domain Name System. DNSCurve applies techniques from elliptic curve cryptography with the goal of providing a vast increase in performance over the RSA public-key algorithm used by DNSSEC. It uses the existing DNS hierarchy to propagate trust by embedding public keys into specially formatted, backward-compatible DNS records.

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

Bernstein is also known for his string hashing function djb2[35][36] and the cdb database library.[37]


Bernstein has published a number of papers on mathematics and computation. Many of his papers deal with algorithms or implementations.

In 2001, Bernstein circulated "Circuits for integer factorization: a proposal,"[38] which suggested that, if physical hardware implementations could be brought close to their theoretical efficiency, the then-popular estimates of adequate security parameters might be off by a factor of three. Since 512-bit RSA was breakable at the time, so might be 1536-bit RSA. Bernstein was careful not to make any actual predictions, and emphasized the importance of correctly interpreting asymptotic expressions. Several prominent researchers (among them Arjen Lenstra, Adi Shamir, Jim Tomlinson, and Eran Tromer) disagreed strongly with Bernstein's conclusions.[39] Bernstein has received funding to investigate whether this potential can be realized.[citation needed]

Bernstein is also the author of the mathematical libraries DJBFFT, a fast portable FFT library, and 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 in the search for large prime numbers.[citation needed]

In 2007, Bernstein proposed the use of a (twisted) Edwards curve, Curve25519, as a basis for elliptic curve cryptography; it is employed in Ed25519 implementation of EdDSA.[citation needed]

In February 2015, Bernstein and others published a paper on a stateless post-quantum hash-based signature scheme called SPHINCS.[40] In July 2022, SPHINCS+, a signature scheme adapted from SPHINCS by Bernstein and others, was one of four algorithms selected as winners of the NIST Post-Quantum Cryptography Standardization competition. It was the only hash-based algorithm of the four winners.[41][42]

In April 2017, Bernstein and others published a paper on Post-Quantum RSA that includes an integer factorization algorithm claimed to be "often much faster than Shor's".[43]


In 2004, Bernstein taught a course on computer software security where he assigned each student to find ten vulnerabilities in published software.[44] The 25 students discovered 44 vulnerabilities, and the class published security advisories about the issues.[44]

See also[edit]


  1. ^ a b Bernstein, Daniel J. "Curriculum vitae" (PDF). cr.yp.to. Retrieved 20 March 2019.
  2. ^ "Team CASA". Retrieved 22 February 2021.
  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. Vol. 95, no. 8. pp. 717–727. JSTOR 2322251.
  6. ^ L. F. Klosinski; G. L. Alexanderson; L. C. Larson (Oct 1989). "The William Lowell Putnam Mathematical Competition". The American Mathematical Monthly. Vol. 96, no. 8. pp. 688–695. JSTOR 2324716.
  7. ^ Koops, Bert-Jaap (August 2004). "Crypto Law Survey - Overview per country". Bert-Jaap Koops homepage. Retrieved 2019-03-21.
  8. ^ Dame-Boyle, Alison (2015-04-16). "EFF at 25: Remembering the Case that Established Code as Speech". Electronic Frontier Foundation. Retrieved 2019-03-21.
  9. ^ Cassidy, Peter (1996-06-01). "Reluctant Hero". Wired. ISSN 1059-1028. Retrieved 2019-03-21.
  10. ^ "Plaintiff's Notice Of Substitution of Counsel" (PDF). 2002-10-07. Retrieved 2019-03-20.
  11. ^ Murenin, Constantine A. (2014-04-30). Soulskill (ed.). "OpenSSH No Longer Has To Depend On OpenSSL". Slashdot. Retrieved 2014-12-26.
  12. ^ Murenin, Constantine A. (2014-01-19). Soulskill (ed.). "OpenBSD Moving Towards Signed Packages — Based On D. J. Bernstein Crypto". Slashdot. Retrieved 2014-12-27.
  13. ^ Bernstein, Daniel J.; Lange, Tanja (2017-01-22). "SafeCurves: choosing safe curves for elliptic-curve cryptography". Retrieved 2019-03-20.
  14. ^ Maxwell, Gregory (September 8, 2013). "[tor-talk] NIST approved crypto in Tor?". Retrieved 2015-05-20.
  15. ^ "SafeCurves: Rigidity". safecurves.cr.yp.to. Retrieved 2015-05-20.
  16. ^ "The NSA Is Breaking Most Encryption on the Internet - Schneier on Security". www.schneier.com. Retrieved 2015-05-20.
  17. ^ A. Langley; W. Chang; N. Mavrogiannopoulos; J. Strombergson; S. Josefsson (2015-12-16). "ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS)". Internet Draft.
  18. ^ iOS Security Guide
  19. ^ Corbet, Jonathan. "Replacing /dev/urandom". Linux Weekly News. Retrieved 2016-09-20.
  20. ^ Miller, Damien (2016-05-03). "ssh/PROTOCOL.chacha20poly1305". Super User's BSD Cross Reference: PROTOCOL.chacha20poly1305. Retrieved 2016-09-07.
  21. ^ Murenin, Constantine A. (2013-12-11). Unknown Lamer (ed.). "OpenSSH Has a New Cipher — Chacha20-poly1305 — from D.J. Bernstein". Slashdot. Retrieved 2016-09-07.
  22. ^ Roger Dingledine & Nick Mathewson. "Tor's Protocol Specifications - Blog". Retrieved 20 December 2014.
  23. ^ Daniel J. Bernstein. "MCS 590, High-Speed Cryptography, Spring 2005". Authenticators and signatures. Retrieved September 23, 2005.
  24. ^ Daniel J. Bernstein (2004-04-17). "Cache timing attacks on AES" (PDF). cr.yp.to.
  25. ^ 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). Archived from the original (PDF) on August 13, 2012. Retrieved April 28, 2010.
  26. ^ Bernstein, Daniel J.; Buchmann, Johannes; Dahmen, Erik, eds. (2009). Post-Quantum Cryptography. Berlin Heidelberg: Springer-Verlag. doi:10.1007/978-3-540-88702-7. ISBN 978-3-540-88701-0. S2CID 24166515.
  27. ^ Bauer, Michael D. (2005). Linux Server Security. "O'Reilly Media, Inc.". pp. 172–173. ISBN 978-0-596-00670-9.
  28. ^ Hagen, William von (2007-03-26). Ubuntu Linux Bible. John Wiley & Sons. p. 769. ISBN 978-0-470-12454-3.
  29. ^ Binnie, Chris. "Lighten Your DNS Load with TinyDNS". ADMIN Magazine. Retrieved 2019-03-21.
  30. ^ Georgi Guninski (2005-05-31). "Georgi Guninski security advisory #74, 2005". Retrieved September 23, 2005.
  31. ^ James Craig Burley (2005-05-31). "My Take on Georgi Guninski's qmail Security Advisories". Archived from the original on 2007-08-25. Retrieved 2007-08-24.
  32. ^ Daniel J. Bernstein (2009-03-04). "djbdns<=1.05 lets AXFRed subdomains overwrite domains". Archived from the original on 2009-03-05. Retrieved 2009-03-04.
  33. ^ Daniel J. Bernstein. "High-speed cryptography".
  34. ^ "Internet Mail 2000". cr.yp.to. Archived from the original on 25 January 2023. Retrieved 13 March 2023.
  35. ^ Yigit, Ozan. "String hash functions".
  36. ^ "Hash function constants selection discussion".
  37. ^ "cdb".
  38. ^ Daniel J. Bernstein (2001-11-09). "Circuits for integer factorization: a proposal". cr.yp.to.
  39. ^ Arjen K. Lenstra; Adi Shamir; Jim Tomlinson; Eran Tromer (2002). "Analysis of Bernstein's Factorization Circuit". Proc. Asiacrypt. LNCS 2501: 1–26.
  40. ^ https://sphincs.cr.yp.to/
  41. ^ "NIST Announces First Four Quantum-Resistant Cryptographic Algorithms". NIST. 2022-07-05.
  42. ^ Computer Security Division, Information Technology Laboratory (2017-01-03). "Selected Algorithms 2022 - Post-Quantum Cryptography | CSRC | CSRC". CSRC | NIST. Retrieved 2024-03-27.
  43. ^ "Post-quantam RSA" (PDF). cr.yp.to. Retrieved June 11, 2024.
  44. ^ a b Lemos, Robert (2004-12-16). "Students uncover dozens of Unix software flaws". CNET. Retrieved 2019-03-21.

External links[edit]