Při používání kryptografie se často používají různé délky klíčového materiálu, přesto se tvrdí, že mají stejnou odolnost. Nepočítáme náhodou dohromady jablka a hrušky?
Ochrana pomocí kryptografie je založena na šifrování a pro šifrování je vždy potřeba nějaký klíčový materiál. Přesto, u symetrických šifer je klíč velice krátký a u asymetrických šifer klíč velice dlouhý, mimo to se liší algoritmus od algoritmu. Má tedy smysl s délkou klíče vůbec pracovat? A podle čeho se zjistí bezpečnost algoritmu? Pro začátek, než budeme pokračovat, je nutné se rychle zastavit u pojmu klíč, protože pod ním si každý rozumí něco jiného.
Velice zjednodušeně lze říct, že heslo je vstup od uživatele, ale klíč je generovaný systémem. Zpravidla na základě uživatelského vstupu. Bohužel, heslo jako uživatelský vstup, je často předvídatelné a není dost náhodné. Proto mají rozumné protramy metody, jak z hesla vydestilovat dostatečně náhodný a nepředvídatelný klíčový materiál. Těmto funkcí se říká funkce pro derivací klíčů (KDF). Pokud ji váš software nepoužívá nebo nezná, zbystřete a raději si nechte vrátit peníze. V tomto článku se budeme zaobírat klíčovým materiálem a jeho vlastnostmi, heslo jako takové nás až tak moc nezajímá.
Největší rozdíly v délce klíčů mají asymetrické šifry. Asymetrické, protože je klíč použit asymetricky. Například privátní klíč je určen pro podepsání dokumentu a veřejný klíč (který je od privátního odvozen) dovoluje všem jeho držitelům ověřit pravdivost podpisu. Ale jak to, že stejnou bezpečnost mají například algoritmus RSA s klíčem o velikosti 3072b a algoritmus ECDSA s klíčem o velikosti 256b? Asi je na místě otázka, zda v tom není nějaká zrada. Ale doopravdy není. Bezpečnost lze porovnávat vcelku jednoduše, pomocí tzv. bezpečnostního ekvivalentu. A podle uvedeného ekvivalentu je vše v pořádku. Délka klíčů se naopak používá jako doporučení, aby nedošlo k omylům. Zvláště, pokud někdo bezpečnostní ekvivalent nezná. Takže, jak je to možné tento ekvivalent spočítat?
Pokud mám nějakou úlohu, mohu vcelku přesně vyjádřit její složitost. Zda budu potřebovat tisíc, milión, miliardu operací nebo více. Protože se bavíme o světě počítačů, mohu složitost vyjádřit jako mocninu, např. 2^20, 2^64, 2^128. Tedy kolik operací potřebuji k úspěšnému řešení problému. A tady je právě ten důležitý údaj. Bezpečnostní ekvivalent 128b znamená, že potřebuji 2^128 operací. A číslo 2^128 je možné vyjádřit jako 128b číslo. Tedy není vhodné počítat s délkou klíče, ale se složitostí. A složitost není nic jiného, než náročnost řešení problému. Zároveň takové vyjádření složitosti je možné použít jako univerzální překlad schopnosti ochrany symetrických a asymetrických algoritmů, hashí a za jistých podmínek i hesel. Pravdou je, že v případě hesel se jedná už o extrémní výklad bezpečnostního ekvivalentu.
Algoritmus RSA v současnosti (2024) stále ještě slouží pro účely digitálního podpisu a domluvy na klíčích. Jeho bezpečnost zajišťuje problém obtížnosti faktorizace velkých čísel. V překladu to znamená způsob, jak najít dvě prvočísla, jejichž vzájemným násobením toto velké číslo vznikne. V současnosti je neúčinnější metodou na klasických počítačích tzv. obecné číselné síto (GNFS - General Number Field Sieve), na kvantových počítačích pak Shorrův algoritmus (založený na QFT - Quantum Fourier Transformation). V případě GNFS je pak naše schopnost útočit na tento algoritmus značně omezená. Další nevýhodou RSA algoritmu je jeho subexponenciální složitost. V překladu to znamená, že jeho odolnost proti útokům roste pomaleji, než velikost klíče. Díky tomu se můžeme snadno narazit na technická omezení např. u oblíbených protokolů SSL/TLS, SSH, IPSec a dalších. Pro představu těchto závislosti je možné uvést tabulku pro převod na bezpečnostní ekvivalent a zpět, která vypadá následujícím způsobem. Vysvětlení dopadů kvantových počítačů na asymetrické algoritmy bude v jiném článku.
Šířka RSA klíče | 512 | 768 | 1024 | 2048 | 3072 | 4096 | 8192 | 16384 | 32768 | 65536 |
Bezpečnostní ekvivalent | 64 | 77 | 87 | 117 | 139 | 157 | 209 | 326 | 365 | 481 |
Bezpečnostní ekvivalent | 64 | 80 | 112 | 128 | 168 | 192 | 224 | 256 | 384 | 512 |
Šířka RSA klíče | 514 | 851 | 1855 | 2540 | 4857 | 6710 | 9763 | 13550 | 37100 | 76608 |
Tyto algoritmy využívají pro ochranu problém diskrétního logaritmu v tělese. V tomto případě se pod číselným tělesem míní aditivní (tedy jednotlivá čísla se pokaždé zvětší o určité číslo, zpravidla o číslo 1 nebo 2, výsledkem je zbytek po dělení prvočíslem) nebo multiplikativní (jednotlivá čísla se vynásobí určitým číslem a výsledkem je zbytek po dělení prvočíslem) grupa. Zjednodušeně, je jednoduché v takovém tělese umocnit nějaká čísla, ale prakticky nemožné uvedená čísla odmocňovat. Pro představu, pokud budeme používat modulární násobení (tedy vynásobíme dvě čísla, násobek vydělíme zvoleným prvočíslem, výsledkem je zbytek), můžeme snadno napsat 5*8 mod 13 = 1. V tento případě je náročné, ale stále možné, najít kterým číslem se násobilo číslo 5. Ale i když budeme mít 5^8 mod 13, situace je podstatně horší. Nejsme schopní zjistit, zda se jednalo o 8, 10, 92 ... nebo to snad bylo jiné číslo? Každopádně, jedná se vlastně stále o učivo základní školy. Pro odvození složitosti je zde možné použít tzv. Pollardův algoritmus, který na klasických počítačích dovoluje útočit na tuto konstrukci, na kvantových se opět jedná o modifikovaný Shorův algoritmus (využívá QFT - Quantum Fourier Transformation). Zajímavostí je, že přestože je složitost útoku na uvedené algoritmy výrazně vyšší, je klíč obdobné velikosti jako u RSA. To je ale dáno konstrukcí klíče. Ten obsahuje jak definici tělesa, tak generátor (tedy z jakého bodu se začíná s výpočtem), tak veřejný klíč. Protože jsou uvedené informace docela velké, vzniká podobná situace s velikostí výsledných klíčů jako u RSA. Proto se pro zjednodušení uvádí velikost klíče odpovídající předchozí tabulce. V realitě je ale důležitá hlavně šířka tajného klíče. Vysvětlení dopadů kvantových počítačů na asymetrické algoritmy bude v jiném článku.
Soubor klíče | 2048 | 3072 | 3584 | 4096 | 5120 | 6144 | 8192 | 9216 | 13550 | 16384 | 32768 |
Privátní klíč | 224 | 256 | 288 | 320 | 352 | 384 | 416 | 448 | 480 | 512 | 544 |
Bezpečnostní ekvivalent | 112 | 128 | 144 | 160 | 176 | 192 | 208 | 224 | 240 | 256 | 272 |
Bezpečnostní ekvivalent | 56 | 64 | 80 | 112 | 128 | 168 | 192 | 224 | 256 | 384 | 512 |
Privátní klíč | 112 | 128 | 160 | 224 | 256 | 336 | 384 | 448 | 512 | 768 | 1024 |
Soubor klíče | 2048 | 3072 | 3584 | 4096 | 5120 | 6144 | 8192 | 9216 | 13550 | 16384 | 32768 |
Poznámka: Kvůli dalším údajům, které jsou součástí klíče, výsledná velikost souboru klíče přibližně odpovídá velikosti klíčů u RSA a uvažuje se proto o odolnosti podobným způsobem.
Algoritmy postavené nad eliptickými křivkami využívají podobný princip jako algoritmy Diffie-Hellman, ElGamal, Schnorrův podpis a DSA. Na rozdíl od nich ale nepoužívají obecná tělesa, ale tělesa nad eliptickými křivkami. Ty přidávají další vrstvu složitosti. Vlastně jedná se opět o učivo základní školy, jenom to zmiňované těleso vzniká nad rovnicí, obvykle kvadratickou. V tomto případě se tedy jedná o multiplikativní grupu. Ostatní části postupu jsou stejné, tedy opět se používá dělení se zbytkem, jakýsi "omezovač velikosti" grupy. Z hlediska složitosti útoku je zde opět možné použít na digitálním počítači Pollardův algoritmus, na kvantovém počítači modifikovaný Shorův algoritmus (využívá dvě QFT - Quantum Fourier Transformation). Vysvětlení dopadů kvantových počítačů na asymetrické algoritmy bude v jiném článku. Závislost na bezpečnosti je zde složitější, proto je uvedeno jenom zjednodušené vysvětlení. Soubor klíče je v tuto chvíli odpovídající velikosti k bitové šířce klíče, proto je tedy soubor klíče výrazně menší.
Šířka klíče | 224 | 256 | 288 | 320 | 352 | 384 | 416 | 448 | 480 | 512 | 544 |
Bezpečnostní ekvivalent | 112 | 128 | 144 | 160 | 176 | 192 | 208 | 224 | 240 | 256 | 272 |
Bezpečnostní ekvivalent | 56 | 64 | 80 | 112 | 128 | 168 | 192 | 224 | 256 | 384 | 512 |
Šířka klíče | 112 | 128 | 160 | 224 | 256 | 336 | 384 | 448 | 512 | 768 | 1024 |
U symetrických šifrovacích algoritmů se používá jako bezpečnostní ekvivalent bitová šířka klíče. Přesto se objevují nové útoky a každá z těchto metod může přinést oslabení existující odolnosti. Příkladem takového oslabení je algoritmus RC-4, který přestože může mít 128b klíč, je zlomitelný v řádu vteřin. A příkladů je více.
U hash funkcí vychází bezpečnostní ekvivalent s narozeninového paradoxu, tedy z pravděpodobnosti výskytu dvou stejných textů s podobným výstupem. Zjednodušeně lze proto tvrdit, že bezpečnostní ekvivalent je zhruba polovina šířky výstupu hash funkce, tj. délka/2. Pro kvantové počítače se jedná o podobnou hodnotu, který by měla být délka/3
Hash funkce | SHA-256 | SHA-384 | SHA-512 | SHA-512/256 | SHA3-256 | SHA3-384 | SHA3-512 | SHAKE128 | SHAKE256 |
Bezpečnostní ekvivalent | 128 | 192 | 256 | 128 | 256 | 192 | 256 | 64 | 128 |
Kvantový bezpečnostní ekvivalent | 85 | 128 | 170 | 85 | 85 | 128 | 170 | 42 | 85 |
Matematici jsou zvláštní lidé, schopní bavit se na oslavách počítáním pravděpodobnosti. Například, kolik lidí by mohlo mít narozeniny stejný den, proto narozeninový paradox. Ale matematik nehledá konkrétní příklad, kdy někdo bude mít narozeniny stejný den jako oslavenec, hledá obecný případ. To znamená, že kdokoliv na oslavě může mít narozeniny stejný den jako někdo jiný. Překvapivě je pro pravděpodobnost 50% potřeba pouhých 23 lidí. Uvedné lze spočítat pomocí následujícího postupu.
Pravděpodobnost = (1 − variace (365, účastníků) / variace s opakováním (365, účastníků))
Ať už se jedná o jakoukoliv kryptografii, je vhodné nasazovat přibližně stejný bezpečnostní ekvivalent. V jíném případě nejslabší algoritmus může ohrozit zabezpečení silněji chráněných, tj. algoritmů s vyšším bezpečnostním ekvivalentem. Co se týká silnějších algoritmů, ty na druhou stranu zbytečně pálí strojový čas na úlohy, které jsou zbytečně náročné. V takovém okamžiku se z výpočetní techniky může stát pouze předražený přímotop. V současnosti je odpovídající bezpečnostní ekvivalent 128b, ale kvůli rizikům představovaným kvantovými počítači dochází k výrazným změnám, pro symetrické algoritmy se začíná uvažovat nad požadavkem šířky klíčů 192b až 256b. Klasické asymetrické algoritmy již nestačí a řeší se jejich nahrazení.
Seznam problémů klasické asymetrické kryptografie a jejich vysvětlení, převzato z prof. Bill Buchannan stránek ASECURITY [1].
Problém faktorizace | (FACTORING) Najdi dvě prvočísla větší než 1, jejichž vynásobením vznikne číslo N. |
RSA Problem | (RSAP) Jedná se o problém "zpětného" chodu RSA. |
Problém kvadratického zbytku | (QRP - Quadratic Residuosity problem) Pokud jsou k dispozici dvě čísla, rozhodni, zda je číslo kvadratickým zbytkem po odmocnění čísla v tělese modulo n. |
Problém druhé odmocniny | (SQROOT - Square Roots modulo N) Pokud je k dispozici zbytek po umocnění čisla v tělese, urči, o jaké číslo se původně jednalo. |
Problém diskrétního logaritmu | (DLP - Discrete Logarithm problem) Je k dispozici číslo, pro které je nutné najít mocnitel takovým způsobem, aby bylo možné získat určitý zbytek. |
Obecný problém diskrétního logaritmu | (GDLP - General Discrete Logarithm problem) Je k dispozici číslo, pro které je nutné najít mocnitel takovým způsobem, aby bylo možné získat určité číslo. |
Diffie Hellman problem | (DHP - Diffie Hellman problem) - Pokud jsou k dispozici dvě mocniny čísel v tělese, najdi v tomto tělese součit těchto mocnin. |
Obecný Diffie Hellman problem | (GDHP - General Diffie Hellman problem) - Pokud jsou dispozici zbytky po mocnění v tělese, najdi modulární součin těchto mocnin. |
Problém sumy částí | (SUBSET-SUM - Subset Sum problem) Pokud mám sadu čísel a nějaký součet, urči zda je součet částí součástí celkového součtu. |
1. Úvodní ustanovení
1.1. Tyto všeobecné obchodní podmínky jsou, není-li ve smlouvě písemně dohodnuto jinak, nedílnou součástí všech smluv týkajících školení, pořádaných nebo poskytovaných školitelem, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, se sídlem Pod Harfou 938/58, Praha 9, zapsané u Úřadu městské části Praha 9 (dále jen „školitel“).2. Vznik smlouvy přihlášením ke kurzu
2.1. Přihláškou se rozumí jednostranný úkon objednatele adresovaný školiteli prostřednictvím datové schránky s identifikací euxesuf, e-mailu na adresu register@cryptosession.cz nebo register@cryptosession.info, internetových stránek cryptosession.cz, cryptosession.info nebo kontaktním telefonem +420 602 427 840.3. Zánik smlouvy zrušením přihlášky
3.1. Přihláška může být objednatelem zrušena pomocí e-mailu, nebo pomocí datové schránky.4. Cena a platební podmínky
4.1. Odesláním přihlášky objednatel akceptuje smluvní cenu (dále jen účastnický poplatek) uvedenou u daného kurzu.5. Podmínky školení
5.1. Školitel je povinnen informovat objednatele 14 dní dopředu o místě a času školení, včetně termínu zahájení a ukončení denního programu.6. Reklamace
6.1. Pokud je účastník hrubě nespokojen s průběhem kurzu, je školitel o této informaci vyrozuměn.7. Autorská práva k poskytnutým materiálům
7.1. Školicí materiály poskytnuté školitelem v rámci konání školení splňují znaky autorského díla dle zákona č. 121/2000 Sb.8. Zodpovědnost
8.1. Školitel nepřebírá odpovědnost za nedostatky ve službách kterékoliv třetí strany, kterou využívá při školeních.9. Platnost podmínek
9.1 Tyto všeobecné obchodní podmínky jsou platné a účinné od 1. října 2024.Informace o sběru a zpravování osobních údajů
Zpracovatel Jan Dušátko (dále jen „Správce“), dle nařízení Evropského parlamentu a Rady (EU) č. 2016/679 o ochraně fyzických osob v souvislosti se zpracováním osobních údajů a o volném pohybu těchto údajů a o zrušení směrnice 95/46/ES (obecné nařízení o ochraně osobních údajů, dále jen „Nařízení“) zpracovává osobní údaje. Dále jsou rozepsané jednotlivé osobní údaje, které jsou součástí zpracování při konkrétních aktivitách u této webové prezentace a v rámci obchodního styku.Informace o záznamech přístupu na webovou prezentaci
Tento web nesbírá žádné cookies. Stránka nepoužívá ani žádné analytické scripty třetích stran (sociální sítě, cloud provideři). Z těchto důvodů je také nabízena volba pro zobrazení mapy formou odkazu, kde primárním zdrojem je OpenStreet a alternativy pak často používané Mapy společnosti Seznam, a.s., případně Google Maps společnosti Google LLC Inc. Využití jakéhokoliv z těchto zdrojů je zcela na libovůli uživatelů těchto stránek. Správce nenese odpovědnost za sběr dat realizovaný těmito společnostmi, neposkytuje jim data o uživatelích a na sběru dat nespolupracuje.Informace o kontaktování provozovatele stránek
Formulář pro kontaktování provozovatele stránek (správce) obsahuje následující osobní údaje: jméno, příjmení, e-mail. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu nezbytnou k naplnění účelu, maximálně pak po dobu jednoho roku, pokud si uživatel neurčí jinak.Informace o objednávkovém formuláři
Pro případ zájmu o objednávku formulář obsahuje více údajů, tj. jméno, příjmení, e-mail a kontaktní údaje na organizaci. Tyto údaje jsou určeny jen a pouze pro tuto komunikaci, odpovídající oslovení uživatele a jsou udržovány po dobu jednoho roku, pokud si uživatel neurčí jinak. V případě, kdy na základě této objednávky dojde k uzavření obchodního vztahu, budou nadále správcem udržovány pouze informace vyžadované českými zákony na základě obchodních vztahů (název a adresa společnosti, číslo bankovního účtu, typ kurzu a jeho cena).Informace o dokumentu o absolovování kurzu
V rámci kurzu je vydán zpracovatelem dokument o absolovování kurzu. Tento dokument obsahuje následující údaje: jméno a příjmení studenta, název a datum absolovování kurzu a jméno zaměstnavatele. Uvedené informace se následně používají pro tvorbu lineárního stromu hashí (nemodifikovatelný záznam). Tato databáze obsahuje pouze informace o poskytnutých jménech a názvech společností, které mohou a a nemusí odpovídat realitě a je udržován zpracovatelem pro případné opětovné vystavení nebo ověření vydání dokumentu.Práva subjektu osobních údajů
Zákazník nebo návštěvník tohoto webu má možnost požádat o informace o zpracování osobních údajů, právo požadovat přístup k osobním údajům, případně právo požádat o opravu nebo výmaz veškerých dat, které by o něm byly vedeny. V případě výmazu tento požadavek není možné splnit pouze pokud se nejedná o data nezbytně nutná v rámci obchodního styku. Zákazník nebo návštěvník webu má dále právo na vysvětlení týkající se zpracování jeho osobních údajů, pokud tento zjistí nebo se domnívá, že zpracování je prováděno v rozporu s ochranou jeho soukromého a osobního života nebo v rozporu s platnými právními předpisy a právo požadovat odstranění takto vzniklého stavu a zajištění nápravy.