Kryptografická hašovací funkce

krátký řetězec znaků používaný v kryptografii jako charakteristika delšího souboru

Kryptografická hašovací funkce je v kryptografii hašovací funkce s takovými vlastnostmi, které umožňují její použití v aplikacích zabezpečení informací, jako například autentizace nebo zaručení integrity zprávy.

Diagram znázorňující základní koncepty hašování. Hash - zde v růžové - má pro všechny zprávy pokaždé stejnou délku. I drobná změna vstupní zprávy - mezi druhým a třetím řádkem - zapříčiní velkou změnu hashe.

Bezpečnost

editovat

Nejdůležitější je následující trojice vlastností, která určuje obtížnost napadení hashovací funkce. Obtížností se v tomto kontextu myslí výpočetní složitost, která by měla být za současných technologických možností mimo možnosti reálného použití:

  1. Odolnost vůči získání předlohy. Pro daný hash c je obtížné spočítat x takové, že h(x)=c (hashovací funkce je jednosměrná).
  2. Odolnost vůči získání jiné předlohy. Pro daný vstup x je obtížné spočítat y takové, že h(x)=h(y).
  3. Odolnost vůči nalezení kolize. Je obtížné systematicky najít dvojici vstupů (x,y), pro které h(x)=h(y).

Další obvyklé požadavky zahrnují:

  • Nekorelovatelnost vstupních a výstupních bitů, kvůli znemožnění statistické kryptoanalýzy.
  • Odolnost vůči skoro-kolizím. Je obtížné nalézt x a y taková, že h(x) a h(y) se liší jen v malém počtu bitů.
  • Lokální odolnost vůči získání předlohy. Je obtížné najít i jen část vstupu x ze znalosti h(x).

Známé hashovací funkce

editovat
  • Message-Digest algorithm – oblíbená MD5, ale již prolomená funkce. Od srpna 2004 je veřejně znám postup pro nalezení kolizního páru zpráv.[1]
  • Secure Hash Algorithm (SHA):
    • SHA-1 – oblíbená, ale již prolomená funkce. V únoru 2005 byl zveřejněn objev algoritmu, který umožňuje nalézt kolizi podstatně rychleji než hrubou silou. Výpočetní náročnost je ale stále mimo současnou techniku.
    • SHA-2 – rodina 4 hashovacích funkcí (SHA-256, SHA-384, SHA-512 a SHA-224), které jsou součástí standardu FIPS 180-2[2] a u kterých dosud nebyly nalezeny žádné bezpečnostní slabiny.
  • Tiger (hash) – funkce z roku 1995, používána v peer-to-peer aplikacích.

Reference

editovat

Externí odkazy

editovat