1

In general terms, NORX works combining a cryptographic hash function and an stream cipher. At the end of an encryption operation you end with a ciphered message plus its authenticated hash. If you call AEADEnc() whith a zero length secret and postfix message, you basically get a hash function for each $(key, nonce)$ pair.

My question is, given a fixed and public $(key, nonce)$ pair, can NORX AEADEnc() work as a secure cryptographic hash function?

user3368561
  • 623
  • 5
  • 13

1 Answers1

4

What security goals are you hoping for?

If NORX is a secure nonce-based AEAD as advertised (which it may or may not be—CAESAR dropped it and it's not widely deployed, so there's little incentive to study it), then what it will guarantee, as a nonce-based MAC, is antiforgery. Specifically, no cost-limited adversary who can query an oracle ‘NORX-MAC’ for a single message under a single nonce can forge an authenticator for another message under that nonce.

But, for this security goal, there are much faster choices like Poly1305-AES. If you want a stronger security goal, like a nonceless MAC or a PRF such as HMAC-SHA256 or keyed BLAKE2s or KMAC256 are conjectured to be, NORX may or may not provide that: it's not advertised as a security goal of NORX. If you're looking for collision resistance, it's unlikely that you'll find it in NORX as is.

Squeamish Ossifrage
  • 49,816
  • 3
  • 122
  • 230