The Spritz cipher is a "sponge-like" construction that the authors show can be used as a hash, MAC, stream cipher, re-seedable pseudo random number generator, and/or an authenticated cipher.

Apart from some internal control variables, there is an array of size N (call it the state : I set N = 256 for this discussion).

The state is initialized to the identity permutation (ie: s [0] = 0 , s [1] = 1 , ...).

For those modes that require a secret key, the authors first "absorb" the secret key and then "squeeze" out the mask bits and/or a digest.

It occurred to me that by choosing the initial permutation state randomly, would I not be able to consider this as a key in and of itself?

This would allow me to have the full domain of possible keys to choose from (256! in this case).

An example of the MAC mode :

  • Initialize state S with secret permutation (the key)
  • Absorb the message text
  • Absorb STOP
  • Absorb message digest size (in bytes)
  • Squeeze out digest

Are there any security issues raised by doing this?

Would this affect any of the other modes of operation that the authors prescribe?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.