Kryptografická hašovací funkce

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.

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.

Bezpečnost

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

  • 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

Externí odkazy

Média použitá na této stránce

Hash function.png
A typical hash function at work. Note that the hash sums are always the same size, no matter how short or long the input is. Also note that the hash sums look very different even when there are only slight differences in the input. The hash sums seen here (in hexadecimal format) are actually the first four bytes of the SHA-1 hash sums of those text examples.