În funcție de funcția criptografică utilizată aplicând-o $i$-timpii pentru o anumită intrare pot fi calculate în diferite clase de complexitate (în funcție de dimensiunea lor de intrare).
$$f^i(m_0) = c_i$$
De exemplu, pentru majoritatea block-cipher este nevoie (chiar și cu cunoașterea cheii secrete) despre $i$ ori mai mult decât să-l aplici o singură dată (cel puțin din câte știu eu). La fel pentru $i$ pași înapoi. Găsind $m_0$ pentru dat $c_i$ de asemenea, durează aproximativ $i$ ori mai mult timp ca o singură operație (să ignorăm câteva optimizări mici aici).
Calcularea puterii unui număr/generator de ex. pentru curbele eliptice sau RSA durează doar aproximativ $\log_2(i)$ ori timpul aplicând o singură înmulțire (sens giratoriu). La fel pentru $i$ pași înapoi. Găsind $m_0$ pentru dat $c_i$ durează doar aproximativ $\sqrt{N}$ pași (sau chiar mai rapid) (cu $N$ dimensiunea domeniului de $m, c$). Deci asta nu va funcționa.
Întrebare: Pe lângă cifrul bloc, există și alte metode criptografice:
- $f^i(m)$ ia $i$ ori timpul de $f^1(m)$
- $f^{-i}(c)$ ia $i$ ori timpul de $f^{-1}(c)$
- $f^{-1}(c)$ timp de calcul similar cu $f^1(m)$
- tehnica de calcul $i$ pentru dat $m_0$ și $c_i$ durează aproximativ $N$ pași de calcul sau mai rău, cu $N$ dimensiunea domeniului de $m,c$
(factor constant sau ceva de genul $\frac{1}{log{N}} N$ este încă bine. Pur si simplu nu $N^p$ cu $p<0,9$)
- (dacă este nevoie de un secret pentru a calcula $f,f^{-1}$ (ca cheile pentru cifrul bloc) factorul $i$ nu ar trebui să devină mai mic dacă acest secret este cunoscut adversarului)
- ($f,f^{-1}$ fără metode de forță brută precum block-chain)