Tuesday, July 08, 2008

Kryptoanalýza je matematická disciplina, která se zabývá luštěním zašifrovaných zpráv bez znalostí algoritmů šifrování a dešifrování. Mezi základní způsoby kryptoanalytického luštění patří
• Luštění se znalostí jen zašifrované zprávy (ciphertext-only attack) – kryptoanalytik má k dispozici několik zpráv, které byly šifrovány stejným způsobem. Jeho úlohou je získat dešifrované texty, nebo klíč (klíče), kterým byly zprávy šifrovány.
• Luštění se znalostí původní zprávy (know-plaintext attack) – Kryptoanalytik má k dispozici šifrované zprávy i původní (nešifrované) zprávy. Jeho úlohou je získat klíč, kterým byly zprávy šifrovány.
• Luštění se znalostí vybraných původních textů (chosen-plaintext attack) – kryptoanalytik má přístup k šifrovaným zprávám a jim odpovídajícím původním zprávám a vybírá si původní texty, které šifruje. Tento způsob kryptoanalýzy je účinnější jako luštění se znalostí původní zprávy, neboť kryptoanalytik může šifrovat vybrané bloky původní zprávy, čím získá víc informací o šifrovacím klíči. Cílem kryptoanalýzy je odvodit šifrovací klíč.
• Adaptivní metoda luštění se znalostí vybraných původních zpráv (Adaptive-chosen-plaintext attack) – je speciálním případem luštění se znalostí původních zprav. Kryptoanalytik má k dispozici nejen původní zprávy, které bude šifrovat, ale podle výsledků předchozího šifrování si může vzít libovolný jiný blok původní zprávy, který bude šifrovat.
Bezpečnost kryptografických algoritmů představuje jejich schopnost odolávat rozluštění (prolomení). Rozlišujeme
• absolutní bezpečnost kryptografického algoritmu, kdy kryptoanalýza nebude schopna prolomit šifrovanou zprávu ani v případě, kdy bude mít neomezené množství zašifrovaných zprav.
• praktickou (reální) bezpečnost kryptografického algoritmu, která je založena na výpočetní bezpečnosti. Algoritmus se považuje za výpočetně bezpečný (resp. „silný“) v případě, kdy nemůže být prolomen použitím dostupných prostředků k dešifrování (k prolomení šifry).
Složitost luštění je možné měřit
• Datovou složitostí (množství dat potřebných k dešifrování).
• Výpočetní složitostí (tzv. činitel pracnosti) –je čas potřebný k dešifrování.
• Paměťovými nároky – rozsah paměti nutný k dešifrování.