3

In the sponge construction for hash functions, including SHA3 and SHAKE, its used a permutation $$f:\{0,1\}^r\times\{0,1\}^c\to\{0,1\}^r\times\{0,1\}^c\\ \;\quad(R,C)\quad\quad\mapsto\quad\;(R',C')$$ where $r$ is the rate, $c$ is the capacity (with $r+c=1600$ in SHA3 and SHAKE). Function $f$ is iterated with a $r$-bit (padded) message block XORed with $R$. The hash is the first $d$ bits of $R'$ at the last output of $f$ assuming $d\le r$ (for eXtendable Output Functions, it's performed $\lceil d/r\rceil-1$ extra iterations of $f$, and the output is the first $d$ bits of the concatenation of the $R'$ in the last $\lceil d/r\rceil$ iterations of $f$).

In SHA3 with $d$-bit output, it's used $c=2d$. There was some back an forth on that, and by this account, the rationale for $c=2d$ was having $d$ bits of preimage resistance.

Function $d$ $r$ $c$ Collision resistance* Preimage resistance*
$\operatorname{SHA3-224}$ $224$ $1152$ $ 448$ $112$ $224$
$\operatorname{SHA3-256}$ $256$ $1088$ $ 512$ $128$ $256$
$\operatorname{SHA3-384}$ $384$ $ 832$ $ 768$ $192$ $384$
$\operatorname{SHA3-512}$ $512$ $ 576$ $1024$ $256$ $512$
$\operatorname{SHAKE128}$ $ d$ $1344$ $ 256$ $\min(d/2,128)$ $\min(d,128)$
$\operatorname{SHAKE256}$ $ d$ $1088$ $ 512$ $\min(d/2,256)$ $\min(d,256)$

* Stated design goal


  1. How is the stated preimage resistance above justified (against classical computers, under an ideal permutation model for $f$) ?
  2. Could we obtain the stated assurances with a lower $c$ (thus a faster processing of large messages), in particular in light of Charlotte Lefevre & Bart Mennink's Tight Preimage Resistance of the Sponge Construction, in proceedings of Crypto 2022 and ePrint.
kodlu
  • 25,146
  • 2
  • 30
  • 63
fgrieu
  • 149,326
  • 13
  • 324
  • 622

0 Answers0