Daniel J. Bernstein

Last updated
Daniel J. Bernstein
Dan Bernstein 27C3.jpg
Born (1971-10-29) October 29, 1971 (age 52)
Nationality American, German [1]
Alma mater University of California, Berkeley
New York University
Known for qmail, djbdns, Salsa20, ChaCha20, Poly1305, Curve25519
Scientific career
Fields Mathematics, Cryptography,
Computer Security
Institutions University of Illinois at Chicago, Eindhoven University of Technology, Ruhr University Bochum
Doctoral advisor Hendrik Lenstra
Website cr.yp.to/djb.html

Daniel Julius Bernstein (sometimes known as djb; born October 29, 1971) is an American German [1] 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 ]

Contents

Early life

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

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]

Cryptography

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]

Software

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]

Mathematics

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]

Teaching

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

Related Research Articles

In cryptography, key size or key length refers to the number of bits in a key used by a cryptographic algorithm.

Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography to provide equivalent security.

<span class="mw-page-title-main">Symmetric-key algorithm</span> Algorithm

Symmetric-key algorithms are algorithms for cryptography that use the same cryptographic keys for both the encryption of plaintext and the decryption of ciphertext. The keys may be identical, or there may be a simple transformation to go between the two keys. The keys, in practice, represent a shared secret between two or more parties that can be used to maintain a private information link. The requirement that both parties have access to the secret key is one of the main drawbacks of symmetric-key encryption, in comparison to public-key encryption. However, symmetric-key encryption algorithms are usually better for bulk encryption. With exception of the one-time pad they have a smaller key size, which means less storage space and faster transmission. Due to this, asymmetric-key encryption is often used to exchange the secret key for symmetric-key encryption.

Articles related to cryptography include:

In cryptography, the Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the Digital Signature Algorithm (DSA) which uses elliptic-curve cryptography.

NTRU is an open-source public-key cryptosystem that uses lattice-based cryptography to encrypt and decrypt data. It consists of two algorithms: NTRUEncrypt, which is used for encryption, and NTRUSign, which is used for digital signatures. Unlike other popular public-key cryptosystems, it is resistant to attacks using Shor's algorithm. NTRUEncrypt was patented, but it was placed in the public domain in 2017. NTRUSign is patented, but it can be used by software under the GPL.

<span class="mw-page-title-main">Nothing-up-my-sleeve number</span> Numbers used by cryptographers to show that they are working in good faith

In cryptography, nothing-up-my-sleeve numbers are any numbers which, by their construction, are above suspicion of hidden properties. They are used in creating cryptographic functions such as hashes and ciphers. These algorithms often need randomized constants for mixing or initialization purposes. The cryptographer may wish to pick these values in a way that demonstrates the constants were not selected for a nefarious purpose, for example, to create a backdoor to the algorithm. These fears can be allayed by using numbers created in a way that leaves little room for adjustment. An example would be the use of initial digits from the number π as the constants. Using digits of π millions of places after the decimal point would not be considered trustworthy because the algorithm designer might have selected that starting point because it created a secret weakness the designer could later exploit—though even with natural-seeming selections, enough entropy exists in the possible choices that the utility of these numbers has been questioned.

<span class="mw-page-title-main">Salsa20</span> Stream ciphers

Salsa20 and the closely related ChaCha are stream ciphers developed by Daniel J. Bernstein. Salsa20, the original cipher, was designed in 2005, then later submitted to the eSTREAM European Union cryptographic validation process by Bernstein. ChaCha is a modification of Salsa20 published in 2008. It uses a new round function that increases diffusion and increases performance on some architectures.

In cryptography, Curve25519 is an elliptic curve used in elliptic-curve cryptography (ECC) offering 128 bits of security and designed for use with the Elliptic-curve Diffie–Hellman (ECDH) key agreement scheme. It is one of the fastest curves in ECC, and is not covered by any known patents. The reference implementation is public domain software.

Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions support important standards of post-quantum cryptography. Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers. Furthermore, many lattice-based constructions are considered to be secure under the assumption that certain well-studied computational lattice problems cannot be solved efficiently.

DNSCurve is a proposed secure protocol for the Domain Name System (DNS), designed by Daniel J. Bernstein. It encrypts and authenticates DNS packets between resolvers and authoritative servers.

Mbed TLS is an implementation of the TLS and SSL protocols and the respective cryptographic algorithms and support code required. It is distributed under the Apache License version 2.0. Stated on the website is that Mbed TLS aims to be "easy to understand, use, integrate and expand".

Post-quantum cryptography (PQC), sometimes referred to as quantum-proof, quantum-safe, or quantum-resistant, is the development of cryptographic algorithms that are thought to be secure against a cryptanalytic attack by a quantum computer. The problem with popular algorithms currently used in the market is that their security relies on one of three hard mathematical problems: the integer factorization problem, the discrete logarithm problem or the elliptic-curve discrete logarithm problem. All of these problems could be easily solved on a sufficiently powerful quantum computer running Shor's algorithm or even faster and less demanding alternatives.

In public-key cryptography, Edwards-curve Digital Signature Algorithm (EdDSA) is a digital signature scheme using a variant of Schnorr signature based on twisted Edwards curves. It is designed to be faster than existing digital signature schemes without sacrificing security. It was developed by a team including Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, and Bo-Yin Yang. The reference implementation is public-domain software.

NaCl is a public domain, high-speed software library for cryptography.

A Secure Shell fingerprint record is a type of resource record in the Domain Name System (DNS) which identifies SSH keys that are associated with a host name. The acquisition of an SSHFP record needs to be secured with a mechanism such as DNSSEC for a chain of trust to be established.

Post-Quantum Cryptography Standardization is a program and competition by NIST to update their standards to include post-quantum cryptography. It was announced at PQCrypto 2016. 23 signature schemes and 59 encryption/KEM schemes were submitted by the initial submission deadline at the end of 2017 of which 69 total were deemed complete and proper and participated in the first round. Seven of these, of which 3 are signature schemes, have advanced to the third round, which was announced on July 22, 2020.

In cryptography, Curve448 or Curve448-Goldilocks is an elliptic curve potentially offering 224 bits of security and designed for use with the elliptic-curve Diffie–Hellman (ECDH) key agreement scheme.

In cryptographic protocol design, cryptographic agility or crypto-agility is the ability to switch between multiple cryptographic primitives.

ChaCha20-Poly1305 is an authenticated encryption with additional data (AEAD) algorithm, that combines the ChaCha20 stream cipher with the Poly1305 message authentication code. Its usage in IETF protocols is standardized in RFC 8439. It has fast software performance, and without hardware acceleration, is usually faster than AES-GCM.

References

  1. 1 2 3 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. https://cr.yp.to/papers/pqrsa-20170419.pdf [ bare URL PDF ]
  44. 1 2 Lemos, Robert (2004-12-16). "Students uncover dozens of Unix software flaws". CNET. Retrieved 2019-03-21.