Nothing-up-my-sleeve number explained

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.

Digits in the positional representations of real numbers such as, e, and irrational roots are believed to appear with equal frequency (see normal number). Such numbers can be viewed as the opposite extreme of Chaitin–Kolmogorov random numbers in that they appear random but have very low information entropy. Their use is motivated by early controversy over the U.S. Government's 1975 Data Encryption Standard, which came under criticism because no explanation was supplied for the constants used in its S-box (though they were later found to have been carefully selected to protect against the then-classified technique of differential cryptanalysis).[1] Thus a need was felt for a more transparent way to generate constants used in cryptography.

"Nothing up my sleeve" is a phrase associated with magicians, who sometimes preface a magic trick by holding open their sleeves to show they have no objects hidden inside.

Examples

Counterexamples

Although not directly related, after the backdoor in Dual_EC_DRBG had been exposed, suspicious aspects of the NIST's P curve constants[14] led to concerns[15] that the NSA had chosen values that gave them an advantage in finding[16] private keys.[17] Since then, many protocols and programs started to use Curve25519 as an alternative to NIST P-256 curve.

Limitations

Bernstein and coauthors demonstrate that use of nothing-up-my-sleeve numbers as the starting point in a complex procedure for generating cryptographic objects, such as elliptic curves, may not be sufficient to prevent insertion of back doors. For example, many candidates of seemingly harmless and "uninteresting" simple mathematical constants exist, such as π, e, Euler gamma, √2, √3, √5, √7, log(2), (1 + √5)/2, ζ(3), ζ(5), sin(1), sin(2), cos(1), cos(2), tan(1), or tan(2). For these constants, there also exists several different binary representations to choose. If a constant is used as a random seed, a large number of hash function candidates also exist for selection, such as SHA-1, SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-256, or SHA3-384.

If there are enough adjustable parameters in the object selection procedure, combinatorial explosion ensures that the universe of possible design choices and of apparently simple constants can be large enough so that an automatic search of the possibilities allows construction of an object with desired backdoor properties.[18]

References

Notes and References

  1. [Bruce Schneier]
  2. RFC 1321 Sec. 3.4
  3. http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf FIPS 180-2: Secure Hash Standard (SHS)
  4. Web site: Blowfish Paper . 2010-06-09 . 2011-09-06 . https://web.archive.org/web/20110906144128/http://www.schneier.com/paper-blowfish-fse.html . live .
  5. Web site: Revision of NEWDES, Robert Scott, 1996 . 2010-06-09 . 2012-11-08 . https://web.archive.org/web/20121108210518/http://groups.google.com/group/sci.crypt/msg/7fb986b231fa9dc5 . live .
  6. Web site: Henri Gilbert . M. Girault . P. Hoogvorst . F. Noilhan . T. Pornin . G. Poupard . J. Stern . S. Vaudenay . Decorrelated Fast Cipher: an AES candidate . May 19, 1998 . . June 9, 2010 . April 9, 2008 . https://web.archive.org/web/20080409235139/http://citeseer.ist.psu.edu/gilbert98decorrelated.html . live .
  7. A. Biryukov . Alex Biryukov . C. De Cannière . J. Lano . B. Preneel . Bart Preneel . S. B. Örs . Security and Performance Analysis of ARIA . Version 1.2 - Final Report . . January 7, 2004 . . June 9, 2010 . July 16, 2011 . https://web.archive.org/web/20110716200503/http://www.cosic.esat.kuleuven.be/publications/article-500.ps . live .
  8. Rivest. R. L.. 1994. The RC5 Encryption Algorithm. Proceedings of the Second International Workshop on Fast Software Encryption (FSE) 1994e. 86 - 96.
  9. Web site: src/lib/libc/crypt/bcrypt.c - diff - 1.3 . 2022-07-05 . cvsweb.openbsd.org . 2022-07-05 . https://web.archive.org/web/20220705191336/https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/bcrypt.c.diff?r1=1.2&r2=1.3&f=h . live .
  10. Web site: hash - Why is the BCrypt text "OrpheanBeholderScryDoubt" . 2022-07-05 . Information Security Stack Exchange . en . 2023-07-10 . https://web.archive.org/web/20230710213551/https://security.stackexchange.com/questions/227459/why-is-the-bcrypt-text-orpheanbeholderscrydoubt . live .
  11. Biryukov. Alex. Perrin. Léo. Udovenko. Aleksei. 2016. Reverse-Engineering the S-box of Streebog, Kuznyechik and STRIBOBr1 (Full Version). Iacr-Eurocrypt-2016. 10.1007/978-3-662-49890-3_15. 2019-03-26. 2023-08-02. https://web.archive.org/web/20230802045902/https://eprint.iacr.org/2016/071. live.
  12. 2007-11-15 . . Did NSA Put a Secret Backdoor in New Encryption Standard? . .
  13. News: Nicole. Perlroth. Government Announces Steps to Restore Confidence on Encryption Standards. September 11, 2013. The New York Times. September 10, 2013. April 23, 2015. https://web.archive.org/web/20150423131626/http://bits.blogs.nytimes.com/2013/09/10/government-announces-steps-to-restore-confidence-on-encryption-standards/?src=twrhp&_r=1&. live.
  14. Web site: SafeCurves: Introduction . 2017-05-02 . 2017-09-05 . https://web.archive.org/web/20170905203243/http://safecurves.cr.yp.to/ . live .
  15. Web site: [tor-talk] NIST approved crypto in Tor?]. September 8, 2013. 2015-05-20. Gregory. Maxwell. 2014-10-02. https://web.archive.org/web/20141002093604/https://lists.torproject.org/pipermail/tor-talk/2013-September/029956.html. live.
  16. Web site: SafeCurves: Rigidity. safecurves.cr.yp.to. 2015-05-20. 2015-05-22. https://web.archive.org/web/20150522224408/http://safecurves.cr.yp.to/rigid.html. live.
  17. Web site: The NSA Is Breaking Most Encryption on the Internet - Schneier on Security. www.schneier.com. 2015-05-20. 2017-12-15. https://web.archive.org/web/20171215132353/https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html#c1675929. live.
  18. https://bada55.cr.yp.to/bada55-20150927.pdf How to manipulate curve standards: a white paper for the black hat