V poslednej dobe sa ukazalo (Kelsey, Schneier), ze vsetky sucasne hasovacie funkcie maju vadu v dizajne - iterativny dizajn.
Preimage attack pre n-bitovu hashovaciu funkciu (najdenie spravy N k danej sprave M, kde Hash(M)=Hash(N)) uz nema zlozitost 2^n (ako by sa to pozadovalo), ale k*2^(n/2+1) + 2^(n-k+1), kde vyrobime spravu N dlzky 2^k. Priklad u SHA-1: sprava 2^60 bajtov dlha, treba 2^106 operacii, namiesto povodnych 2^160. Zatial neprakticke z dovodu prilis dlhych sprav, ale poukazuje na zasadnu slabost v dizajne hashovacich funkcii.
Dalsie info:
Prednaska (slajdy) pana Klimu: http://cryptography.hyperlink.cz/2004/Hasovaci_funkce_a_cinsky_utok_MFFUK_2004.ppt
http://cryptography.hyperlink.cz/2004/Hasovaci_funkce_a_cinsky_utok_MFFUK_2004.pdf
Kelsey, Schneier: Second Preimages on n-bit Hash Functions for Much Less than 2^n Work, Eprint Cryptology Archive, http://eprint.iacr.org/2004/304/
Implementacie SHA-1, SHA-256, atd.:
RFC 3174 - US Secure Hash Algorithm 1 (SHA1), http://www.faqs.org/rfcs/rfc3174.html
Crypto++, open source kryptograficka kniznica, www.cryptopp.com