Daniel J. Bernstein
Daniel J. Bernstein | |
---|---|
Born |
East Patchogue, New York[1] | October 29, 1971
Nationality | American, German[1] |
Fields |
Mathematics, Cryptography, Computer Security |
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, Salsa20, ChaCha20, Poly1305, Curve25519 |
Website cr |
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 were 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 resolved when Bernstein released the source code of his projects into public domain software in 2007.
Bernstein designed his Salsa20 stream cipher in 2005 and submitted to eSTREAM for review, another variant, ChaCha20, is published by him in 2008. He also designed Curve25519, a public key cryptography scheme based on elliptic curve in 2005, and worked as the lead researcher on its Ed25519 implementation of EdDSA.
Without any adoptions at first, after nearly a decade later, Edward Snowden's disclosure about the mass surveillance by the National Security Agency, especially a backdoor inside Dual_EC_DRBG, suspicions of the NIST's P curve constants[3] led to concerns[4] that the NSA had chosen values that gave them an advantage in factoring[5] public keys.[6] Since then Curve25519 and EdDSA has attracted much attention and became the de facto replacement of NIST P curve. Google has also selected ChaCha20 along with Bernstein's Poly1305 message authentication code as a replacement for RC4 in TLS, which is used for Internet security.[7] Many protocols based on his works have now standardized and are used in a variety of applications, such as Apple iOS,[8] Linux kernel,[9] OpenSSH,[10][11] and Tor.[12]
Early life
He attended Bellport High School, a public high school on Long Island, and graduated at 15 in 1987.[13] The same year, he ranked fifth place in the Westinghouse Science Talent Search.[14] In 1987 (at the age of 16), he achieved a Top 10 ranking in the William Lowell Putnam Mathematical Competition.[15] 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
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.[16]
Software security
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. 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."[17]
In spring 2005 Bernstein taught a course on "high speed cryptography".[18] He demonstrated new results against implementations of AES (cache attacks) in the same time period.[19]
As of April 2008,[20] 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
Bernstein has written a number of security-aware programs, including:
- qmail
- djbdns
- ucspi-tcp
- daemontools
- publicfile
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.[21][22] 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.[23]
In August 2008, Bernstein announced[24] 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,[25] Curve25519 key exchange[26] and ChaCha20-Poly1305 transport cipher (although the transport ciphers are also complemented by AES-CTR).[27][28] Additionally, the cryptography used in OpenBSD for signing releases and packages is based entirely on the algorithms by Bernstein.[29][30] Both the signed releases and the extra crypto in OpenSSH have first appeared in OpenBSD 5.5,[31] which was also the first OpenBSD release to contain any of Bernstein's crypto.
Mathematics
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".[32]
In 2001 Bernstein circulated "Circuits for integer factorization: a proposal,"[33] 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.[34] 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.
In February 2015, Bernstein and others published a paper on stateless post-quantum hash-based signatures, called SPHINCS.[35]
In April 2017, Bernstein and others published a paper on Post-Quantum RSA, which includes an algorithm the paper claims is "often much faster than Shor's".[36]
Other work
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).[37]
He is the primary author of the 2009 book Post-Quantum Cryptography.
Bernstein is also known for his popular string hashing function djb2.[38][39]
See also
- Salsa20, Poly1305-AES, Snuffle, cryptographic primitives designed by Bernstein.
- Curve25519, Ed25519
- CubeHash, Bernstein's submission to the NIST hash function competition.
- SipHash
- Quick Mail Queuing Protocol (QMQP)
- Quick Mail Transport Protocol (QMTP)
- Bernstein v. United States
Notes
- 1 2 Daniel J. Bernstein (2007-01-15). "Curriculum vitae" (pdf). Retrieved March 22, 2017.
- ↑ J. Bernstein, Daniel. "Curriculum vitae" (PDF). cr.yp.to. Retrieved 3 August 2016.
- ↑ https://safecurves.cr.yp.to/
- ↑ Maxwell, Gregory (September 8, 2013). "[tor-talk] NIST approved crypto in Tor?". Retrieved 2015-05-20.
- ↑ "SafeCurves: Rigidity". safecurves.cr.yp.to. Retrieved 2015-05-20.
- ↑ "The NSA Is Breaking Most Encryption on the Internet - Schneier on Security". www.schneier.com. Retrieved 2015-05-20.
- ↑ A. Langley, W. Chang, N. Mavrogiannopoulos, J. Strombergson, S. Josefsson (2015-12-16). "ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS)". Internet Draft.
- ↑ iOS Security Guide
- ↑ Corbet, Jonathan. "Replacing /dev/urandom". Linux Weekly News. Retrieved 2016-09-20.
- ↑ Miller, Damien (2016-05-03). "ssh/PROTOCOL.chacha20poly1305". Super User's BSD Cross Reference: PROTOCOL.chacha20poly1305. Retrieved 2016-09-07.
- ↑ 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.
- ↑ Roger Dingledine & Nick Mathewson. "Tor's Protocol Specifications - Blog". Retrieved 20 December 2014.
- ↑ "New Yorkers Excel In Contest". New York Times. 1987-01-21. Retrieved November 9, 2008.
- ↑ "TWO GIRLS WIN WESTINGHOUSE COMPETITION". New York Times. 1987-01-21. Retrieved March 14, 2011.
- ↑ 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.
- ↑
- ↑ Daniel J. Bernstein (2005-01-07). "Selected Research Activities" (PDF).
- ↑ Daniel J. Bernstein. "MCS 590, High-Speed Cryptography, Spring 2005". Authenticators and signatures. Retrieved September 23, 2005.
- ↑ Daniel J. Bernstein (2004-04-17). "Cache timing attacks on AES" (PDF). cd9faae9bd5308c440df50fc26a517b4.
- ↑ 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.
- ↑ Georgi Guninski (2005-05-31). "Georgi Guninski security advisory #74, 2005". Retrieved September 23, 2005.
- ↑ James Craig Burley (2005-05-31). "My Take on Georgi Guninski's qmail Security Advisories".
- ↑ Daniel J. Bernstein (2009-03-04). "djbdns<=1.05 lets AXFRed subdomains overwrite domains".
- ↑ Daniel J. Bernstein. "High-speed cryptography".
- ↑ Miller, Damien, ed. (2014-12-21). "ssh/sshkey.c#keytypes". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-28.
- ↑ Friedl, Markus (2014-04-29). "ssh/kex.c#kexalgs". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-27.
- ↑ Miller, Damien, ed. (2014-06-24). "ssh/cipher.c#ciphers". BSD Cross Reference, OpenBSD src/usr.bin/. Retrieved 2014-12-27.
- ↑ Murenin, Constantine A. (2014-04-30). Soulskill, ed. "OpenSSH No Longer Has To Depend On OpenSSL". Slashdot. Retrieved 2014-12-26.
- ↑ Unangst, Ted (2014-11-20). krw, ed. "signify.c". BSD Cross Reference, OpenBSD src/usr.bin/signify/. Retrieved 2014-12-28.
- ↑ Murenin, Constantine A. (2014-01-19). Soulskill, ed. "OpenBSD Moving Towards Signed Packages — Based On D. J. Bernstein Crypto". Slashdot. Retrieved 2014-12-27.
- ↑ Murenin, Constantine A. (2014-05-01). timothy, ed. "OpenBSD 5.5 Released". Slashdot. Retrieved 2014-12-27.
- ↑ Daniel J. Bernstein (2001-08-11). "Multidigit multiplication for mathematicians".
- ↑ Daniel J. Bernstein (2001-11-09). "Circuits for integer factorization: a proposal".
- ↑ Arjen K. Lenstra; Adi Shamir; Jim Tomlinson; Eran Tromer (2002). "Analysis of Bernstein's Factorization Circuit". proc. Asiacrypt. LNCS 2501: 1–26.
- ↑ https://sphincs.cr.yp.to/
- ↑ https://cr.yp.to/papers/pqrsa-20170419.pdf
- ↑
- ↑ Yigit, Ozan. "String hash functions".
- ↑ "Hash function constants selection discussion".
Further reading
- Daniel J. Bernstein. "MCS 494: UNIX Security Holes". Unix. Retrieved September 23, 2005.
- Lemos, Robert (2004-12-15). "Students uncover dozens of Unix software flaws". News.com.
- "DJB Announces 44 Security Holes In *nix Software". Slashdot. 2004-12-15.
- Daniel J. Bernstein. "Some thoughts on security after ten years of qmail 1.0" (PDF). Retrieved December 19, 2007.
- Daniel J. Bernstein. "DNSCurve: Usable security for DNS". Retrieved August 31, 2008.
External links
Wikimedia Commons has media related to Daniel J. Bernstein. |
Wikiquote has quotations related to: Daniel J. Bernstein |
- Official website
- DJBFFT
- Daniel Bernstein on the Faculty Page at UIC
- Faculty page at Eindhoven University of Technology
- Daniel J. Bernstein at the Mathematics Genealogy Project