Kryptografická hašovacia funkcia

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie

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 SHA (Secure hash algorithm). V roku 2005 boli nájdené v oboch bezpečnostné nedostatky.

Vlastnosti[upraviť | upraviť zdroj]

Okrem vlastností hašovacej funkcie musí kryptografická hašovacia navyše spĺňať:[1]

  • Jednocestnosť – funkcia musí byť jednocestná, tj. inverznú funkciu ťažko nájsť. Teda iba znalosť výstupu nijak nevedie k znalosti vstupného textu. Pre dané x ľahko spočítať H(x), pre dané H(y) ťažko spočítať y.
  • 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é x1, x2, aby platilo H(x1)=H(x2).
  • 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é x1 nájsť také x2, x1x2, aby platilo H(x1)=H(x2).

Implementácie[upraviť | upraviť zdroj]

Kryptografické hašovacie funkcie[upraviť | upraviť zdroj]

Kľúčované hašovacie funkcie[upraviť | upraviť zdroj]

Použitie hašovacej funkcie s tajným symetrickým kľúčom, napríklad HMAC.

Príklady[upraviť | upraviť zdroj]

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[upraviť | upraviť zdroj]

Referencie[upraviť | upraviť zdroj]

  1. Hašovacie funkcie a overenie integrity z referenčnej Handbook of Applied Cryptography