věda

Tento více než 380letý trik může rozbít některé moderní šifrování

Sotva se někdo zajímá o mé daňové přiznání – není toho moc. A to je dobrá věc, vzhledem k tomu, že útočník mohl poměrně snadno zachytit šifrovanou komunikaci mezi mým notebookem a tiskárnou, když jsem v posledních letech vytiskl návrat.

Na začátku roku 2022 výzkumný pracovník v oblasti bezpečnosti informačních technologií Hanno Böck zjistil, že některé z těchto šifrování lze v procesu, který pokračoval v popisu v a 2023 Předtiskový papírzveřejněno The Mezinárodní asociace pro kryptologický výzkum‚s Kryptologie Eprint Archive. Jeho metodu lze vysledovat zpět k tématu vyvinuté francouzským učencem Pierre de Fermat v 17. století.

Fermat – nejvíce známý pro své záhadné „poslední věta“Což po celá desetiletí obtěžovalo odborníky – porovnával ve svém životě ve světě vědy všechny druhy užitečných věcí. Například položil základy pro teorii pravděpodobnosti a také hodně pracoval na prvotřídních číslech – na těchto hodnotách, které jsou dělitelné pouze 1 a sami sebou.


O podpoře vědecké žurnalistiky

Pokud se vám tento článek líbí, zvažte podporu naší oceněné žurnalistiky předplatné. Zakoupením předplatného pomáháte zajistit budoucnost působivých příběhů o objevech a myšlenkách, které dnes formují náš svět.


Matematici měli podezření, že by mohli použít Fermatovu práci k přerušení šifrování – a Böck tento případ prokázal.

Složité problémy pro bezpečnost

Moderní šifrovací systémy jsou založeny na obtížných matematických problémech. Fungují jako visací zámek: Problém (zámek) nelze vyřešit bez dalších informací (klíč). Běžný postup je tzv. RSA kryptografieCož souvisí s prvotřídními čísly. Rozkládání velkého počtu na produkt prvočísla je obtížné, což z nich činí užitečné klíče.

Prvotní čísla jsou často označována jako atomy teorie čísel – nedividitelné stavební bloky, ze kterých jsou přirozená čísla konstruována. Jakékoli jiné číslo lze napsat jako jedinečný produkt prvočísel, například 15 = 3 × 5 nebo 20 = 2 × 2 × 5. U malých hodnot je snadné určit hlavní dělitele. Ale co, řekněme, 7 327 328 314? Doposud žádný počítačový program nemůže rychle vypočítat hlavní dělitele libovolně velkého počtu.

Toto omezení je přesně to, co využívá kryptografie RSA. Chcete -li pochopit, jak tento druh protokolu funguje, zvažte zjednodušený příklad, kde se RSA používá k šifrování dat pomocí velkého počtu. Předpokládejme, že člověk chce poslat slovo věda, která se skládá ze sedmi dopisů, příjemci v šifrované formě. K tomu používají velké sedmimístné číslo, jako je 6 743 214, a posouvají každé vědecké písmeno příslušnou číslicí-tak mění šest písmen, aby se staly y, C posune sedm písmen, aby se stala j, a tak dále. Konečným výsledkem je šifrované slovo cjmhpdi. Odesílatel to nyní může odeslat jiné osobě, aniž by posluchač mohl zprávu dekódovat.

Příjemce by však měl být schopen určit původní slovní vědu, buď se samotným klíčem (6 743 214), nebo vodítko pro výpočet klíče. Protože první z nich vždy nese riziko – útočník by mohl odposlouchat komunikaci mezi oběma stranami, a tak zachytit klíč – kryptografie RSA nabízí způsob, jak bezpečně rekonstruovat klíč. Základní myšlenkou je, že před odesláním tajné zprávy odesílatel a přijímač společně vygenerují klíč z veřejně dostupných informací. Zabezpečení je zaručeno tím, že odesílatel a příjemce každý tajně používají velká prvočísla, která se množí společně, a pouze si navzájem posílají výsledky tohoto výpočtu. EavesDropper potřebuje prvotní čísla, aby generoval klíč. Ale protože tato osoba může produkty zachytit pouze a nemůže je faktorovat, odposlouchávání je bezmocný. (Skutečný protokol RSA pro generování klíčů je trochu komplikovanější, ale to je obecná myšlenka za tím).

