Kryptografická hašovacia funkcia
Kryptografická hašovacia funkcia je hašovacia funkcia používaná v kryptografii. Kritéria kladené na jej bezpečnosť ju robia vhodnou na použitie v rozličných aplikáciách informačnej bezpečnosti, akými sú napr. autentifikácia či integrita správ.
Dve v súčasnosti najpoužívanejšie kryptografické hašovacie funkcie sú MD5 (Message-digest 5) a SHA1 (Secure hash algorithm 1). V roku 2005 boli nájdené v oboch bezpečnostné nedostatky. V súčasnosti sa odporúča použivať SHA2, napriklad SHA256 [1].
Vlastnosti
Okrem vlastností hašovacej funkcie musí kryptografická hašovacia navyše spĺňať:[2]
- Jednocestnosť – funkcia musí byť jednocestná, t. j. inverznú funkciu ťažko nájsť. Teda iba znalosť výstupu nijak nevedie k znalosti vstupného textu. Pre dané ľahko spočítať , pre dané ťažko spočítať .
- Silná bezkolíznosť – ak nie je možné v rozumnom čase nájsť akýkoľvek pár vstupov tak, aby nastala kolízia. Nájsť ľubovoľné , , aby platilo .
- Slabá bezkolíznosť – ak nie je možné v rozumnom čase k danému vstupu nájsť vstup iný tak, aby nastala kolízia. Pre dané nájsť také , ≠ , aby platilo .
Implementácie
Kryptografické hašovacie funkcie
- Message-Digest algorithm (MD)
- Secure Hash Algorithm (SHA)
- RACE Integrity Primitives Evaluation Message Digest (RIPEMD)
- Whirlpool
- HAVAL
- PANAMA
- Tiger
Kľúčované hašovacie funkcie
Použitie hašovacej funkcie s tajným symetrickým kľúčom, napríklad HMAC.
Príklady
Príklady výstupov (hašov) niektorých kryptografických hašovacích funkcií z krátkeho textového reťazca (na porovnanie s kontrolným súčtom CRC32). Malá zmena vstupu spôsobuje lavínovité zmeny vo výstupe:
vstup: Vyhlasujem, že ti dlhujem 100 výstup: MD5 fbe8e3408311811c0d182d0193a03a62 SHA-1 68741d0244e8ce0989af154977ce037c7c75a32e SHA-256 da3292bf01f1a5a37ffd1c8650430c3a65766205bad2faac1e1a7ab1d23ccc88 RIPEMD160 01b5e2da3697a5759d7848e697b1415aeb6e082d CRC32 46b88aaa
vstup: Vyhlasujem, že ti dlhujem 900 výstup: MD5 42e4bf834247c94795911ef86b8817e3 SHA-1 6f6baee4bf87762435f0e245a94c478cbf3d97df SHA-256 bfbcd7dbd3ff2b8f6b59142ad352136d70e53ec13c1b263dae685ca3fb46ded5 RIPEMD160 41392a069ce0a3b58062bbf66f9f528502d3c046 CRC32 48abdb12
Pozri aj
Referencie
- SHA1 Deprecation: What You Need to Know
- Hašovacie funkcie a overenie integrity z referenčnej Handbook of Applied Cryptography