Každého v oblasti IT zajímá, jak velkou hrozbou pro kryptografii jsou kvantové počítače a jak se s daným problémem vyrovnat. Tato série článků se snaží populární formou tento problém vysvětlit. Po vysvětlení jak pracují kvantové počítače= je načase se seznámit se Shorovým algoritmem.
Přestože je Shorův algoritmus jako takový relativně jednoduchý oproti jiným algoritmům v kvantové zoo, jeho implementace se drobně liší pro použití u faktorizace a diskrétního logaritmu. V použitých příkladech je pro počet logických qbitů u faktorizace použito pravidlo , pro útok na diskrétní logaritmus a pro počet hradel v obou případech pak . Vzhledem k vývoji v oblasti algoritmizace uvedená pravidla nemusí odpovídat aktuálním úrovni poznání, ale pro odhad uvedené informace postačují.
Pro faktorizaci se používá Shorův algoritmus se vstupem a jedním registrem. Vstup i registr musí mít délku klíče. Při schematickém zakreslení pak vypadá tento algoritmus následujícím způsobem.
Pro pochopení, jak jsou zapojené jednotlivé logické brány a jejich významu pro výpočet, je potřeba toto zapojení podstatně detailněji vysvětlit. Před spuštěním je potřeba zakódovat část veřejného klíče, tedy číslo n a náhodně zvolenou hodnotu a (nesoudělnou s n) do zapojení obvodu. Na začátku dojde k superpozici všech hodnot řídícího registru (x) pomocí Hadamardových bran, tedy o superpozici všech možných exponentů a pracovní registr je nastaven do definovaného stavu. Následně se využívají kombinace CNOT a CCNOT hradel pro řízené sekvence modulárního násobení . Každý qbit exponentu řídí celou sadu reverzibilního modulárního násobení realizované v rámci sítě CNOT a CCNOT hradel. CNOT a CCNOT hradla zároveň transformují mezivýsledky do pracovního registru. Celý tento proces probíhá v superpozici stavů. Po dokončení modulárního mocnění tak jsou oba registry kvantově provázány a na řídící registr se aplikuje kvantová Fourierova transformace pro zjištění periody. Ta převádí periodickou strukturu fází na měřitelný výsledek, který je možné později odečíst a vyhodnotit v rámci post-processingu z řídícího registru. QFT sama o sobě používá Hadamardovy brány, brány řízených fázových rotací (CP, CRk) a brány SWAP pro úpravu pořadí qbitů. Pracovní registr obsahuje příspěvky řídícího registru a na konci výpočtu je možné ho zahodit.
Pro útok na problém diskrétního logaritmu (DLP) se používá Shorův algoritmus, tentokrát ale se vstupem a dvěma registry. Jak vstup, tak oba registry musí mít délku klíče. Zapojení se ale liší mezi útokem na čisté DLP, tedy DH a DSA (multiplikativní grupa) a mezi útokem na ECDLP, tedy ECDH a ECDSA (aditivní grupa). Pro čistý DLP problém je jedná toto schéma.
A pro ECDLP pak schéma mírně odlišné.
Reálná zapojení jsou opět komplikovanější. Vysvětlení odlišnosti od faktorizace a vlastní rozbor běhu algoritmu je spojen do jednoho odstavce, protože se liší pouze výpočetní část. Ta je jako rozdíl mezi DLP a ECDLP uvedena samostatně.
Před spuštěním je potřeba do obvodu zakódovat důležité parametry. Pro DLP tedy generátor g a modul p, pro ECDLP počáteční bod G a parametry křivky. Na začátku dojde k superpozici všech hodnot nezávislých řídících registrů (a) a (b) pomocí Hadamardových bran. Dojde tedy k superpozici všech možných stavů samostatně pro každý registr. Registry reprezentují neznámé hledané hodnoty. Pracovní registr je nastaven do výchozího stavu. Postupně se z něj vytváří hodnoty pro potřebné grupové operace (mocnění v multiplikativní grupě pro DLP, sčítání a zdvojování v aditivní grupě pro ECDLP). Díky tomu je v pracovním registru uložena superpozice všech hodnot odpovídající jednotlivým operacím s generátorem, tedy možné hodnoty jeho mocnin pro DLP nebo bodů křivky pro ECDLP. Po vytvoření kvantového provázání mezi řídícími a pracovním registrem se použije na řídící registry kvantová Fourierova transformace pro zjištění periody. Ta převádí periodickou strukturu fází na měřitelný výsledek, který je možné později odečíst a vyhodnotit v rámci post-processingu. Vyhodnocení probíhá nad řídícími registry. QFT sama o sobě používá Hadamardovy brány, brány řízených fázových rotací (CP, CRk) a brány SWAP pro úpravu pořadí qbitů, v případě řešení problému diskrétního logaritmu se provádí nad oběma registry současně.
V případě DLP se v pracovním registru vypočítávají hodnoty typu . Tyto operace jsou realizovány pomocí reverzibilní aritmetiky založené na CNOT a CCNOT hradlech. Každý qbit řídicího registru ovládá příslušné sekvence modulárního násobení, přičemž celý výpočet probíhá paralelně nad superpozicí všech možných exponentů. V případě ECDLP se provádí řízené skalární násobení bodu eliptické křivky za pomocí reverzibilních obvodů pro sčítání bodů a jejich zdvojování. Tyto obvody jsou opět sestaveny ze sítí CNOT a CCNOT hradel a jsou řízeny jednotlivými qbity řídicích registrů. V obou případech každý qbit řídícího registru ovládá příslušnou část výpočtu bodových operací, přičemž celý proces probíhá v kvantové superpozici. Pracovní registr obsahuje příspěvky obou registrů a na konci výpočtu je možné ho zahodit.
Protože je obtížné odhadnout, jaká bude na dané technologii rychlost přepínání hradel (rotace v Hilbertově prostoru), pro výpočet byly použity následující předpoklady. Počet qbitů se zdvojnásobí každé 3 roky, ale jedná se o fyzické, nikoliv logické qbity. Pro ochranu bude každý logický qbit tvořen 1000 fyzických qbitů. Fyzický objem QPU se pak každé 3 roky zmenší zhruba na dvě třetiny původní velikosti. Tyto podmínky platí pouze pokud bude vývoj pokračovat stejným způsobem, nedojde k technologickému průlomu nebo nenarazíme na fyzikální bariéry (což je také možné). Dále, rychlost hradel bude stálá, všechna hradla se spínají rychlostí 1µs. To také není pravda, ale pro odhad uvedená informace postačuje. Na základě uvedeného vývoje a požadovaného počtu qbitů a hradel je možné odhadnout velikost objemu kvantového počítače bez chlazení a izolace okolo roku 2035. Zde znovu upozorňuji, jedná se pouze o odhad. A poslední důležitý kousek skládačky. Protože informace se šíří pouze rychlostí světla (v tomto případě se jedná o limit popisující délku interakce mezi několika qbity), je na základě objemu určena velikost koule. Pro tuto kouli je při rovnoměrném rozmístění komponent určena střední vzdálenost, která umožňuje určit průměrnou prodlevu zpoždění hradla. Pokud se o tyto údaje opřeme, je možné odhadnout parametry daného kryptograficky relevantního kvantového počítače okolo roku 2035. A to včetně doby, po kterou by se zpracovával běh jednoho průchodu Shorovým algoritmem.
| Algoritmus | Logické qbity | Počet hradel | Čas (s) | Objem (m³) |
| DSA 1024 | 2058 | 1.074·1010 | 1.074·103 | 0.028 |
| DSA 2048 | 4106 | 8.590·1010 | 8.590·103 | 0.055 |
| DH 1024 | 2058 | 1.074·1010 | 1.074·103 | 0.028 |
| DH 2048 | 4106 | 8.590·1010 | 8.590·103 | 0.055 |
| DH 3072 | 6154 | 2.899·1011 | 2.899·104 | 0.083 |
| DH 4096 | 8202 | 6.872·1011 | 6.872·104 | 0.111 |
| DH 6144 | 12298 | 2.319·1012 | 2.319·105 | 0.166 |
| DH 8192 | 16394 | 5.498·1012 | 5.498·105 | 0.221 |
| brainpoolP256r1 | 522 | 1.678·108 | 16.78 | 0.007 |
| brainpoolP384r1 | 778 | 5.662·108 | 56.62 | 0.010 |
| brainpoolP521r1 | 1052 | 1.414·109 | 141.42 | 0.014 |
| NIST P-256 | 522 | 1.678·108 | 16.78 | 0.007 |
| NIST P-384 | 778 | 5.662·108 | 56.62 | 0.010 |
| NIST P-521 | 1052 | 1.414·109 | 141.42 | 0.014 |
| Curve25519 | 520 | 1.658·108 | 16.58 | 0.007 |
| Curve448 | 906 | 8.992·108 | 89.92 | 0.012 |
| RSA 512 | 1029 | 6.711·108 | 67.11 | 0.014 |
| RSA 1024 | 2053 | 5.369·109 | 536.87 | 0.028 |
| RSA 2048 | 4101 | 4.295·1010 | 4.295·103 | 0.055 |
| RSA 2540 | 5085 | 8.194·1010 | 8.194·103 | 0.069 |
| RSA 3072 | 6149 | 1.450·1011 | 1.450·104 | 0.083 |
| RSA 4096 | 8197 | 3.436·1011 | 3.436·104 | 0.110 |
| RSA 7168 | 14341 | 1.841·1012 | 1.841·105 | 0.193 |
| RSA 8192 | 16389 | 2.749·1012 | 2.749·105 | 0.221 |
| RSA 13550 | 27105 | 1.244·1013 | 1.244·106 | 0.365 |
| RSA 37100 | 74205 | 2.553·1014 | 2.553·107 | 1.000 |
| RSA 76608 | 153221 | 2.248·1015 | 2.248·108 | 2.064 |
Důležitým parametrem pro zjištění výsledku je počet opakování. Problémem u kvantových výpočtu je pravděpodobnostní průběh. A tady to začíná být zajímavé. Pokud chci dosáhnout odpovídající statistické hodnoty sigma (směrodatná odchylka), musí dojít u běžného náhodného rozdělení výstupů k značnému počtu opakování výpočtu. Počet opakování je tak uveden jako samostatný parametr, který závisí na pravděpodobnosti správného výsledku úlohy. Nejlepší možný případ je 60%, nejhorší možný případ je 40%. Nevýhodou jsou náklady na zvyšování přesnosti. Pro jednoduchou změnu přesnosti z 1% na 0,1% dojde k zvýšení počtu potřebných měření stonásobně.
Výhodou na naší straně je ale vlastní výstup Shorova algoritmu. Ten nemá typické Gausovské rozdělení, tedy funkce, připomínající klobouk nebo obrázek hada co spolkl slona z Malého prince. Má ostré výchylky (peaky), které ukazují na konkrétní hodnoty možných výstupů. To vypadá přibližně následujícím způsobem.
Díky existenci těchto ostrých hodnot a pravděpodobnosti nalezení odpovídajících hodnot je možné výrazně snížit počet opakování. Z původních tisíců potřebných měření se tak dostaneme na jednotky až desítky opakování. Zmiňované ostré hodnoty jsou určitým způsoem rozloženy ve výstupu v poměru odpovídajícímu délce registru oproti hledané periodě funkce. Tedy je tu několik pravděpodobných výstupů a my je musíme najít a otestovat. To nás dostane k následujícímu změně. Ta je pro zjednodušení pouze ve formě tabulky, neobsahuje ani kompletní sadu možných algoritmů. Výsledky jsou víceméně podobné.
| Algoritmus | Délka registru | Počet peaků | Počet měření pro 99% pravděpodobnost |
| RSA 2048 | 2048 | ~21024 | 7 |
| DH 3072 | 3072 | ~23072 | 7 |
| ECDH 256 | 512 | ~2256 | 7 |
Výsledky výpočtu pomocí kvantového počítače prochází post-processingem na klasickém počítači. Doba tohoto výpočtu je vzhledem k práci prováděné kvantovým počítačem zanedbatelná. U problémů diskrétního logaritmu se jedná o časy menší než 1s, pro 1024b RSA klíč jednotky sekund, pro 2048b desítky sekund a následně přibližně každé zdvojnásobení šířky klíče rozšiřuje dobu zpracování výsledků na klasickém digitálním počítači desetkrát. Přesto se jedná oproti výpočtu o zanedbatelný čas. Kvantový počítač je tak možné si z tohoto pohledu představit jako jakýsi analogový pravděpodobnostní stroj.
Pokračování bude v části Odhad příkonu kvantových počítačů (23.března 2026)
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.