Fermatová faktorizace

Téměř před čtyřmi stoletími Fermat pracoval na souvisejících problémech. Chtěl vědět, jak zohlednit čísla do jejich součástí prvočísla. Udělal to čistě z matematické zvědavosti – v době, kdy nebyly známy žádné kryptografické metody pro bezpečnou výměnu klíčů.

A Fermat skutečně našel způsob, jak zohlednit i velké množství, které jsou produktem dvou prvočísla. Jeho metoda není komplikovaná; Můžete to udělat s kalkulačkou (ačkoli Fermat, mimochodem, žádný neměl). Aby zapůsobil na své současné, Fermat předvedl metodu pomocí příkladového čísla n = 2 027 651 281.

Fermatova faktorizace funguje takto: Vezmete si číslo n, V tomto případě 2 027 651 281 a jeho kořen. Zpravidla to bude mít za následek lichou hodnotu, jako je tomu v tomto případě: √2,027,651,281 ≈ 45,029,45. Zaokrouhlíte nahoru, abyste získali 45 030. Toto číslo je na druhou a původní hodnota n je odečteno od výsledku: 45 0302 – 2 027 651 281 = 49 619. Nyní musíte zkontrolovat, zda je výsledkem čtvercové číslo. Jak se to stane, 49 619 není čtvercové.

Takže pokračujete. Začněte znovu s zaoblený kořen 45 030, přidejte 1 a poté čtverujte výsledek k odečtení původní hodnoty n Z toho – to je 45 0312 – 2 027 651 281 = 139 680 – a znovu zkontrolujte, zda je výsledkem čtvercové číslo. Ještě jednou tomu tak není.

Takže celou věc opakujete. Tentokrát přidáte 2 až 45 030 a čtvercové výsledek, ze kterého odečtete původní hodnotu N: 45 0322 – 2 027 651 281 = 229 743. Opět to není čtvercové číslo.

Fermat musel mít hodně trpělivosti. V jeho příkladu musíte provést postup celkem 12krát, dokud nenajdete čtvercové číslo: 45 0412 – 2 027 651 281 = 1 040 400 = 1 0202.

A jak to pomůže? Ve výše uvedené rovnici je čtvercové číslo y2 (V tomto případě 45 0412) mínus n rovná se dalšímu čtvercovému číslu x2 (v tomto případě 10,202). Rovnice y2n = x2 lze přeuspořádat jako y2x2 = n. Levá strana odpovídá rovnici známé jako třetí binomický vzorec (y x) · (y + x) = n. To automaticky faktoruje číslo n do dvou čísel yx a y + x. Pro příklad s n = 2 027 651 281, dva faktory jsou proto 45 041 – 1 020 = 44 021 a 45 041 + 1 020 = 46 061. Oba jsou prvočísla.

Útok na tiskárnu

Tato metoda faktorizace ve skutečnosti vždy funguje pro liché n. Počítače to však mohou provádět dostatečně rychle, pouze pokud dva hlavní faktory n nejsou příliš daleko od sebe. A to byl přesně problém, který Böck objevil v programové knihovně používané různými společnostmi v té době. První čísla generovaná pro šifrování nebyla dostatečně náhodná a program často vybral dvě prvočísla, která byla blízko sebe. To znamená, že k obcházení šifrování lze použít metodu Fermatovy faktorizace.

Böck si uvědomil, že tiskárny některých společností používaly takové nedostatečné šifrování. Například kryptografii RSA použili k ochraně důvěrných dokumentů, které byly zaslány do tiskárny prostřednictvím sítě. Po jeho zjištění v roce 2022 tyto společnosti vydaly Upozornění a opravy řešit problém. Můžeme jen doufat, že jiné společnosti uzavřely takové bezpečnostní mezery.

V každém případě bude mnoho společností v nadcházejících letech muset přehodnotit své šifrovací standardy. I když běžné počítače nedokážou faktorovat velká čísla, U výkonných kvantových počítačů to bude jiné. Fermat by nikdy nesnil, že více než 380 let po jeho objevu by to počítače, které se spoléhají na komplikované principy kvantové mechaniky pro jejich výpočty, by to mohly využít.

Tento článek se původně objevil v Spektrum vědy a byl reprodukován se svolením.

Zdrojový odkaz

Related Articles

Back to top button