Algebraic Degree and Higher-Order Differentials
Algebraic degree
The algebraic degree of a function is the maximum total degree of its polynomial representation. For a permutation , the algebraic degree is .
Higher-order differentials
The -th order differential of is obtained by iterating the differential operator times. A key property:
This means: if the algebraic degree of the permutation after rounds is , then the -th order differential is zero. If is small enough that evaluations are feasible, this gives a distinguisher.
Degree growth in AO hash functions
For a single full round with S-box and MDS mixing:
- After 1 round: degree
- After 2 rounds: degree
- After rounds: degree (upper bound)
The actual degree can be lower due to:
- Partial rounds (Poseidon): only one element gets the S-box, so the degree increase per partial round is slower
- Degree cancellation: the algebraic structure may cause terms to cancel, reducing the effective degree below
The degree estimation problem
A central open question in AO hash function security: does the actual degree match the upper bound , or does it fall short?
If the actual degree is significantly lower than , the number of rounds needed for security increases. Several papers have studied this for specific constructions:
- Grassi et al. showed that Poseidon's partial rounds have slower degree growth than the naive bound suggests
- Bariant et al. gave tighter degree bounds for the partial round structure
References
- Lai. "Higher Order Derivatives and Differential Cryptanalysis" (1994)
- Grassi. "Algebraic Degree of Poseidon" (2021)
- Bariant et al. "Algebraic Attacks on AO Primitives" (2022)