Security Notions
Standard hash function security
For a hash function :
- Preimage resistance: given , find such that . Cost should be .
- Second preimage resistance: given , find such that . Cost should be .
- Collision resistance: find any such that . Cost should be (birthday bound).
Security for AO hash functions over
When the hash function operates over , the security is bounded by bits per field element in the capacity.
For a sponge with capacity field elements over where :
- Collision resistance: bits
- Preimage resistance: bits
Permutation security
The underlying permutation should behave as a random permutation. Concretely:
- No structural distinguisher faster than
- No shortcut for inverting (needed for preimage attacks on the sponge)
Algebraic security criteria
Beyond classical notions, AO permutations must resist algebraic attacks. The key metrics are:
Algebraic degree
After rounds, the output should have maximal algebraic degree as a polynomial in the input variables. If the degree grows too slowly, the permutation is vulnerable to higher-order differential attacks.
Number of monomials
The number of monomials in the polynomial representation should grow exponentially with the number of rounds.
Groebner basis complexity
Solving the system of polynomial equations using Groebner basis methods should require operations, where is the security parameter.
See the attacks section for detailed treatment of each criterion.