Klíč (kryptografie)

Klíč  je tajná informace používaná kryptografickým algoritmem při šifrování /dešifrování zpráv, nastavování a ověřování digitálního podpisu a při výpočtu ověřovacích kódů ( MAC ). Při použití stejného algoritmu závisí výsledek šifrování na klíči. U moderních algoritmů silné kryptografie ztráta klíče prakticky znemožňuje dešifrování informací.

Podle Kerchhoffsova principu by síla kryptografického systému měla být určena skrytím tajných klíčů, ale ne skrytím použitých algoritmů nebo jejich vlastností.

Délka klíče

Množství informací v klíči se obvykle měří v bitech .

Pro moderní symetrické algoritmy ( AES , CAST5 , IDEA , Blowfish , Twofish ) je hlavní charakteristikou kryptografické síly délka klíče. Šifrování s klíči 128 bitů nebo více je považováno za silné , protože výkonným superpočítačům trvá roky, než dešifrují informace bez klíče. Pro asymetrické algoritmy založené na problémech teorie čísel ( problém faktorizace  - RSA , problém diskrétního logaritmu  - Elgamal ) je vzhledem k jejich vlastnostem v současnosti minimální délka spolehlivého klíče 1024 bitů.

Pro asymetrické algoritmy založené na použití teorie eliptických křivek ( ECDSA , GOST R 34.10-2001 , DSTU 4145-2002 ) je minimální spolehlivá délka klíče 163 bitů, ale doporučují se délky 191 bitů a více.

Klasifikace klíčů

Kryptografické klíče se liší podle algoritmů, ve kterých jsou použity.

Hlavní vlastností páru klíčů je, že je snadné vypočítat veřejný klíč z tajného klíče, ale je téměř nemožné vypočítat tajemství ze známého veřejného klíče.

V algoritmech digitálního podpisu se k podepisování používá tajný klíč a k ověření se používá veřejný klíč. Každý si tak může ověřit, zda daný uživatel daný podpis skutečně podepsal. Asymetrické algoritmy tedy zajišťují nejen integritu informace, ale také její autenticitu. V šifrování se naopak veřejný klíč používá k zašifrování zprávy a tajný klíč k jejímu dešifrování. Zprávu tak může dešifrovat pouze adresát a nikdo jiný (včetně odesílatele).

Použití asymetrických algoritmů odstraňuje problém distribuce uživatelských klíčů v systému, ale přináší nové problémy: spolehlivost přijatých klíčů. Tyto problémy jsou více či méně úspěšně řešeny v rámci infrastruktury veřejných klíčů (PKI).

Viz také