Do square or cube roots have properties that make them a better choice over, for example, the primes themselves? Or is it arbitrary - would random numbers work as effectively?
-
6$\begingroup$ These are clearly intended as Nothing up my sleeve numbers. $\endgroup$– CodesInChaosCommented Nov 30, 2016 at 14:38
-
2$\begingroup$ See also How to choose constants in a cryptographic function? $\endgroup$– mikeazoCommented Nov 30, 2016 at 15:51
-
$\begingroup$ related crypto.stackexchange.com/questions/10829/… $\endgroup$– Richie FrameCommented Nov 30, 2016 at 21:13
1 Answer
This is more of a humanist rather than mathematical answer, but the design of a cryptographic primitive cannot be abstracted away from the human condition.
Knowing some research methodology, there will be a great deal of one up manship taking place. There is a powerful motivation to produce something innovative that acts as a differentiator (marketing wise not cryptographic wise) for your particular work. The underlying idea of the 'nothing up my sleeve' number is to form a (proven) dissociation between the value of the constant for cryptography and the source of the numbers. E.g. It is unlikely that the sine wave can have any effect on the behaviour of a hash function**. Similarly prime numbers are unlikely to have any deleterious effect on mixing rounds.
Clearly a string of zeros might be counter productive, but pi digits are proven as random. Cube roots of primes are just bravado. You could just as well use the ASCII values of the names of the planets. That would be at least noteworthy and hopefully more inventive than the next designer's constants. The Million Dollar elliptic curve is probably the most blatant form of such showmanship.
**Note. It would be interesting as to how close to the 'knuckle' this could be taken. What if IVs or constants were somehow derived very tightly from powers of two for example?
-
$\begingroup$ The most simple constants I have seen are those used by Keccak, which are 64-bit values from a LFSR comprised mostly of 0 bits $\endgroup$ Commented Dec 1, 2016 at 7:16
-
$\begingroup$ @RichieFrame Are you referring to my note? What I meant is that powers of 2 is very much like binary multiplication and shift operations. That's what mixing functions do. That's getting to be a very close association between constants and their usage. This could(?) significantly affect the behaviour. $\endgroup$ Commented Dec 1, 2016 at 11:38