Univerzita Karlova v Praze Matematicko fyzikální fakulta BAKALÁŘSKÁ PRÁCE

Podobné dokumenty
8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

Šifrová ochrana informací věk počítačů PS5-2

Čínská věta o zbytcích RSA

Šifrová ochrana informací věk počítačů PS5-2

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

Asymetrická kryptografie

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Jak funguje asymetrické šifrování?

Pokročilá kryptologie

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

ElGamal, Diffie-Hellman

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie

5. a 6. přednáška z kryptografie

KRYPTOGRAFIE VER EJNE HO KLI Č E

Diffieho-Hellmanův protokol ustanovení klíče

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

Kryptografie založená na problému diskrétního logaritmu

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky

Správa přístupu PS3-2

1 Linearní prostory nad komplexními čísly

Miroslav Kureš. Aplikovaná matematika Ostravice workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice

1 Polynomiální interpolace

Kvantové algoritmy a bezpečnost. Václav Potoček

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Eliptické křivky a RSA

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n.

asymetrická kryptografie

MFF UK Praha, 22. duben 2008

Diskrétní logaritmus

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

ŠIFROVACÍ METODA ZALOŽENÁ NA FRAKTÁLNÍ KOMPRESI. 1. Úvod. V posledních letech se ukázalo, že teorii fraktálů lze využít v mnoha teoretických

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Vzdálenost jednoznačnosti a absolutně

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

1 Mnohočleny a algebraické rovnice

Základy matematické analýzy

Úvod. Karel Klouda c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011

Univerzita Karlova v Praze Pedagogická fakulta

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Moderní metody substitučního šifrování

Složitost Filip Hlásek

1 Mnohočleny a algebraické rovnice

Pomocný text. Polynomy

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Zavedení a vlastnosti reálných čísel

Digitální podepisování pomocí asymetrické kryptografie

PŘEDNÁŠKA 7 Kongruence svazů

Datové struktury 2: Rozptylovací tabulky

Složitost a moderní kryptografie

Problematika převodu zprávy na body eliptické křivky

Numerická matematika 1

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

Zpracoval: 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Zbytky a nezbytky Vazební věznice Orličky Kondr (Brkos 2010) Zbytky a nezbytky / 22

Hlubší věty o počítání modulo

1 Lineární prostory a podprostory

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Hlubší věty o počítání modulo

Digitální podepisování pomocí asymetrické kryptografie

8 Kořeny cyklických kódů, BCH-kódy

4 Počítání modulo polynom

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

PŘEDNÁŠKA 2 POSLOUPNOSTI

Báze a dimenze vektorových prostorů

Riemannova hypotéza Martin Havlík 2. A

1 Řešení soustav lineárních rovnic

Konstrukce šifer. Andrew Kozlík KA MFF UK

Matematika IV - 5. přednáška Polynomy

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

Pokročilá kryptologie

Interpolace Lagrangeovy polynomy. 29. října 2012

Zimní semestr akademického roku 2014/ prosince 2014

15. KubickÈ rovnice a rovnice vyööìho stupnï

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Postranními kanály k tajemství čipových karet

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Matematika IV - 5. přednáška Polynomy

Fibonacciho čísla na střední škole

Kongruence na množině celých čísel

Funkce, elementární funkce.

Diskrétní matematika 1. týden

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Informatika Ochrana dat

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Definice (Racionální mocnina). Buď,. Nechť, kde a a čísla jsou nesoudělná. Pak: 1. je-li a sudé, (nebo) 2. je-li liché, klademe

Komerční výrobky pro kvantovou kryptografii

Testování prvočíselnosti

Intervalová data a výpočet některých statistik

Základy šifrování a kódování

opravdu považovat za lepší aproximaci. Snížení odchylky o necelá dvě procenta

2.8.6 Čísla iracionální, čísla reálná

Věta o dělení polynomů se zbytkem

Transkript:

Univerzita Karlova v Praze Matematicko fyzikální fakulta BAKALÁŘSKÁ PRÁCE Petr Růžička Přehled útoků na RSA Katedra Algebry Vedoucí bakalářské práce: Doc. RNDr. Jiří Tůma DrSc. Studijní program: obecná matematika 2009

Děkuji vedoucímu bakalářské práce za trpělivost a podporu při její tvorbě. Prohlašuji, že jsem svou bakalářskou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce. V Praze dne 28. 5. 2009 Petr Růžička 1

Obsah 1. Úvod 1.1 Faktorizace 2. Jednoduché útoky 3. Malý soukromý exponent 4. Malý veřejný exponent 4.1 Coppersmithova věta 4.2 Hastardův útok 4.3 Franklin Reiterův útok na zprávy v relaci 4.4 Coppersmithův útok na krátké doplnění 4.5 Částečné odhalení klíče 5. Útoky na implementace/postranní kanály 5.1 Poznámka o složitosti 5.2 Časovací útoky 5.3 Náhodné chyby 5.4 Bleichenbacherův útok na PKCS 1 6. Shrnutí 7. Seznam literatury 2

Název práce: Přehled útoků na RSA Autor: Petr Růžička Katedra (ústav): Katedra Algebry Vedoucí bakalářské práce: Doc. RNDr. Jiří Tůma DrSc. e mail vedoucího: : Jiri.Tuma@mff.cuni.cz Abstrakt: Aktualizace, doplnění a rozšíření článku od Dana Boneha Dvacet let útoků na kryptosystém RSA na základě literatury zveřejněné po jeho vydání a doplnění o některé nové útoky. Klíčová slova: RSA, kryptoanalýza, útoky Title: Survey of attacks on RSA cryptosystem Author: Petr Růžička Department: Department of algebra Supervisor: Doc. RNDr. Jiří Tůma DrSc. Supervisor s e mail address: Jiri.Tuma@mff.cuni.cz Abstract: Actualization of Dan Boneh s article Twenty Years of Attacks on the RSA Cryptosystem based on literature published after it s release and completion with some new attacks. Keywords: RSA, cryptoanalysis, attacks 3

1. Úvod Kryptosystém RSA, vynalezený R. Rivestem, A. Shamirem a L.Adlemanem byl prvně publikován v srpnovém vydání Scientific American roku 1977. Je nejběžněji užívám pro zajištění privátnosti a autenticity elektronických dat. V současné době je RSA implementováno v mnoha komerčních systémech, je užíváno internetovými servery a prohlížeči k zajištění bezpečného provozu, k zajištění bezpečnosti emailové komunikace, ke vzdálenému přihlašování a je v jádru mnoha systémů placení čipovými kartami. Stručně řečeno je RSA užíváno v aplikacích obstarávajících bezpečnost dat. Již od své publikace byl systém RSA analyzován a byly hledány slabiny. I když přes třicet let výzkumu vedlo k mnohým zajímavým útokům, žádný z nich zatím nebyl pro RSA zničující. Většina z nich ilustruje nebezpečí nesprávného užití systému, protože implementovat RSA bezpečně je úkol silně netriviální. Cíl tohoto článku je vytvořit přehled některých z útoků. Začneme popisem zjednodušené verze RSA. Nechť je součin dvou velkých prvočísel přibližně stejné velikosti n/2 bitů. Typická velikost N je 1024 (méně obvykle se užívá i 2048 či 4096 bitů), což je 309 místné číslo (v desítkové soustavě). Každý z faktorů p, q má tedy zhruba 512 bitů. Nechť dále e, d jsou dvě celá čísla větší než 1 a menší než splňující 1, kde je eulerovská funkce N, tedy 1 1, což je také řád multiplikativní grupy. N nazveme RSA modulem, e šifrovacím (veřejným) exponentem, d dešifrovacím (soukromým) exponentem. Pár, se potom nazývá veřejný klíč, pár, klíč soukromý (tajný). Zpráva je pak chápána jako celé číslo. K zašifrování M musí odesilatel spočítat. K dešifrování takto zašifrované zprávy příjemce spočítá. Opravdu, kde poslední kongruence plyne z Eulerovy věty. Definujeme RSA funkci jako zobrazení. Je li dáno d, je funkce snadno invertovatelná pomocí předchozího. Často se o d mluví jako o zadních dveřích umožňujících inverzi RSA funkce. Budeme se zabývat invertováním RSA funkce bez znalosti, tomu se také říká zlomení RSA. Přesněji, je li daná trojice,,, ptáme se, jak obtížné je vypočítat e tou odmocninu C modulo, když samotná faktorizace N je neznámá. Protože je konečná množina, jeden možný přístup je prohledání všech jejich prvků a hledání správného M. To vede na algoritmus s časovou náročností řádu N, přesněji exponenciální v délce vstupu. Zajímají nás hlavně postupy s výrazně nižší výpočetní náročností, konkrétně řádu, kde a c je nějaká malá konstanta. Takové algoritmy nazvěme efektivní. 4

Studujeme hlavně RSA funkci, na rozdíl od RSA kryptosystému. Obtížnost invertování RSA funkce na náhodných vstupech říká, že s danou trojicí,, útočník nedokáže snadno získat otevřený text M odpovídající C. Na druhou stranu kryptosystém musí odolat i důmyslnějším útokům. Je li dáno,,, mělo by být obtížné získat jakoukoliv informaci o. 1.1 Faktorizace První útok na veřejný klíč RSA zvažoval faktorizaci modulu. Pokud útočník zná faktorizaci modulu, může snadno zrekonstruovat 1 1, ze kterého již snadno vypočítá pomocí rozšířeného Euklidova algoritmu. Faktorizaci modulu se také říká útok hrubou silou. I když se faktorizační algoritmy stále vyvíjejí, současný stav je daleko od skutečné hrozby pro bezpečnost samotné šifry RSA, pokud je správně implementována a užita. I když je prvočíselný rozklad jistě zajímavý problém, není cílem tohoto článku se jím zabývat. Cílem je utvořit přehled některých útoků, které dešifrují zprávy bez přímé faktorizace modulu. I přesto je ale dobré zmínit, že určité množiny RSA modulů mohou být faktorizovány snadno například pokud 1 je součinem faktorů menších než B, pak N lze faktorizovat v čase menším, než operací. Některé implementace už proto přímo odmítají prvočísla p, pro která je 1 součinem malých prvočísel. Jak je uvedeno výše, existuje li efektivní faktorizační algoritmus, pak není RSA bezpečnou šifrou. Opak je ovšem stále otevřený problém: je nutné faktorizovat pro efektivní výpočet e té odmocniny modulo? Neboli: je prolomení RSA ekvivalentní faktorizaci? Tvrzení: Nechť, je veřejný klíč. Znalost privátního exponentu d je (efektivně) ekvivalentní znalosti faktorizace modulu. Důkaz: Faktorizace dává okamžitě 1 1 a ze znalosti e se snadno dopočítá. Naopak známe li d, spočtěme 1. Z definice e a d plyne, že k je násobek. Protože je sudé, je 2, kde r je liché a 1. Pak platí 1 pro každé a tedy je odmocnina z jedné modulo N. Z čínské věty o zbytku pak plyne, že jednička má čtyři různé odmocniny modulo. Dvě z nich jsou 1. Druhé dvě, kde splňuje vztah 1 1. Užitím těchto se již snadno získá faktorizace spočítáním 1,. Pokud je g zvoleno náhodně (přes pak s pravděpodobností alespoň ½ je jeden z členů posloupnosti,,,, druhá odmocnina z jedné, která odhaluje faktorizaci. Všechny členy této posloupnosti lze efektivně vypočítat v čase kde. 5

2. Jednoduché útoky Nejdříve popíšeme několik jednoduchých útoků, které ilustrují neopatrné užití šifrování RSA. 2.1 Společný Modul Pro usnadnění práce a ušetření výpočetního času by někoho mohlo napadnout užít pro více uživatelů totožný modul a pomocí důvěryhodné autority mezi uživatele rozdělit pouze různé klíčové páry,, ze kterých si každý uživatel i vytvoří vlastní veřejný klíč, a soukromý klíč,. Na první pohled vše funguje, jak má šifrový text určený uživateli 1 nedokáže žádný jiný uživatel rozluštit, protože nevlastní,. To ale není pravda, výsledný systém je (utajením) ekvivalentní užití totožného klíčového páru pro všechny své uživatele. Pomocí předchozího tvrzení totiž libovolný uživatel i dokáže pomocí svého klíčového páru, faktorizovat společný modul. Po obdržení faktorizace mu již nic nebrání v dopočítání všech klíčových dvojic, konkrétně privátních klíčů, odpovídajících veřejným klíčům, pro všechny. 2.2 Zaslepování Nechť, je privátní klíč a, je odpovídající klíč veřejný. Předpokládejme, že útočník chce získat podpis zprávy. Právoplatný uživatel může odmítnout zprávu M podepsat, ale útočník může užít následující trik: vybere, ke kterému zná jeho inverzní prvek, a zvolí. Poté požádá uživatele o podpis zprávy. Uživatel zprávu, která se mu pravděpodobně jeví neškodná, už nemusí odmítnout podepsat a vrátí útočníkovi podpis. Ale připomeňme, že, pak útočník jednoduše spočítá a obdrží tím podpis S původní zprávy M. Opravdu Tento postup umožňuje útočníkovi získat platný podpis libovolné zprávy požádáním o podpis zaslepené zprávy, která se podepisovateli může jevit jako náhodná. 6

2.3 Dvojí užití Pro usnadnění výpočtů by se mohlo zdát výhodné užít totožný klíčový pár jak pro šifrování zpráv, tak pro jejich podepisování. Toto ovšem útočníkovi, kterému se podaří zachytit šifrový text, umožňuje takřka bez námahy získat jemu odpovídající otevřený text M. Pomocí postupu z předchozího odstavce podstrčí nevědomému uživateli k podpisu zaslepenou zprávu a obdrží podpis, ze kterého již snadno vypočte. 2.4 Útok na krátké zprávy Pokud platí, že, je zjevné, že lze obdržet zprávu prostým odmocněním šifrového textu na přirozených číslech. I pro některé o málo větší případy je metoda zkoušení odmocňování možná, pro lze prostým testováním (pro 0,1, ) na přirozených číslech získat původní zprávu, pokud byla vůči modulu výrazně kratší. Tento postřeh ilustruje potřebu doplňování zprávy na dostatečnou délku ještě před použitím vlastního šifrování. 2.5 Útok násobným šifrováním Násobné šifrovaní, neboli opakované umocňování šifrového textu na veřejný exponent, by mohlo v některých vzácných případech umožnit dešifrování. Zvolme nejmenší celé číslo takové, že 1. Pak protože, bude platit. Tohle lze považovat za zvláštní verzi faktorizace, protože lze vzít a použít postup popsaný v důkazu tvrzení v odstavci 1.1. Takovýto útok je reálný pouze za předpokladu, že výše zmíněné je malé, k čemuž ale v běžném užití RSA nedochází. Uvádíme tenhle teoretický útok jen jako zajímavý postřeh ilustrující vlastnosti RSA. 3. Malý soukromý exponent Pro urychlení dešifrovací operace (nebo operace generování podpisu) se může zdát výhodné užít malou hodnotu soukromého klíče. Bohužel útok od M. Wienera ukazuje, že příliš malý soukromý exponent ústí v úplné zničení systému. Tvrzení (M. Wiener) Nechť, 2. Nechť. Pomocí, s tím, že 1, dokáže útočník efektivně získat. 7

Důkaz: Důkaz je založen na aproximacích pomocí řetězových zlomků. Protože 1, existuje k takové celé, že 1. Tudíž 1 A tedy je aproximací. I když útočník nezná hodnotu, může užít k jejímu odhadu. Protože 1 1 11 a 13, máme 3. Užitím N na místo, obdržíme 1 3 3 Dále 1 a protože, je zřejmě, z čehož dostáváme. To je klasický aproximační vztah, počet podílů s aproximujících je omezen. Tedy stačí spočítat prvních členů rozvoje v řetězový zlomek. Jeden z nich bude roven. A protože 1 a, 1, je tedy zlomek v základním (zkráceném) tvaru a jeho jmenovatel je pak hledaným soukromým exponentem. M. Wiener dále navrhl postup na testování členů posloupnosti rozvoje. Nechť je člen rozvoje v řetězové zlomky, Pokud je to správný odhad pro, pak 1 1 1. A lze tedy spočítat,. Pokud jsou takto obdržená čísla, čísla přirozená, pak člen je správný odhad pro. Samozřejmě znalost, dává triviálně i faktory. Jinou možností odhalení správného členu je také prosté testování pomocí pro náhodně volené M. Příklad (převzatý z [5]) Nechť 7978886869909, 3594320245477, 561. Rozvoj v řetězový zlomek je pak 0; 2,4,1,1,4,1,2,31,21,13,1,16,3,1,114,10,1,4,5,1,2 a tedy posloupnost členů rozvoje začíná následovně 0,,,,,,,,, 8

Užitím pokusného hledání pomocí 2 2 zjistíme, že d = 313. Pro pomocí předchozího spočítáme 2878805, 555546, což už přímo vede na 2323259, 3434351. Na tomto příkladě je vidět, že by možná nemuselo být nutné testovat všechny členy rozvoje, jak dokazuje A. Dujella v [5], kde také navrhuje vlastní variantu Wienerova útoku. D. Boneh a G. Durfee v [6] dále ukázali, že Wienerova mez pro nemusí být konečná a navrhli svou verzi útoku až pro. pomocí Coppersmithovy techniky hledání malých kořenů modulárních polynomiálních rovnic o dvou proměnných. Podobný přístup použili i J. Blömer a A. May [3 a 7] pro.. Oba tyto navržené útoky jsou zatím pouze heuristické, autoři poznamenávají nutnost vytvoření korektních důkazů. 4. Malý veřejný exponent K ukrácení šifrovacího nebo ověřovacího výpočetního času je obvyklé užívat malého veřejného exponentu. Nejmenší možná hodnota pro je 3, ale pro překonání některých útoků (viz např. 4.2) je doporučována hodnota 2 1 65537. Při použití tohoto vyžaduje procedura ověření podpisu jen 17 násobení oproti zhruba 100, při použití náhodného [1]. Na rozdíl od předchozího, útoky použitelné v případě malého jsou svou nebezpečností daleko od úplného prolomení systému a jejich užitečnost tkví spíše ve zjednodušování postupů pro útoků jiné. 4.1 Coppersmithova věta Jedny z nejsilnějších útoků na RSA s malým veřejným exponentem jsou zakládány na větě, jejímž autorem je D. Coppersmith. Věta (D. Coppersmith) Nechť je přirozené číslo, je monický polynom stupně. Nechť pro 0. Pak, při daném, může útočník efektivně nalézt všechna přirozená čísla splňující 0. Výpočetní čas je omezen časem běhu algoritmu na mříži dimenze, kde min,. Tato věta vede na algoritmus pro efektivní hledání všech kořenů modulo N takových, které jsou menší než. Při zmenšujícím se X klesá i časová náročnost algoritmu. Náznak důkazu viz [1]. 9

4.2 Hastadův útok Předpokládejme, že Bob chce poslat zašifrovanou zprávu více ruzným příjemcům,,. Každý z příjemců má svůj vlastní RSA klíč,. Předpokládáme, že je menší než všechny. Bob tedy může jednoduše zašifrovat zprávu pomocí daných veřejných klíčů a rozeslat šifrové texty odpovídajícím příjemcům. Předpokládáme dále, že útočník může snadno zachytit zprávy mezi Bobem a příjemci a získat tak všechny šifrové texty. Pro jednoduchost zápisu předpokládejme, že všechny veřejné exponenty jsou rovny 3. Potom už může útočník snadno získat M, pokud 3, následovně: Útočník zná,,, kde,,. Můžeme v bezpečí předpokládat, že gcd, = 1 pro všechna. (V případě, že by tomu tak nebylo, byla by odhalena faktorizace alespoň jednoho z modulů a tím i původní zpráva triviálně.) Aplikujeme li tedy čínskou větu o zbytku na,,, dostaneme splňující. Ale protože pro všechna, dostáváme a tedy platí i v přirozených číslech. Útočník tedy může získat původní zprávu vypočítáním prosté třetí odmocniny. Obecněji, pokud jsou veškeré veřejné exponenty rovné, může útočník získat, jakmile zachytí zpráv pro. Z toho také plyne, že útok je rozumný, jen pokud je použitý relativně malý veřejný exponent. Hastad popsal mnohem silnější verzi útoku, uvažme jednoduchou obranu proti předchozímu. Raději než rozesílání šifrované verze zprávy, Bob může doplnit zprávu ještě před šifrováním, na příklad, pokud je délky bitů, Bob může poslat 2 příjemci. Protože útočník takto zachytí šifrované verze různých zpráv, nemůže použít výše popsaný útok. Bohužel Hastad ukázal, že takovéto lineární doplňování je nedostatečné. Přesněji dokázal, že užití jakéhokoliv pevně daného polynomu na zprávu před zašifrováním není dostatečnou obranou. Předpokládejme, že pro každého příjemce,, má Bob dán pevný polynom. Pro odeslání zprávy zašle Bob zašifrované příjemci. Odposloucháváním komunikace útočník získá pro 1,,. Hastad ukázal, že pokud je zapojeno dostatečné množství příjemců, útočník má možnost získat původní zprávu ze získaných. Věta (Hastad): Nechť,, jsou po dvou vzájemně nesoudělná přirozená čísla a. Nechť je polynomů stupně nejvýše. Předpokládejme, že existuje jediné splňující 0 pro všechna 1,,. Za předpokladu, že, lze efektivně nalézt při znalosti,. Důkaz: Nechť. Můžeme bez ztráty na obecnosti předpokládat, že všechny jsou monické. (Pokud, pro nějaké, je vedoucí koeficient neinvertovatelný v, pak je 10

odhalena i faktorizace modulu.) Násobením každého odpovídající mocninou, lze bez ztráty na obecnosti také předpokládat, že mají všechny stejný stupeň. Zkonstruujeme polynom, kde 1 pokud a 0 pokud. Pak musí být monický, protože je monický modulo všechna. Jeho stupeň je. Dále víme, že 0. Věta pak plyne z Coppersmithovy věty v odstavci 4.1, protože / /. Tato věta ukazuje, že systém rovnic o jedné proměnné modulo (vzájemně nesoudělná) složená čísla může být efektivně vyřešen, pokud je k dispozici dostatečné množství rovnic. Zvolením vidíme, že útočník může získat z daných šifrových textů, pokud počet stran je alespoň, kde max přes všechna 1,,. Speciálně, pokud jsou všechna rovna a odesilatel pošle lineárně závislé zprávy, pak útočník může získat původní zprávu, pokud. Pro úplnost uveďme, že pro obranu proti výše popsanému útoku musí být použito náhodné doplnění zprávy namísto pevného. 4.3 Franklin Reiterův útok na zprávy v relaci. Franklin a Reiter nalezli útok pro situaci, kdy Bob zašle Alici zprávy v relaci při použití stejného modulu. Nechť, je veřejný klíč Alice. Předpokládejme, že, jsou dvě různé zprávy splňující pro nějaké veřejně známý polynom N x. K odeslání Alici může Bob jednoduše zašifrovat zamýšlené zprávy a odeslat,. Ukážeme, že se znalostí, může útočník snadno získat,. I když útok funguje pro libovolné malé, následující tvrzení formulujeme pro 3 pro zjednodušení důkazu. Tvrzení (Franklin, Reiter): Nechť 3 a, je veřejný RSA klíč. Nechť dále splňující pro nějaký lineární polynom, 0. Pak, se znalostí,,,,, může útočník získat, v čase nejvýše kvadratickém v log. Důkaz: Protože, víme, že je kořenem polynomu. Podobně je také kořenem. Lineární člen tedy dělí oba tyto polynomy. Pak tedy může útočník použít euklidovský algoritmus na spočítání největšího společného dělitele,. (Pokud algoritmus v libovolném kroku selže, je okamžitě odhalena faktorizace modulu.) Pokud bude tento společný dělitel lineární, nalezli jsme ihned. Počítání největšího společného násobku lze provést v čase kvadratickém v, log. 11

Ukážeme, že v případě 3 musí být nalezený největší společný dělitel lineární. Polynom se rozkládá modulo a na lineární faktor a neredukovatelný kvadratický faktor (gcd, 1 a tedy má jen jeden kořen v ). Protože nemůže dělit, největší společný dělitel musí být lineární. Pro 3 je zmiňovaný největší společný dělitel skoro vždy také lineární, až na výjimečné případy, a, kde je možné získat nelineární společný dělitel v tom případě útok samozřejmě selhává. Pro 3 má útok časovou náročnost kvadratickou v. Z toho plyne, že může být použit jen, pokud je použit malý veřejný exponent. Pro velká je omezující počítání největšího společného dělitele. 4.4 Coppersmithův útok na krátké doplnění Franklin Reiterův útok se může zdát trochu umělý, protože proč by Bob měl posílat Alici zašifrované zprávy v relaci. Coppersmith zesílil jeho útok a poukázal tím na důležitý důsledek pro doplňování zpráv. Naivní náhodný doplňovací algoritmus by mohl doplňovat otevřený text přidáním několika náhodných bitů na jeden z konců zprávy. Následující útok ukazuje nebezpečí takového jednoduchého řešení. Předpokládejme, že Bob zašle Alici zašifrovanou, takto doplněnou zprávu. Útočník zachytí tento přenos a zabraní Alici v převzetí této zprávy. Bob po nějakém čase zjistí, že Alice nereaguje a rozhodne se zaslat zprávu znovu. Opět náhodně doplní a pošle výsledný šifrový text, který útočník také zachytí. V tuto chvíli má útočník dva šifrové texty odpovídající zašifrování totožné zprávy při použití dvou různých náhodných doplnění. Následující věta ukazuje, že i když nezná samotné doplnění, může útočník získat původní otevřený text zprávy. Tvrzení: Nechť, je veřejný RSA klíč, kde je bitů dlouhé. Zvolme /. Nechť dále je zpráva délky nejvýše bitů. Definujme 2 a 2, kde, jsou různá celá čísla splňující 0, 2. Pokud zná útočník, a šifrové texty, odpovídající zprávám, (ale nezná, ), může efektivně získat. Důkaz: Definujme, a,. Víme, že pro, mají tyto polynomy společný kořen. Jinými slovy je kořen resultantu,. Stupeň je nejvýše. Dále 2 /. A tedy je malý kořen modulo a útočník ho může efektivně najít použitím Coppersmithovy věty z odstavce 4.1. Ve chvíli, kdy známe, může být pro nalezení (a tedy přímo i ) použit Franklin Reiterův útok z odstavce 4.3. Když je tedy 3, může být útok použit, pokud je délka použitého doplnění kratší, než jedna devítina zprávy. Poznamenejme, že pro doporučovanou hodnotu 65537 je útok nepoužitelný pro standardní délky modulů. 12

4.5 Částečné odhalení klíče Nechť, je privátní RSA klíč. Předpokládejme, že je útočník nějakým způsobem schopný získat část bitů, řekněme čtvrtinu. Může za pomoci takové informace rekonstruovat celé? Překvapivě, odpověď je kladná, pokud je odpovídající veřejný klíč dostatečně malý. Boneh, Durfee a Frankel ukázali, že pokud je, je možné rekonstruovat celé ze znalosti zlomky jeho bitů. Toto ilustruje důležitost ochrany celého privátního klíče. Věta (Boneh, Durfee, Frankel): Nechť, je privátní RSA klíč a je dlouhé bitů. Máme li /4 nejméně významných bitů, můžeme rekonstruovat celé v čase lineárním v log. Důkaz plyne z následujícího tvrzení. Tvrzení (Coppersmith) Nechť je RSA modul délky bitů. Pak se znalostí /4 nejméně významných bitů nebo /4 nejvýznamnějších bitů lze efektivně faktorizovat modul. Věta pak již přímo plyne z Coppersmithova tvrzení, protože z definice, existuje celé číslo takové, že 1 1. Protože musí 0. Redukováním rovnice modulo 2 / a zvolením / dostáváme 1 2 /. A protože známe /4 nejméně významných bitů, známe také hodnotu 2 /. Máme tedy rovnici pro neznámé,. Pro každou z možných hodnot, vyřešíme kvadratickou rovnici v proměnné a získáme tím kandidáty na hodnoty 2 /. Pro každého takového kandidáta již stačí provést algoritmus z Coppersmithova tvrzení 1 8 a pokusit se faktorizovat. Lze ukázat, že celkové množství kandidátů na hodnotu 2 / je nejvýše log a tedy po nejvýše log pokusech obdržíme faktorizaci. Tato věta je také známá jako útok na částečné odhalení klíče, existují podobné útoky i pro větší hodnoty, pokud. V závěru tohoto odstavce ukažme, že pokud je veřejný exponent malý, RSA systém odhaluje polovinu nejvýznamnějších bitů odpovídajícího privátního klíče. Abychom to ukázali, uvažme znovu rovnici 1 1 pro nějaké celé číslo 0. Se znalostí může útočník snadno spočítat 1/. Tedy /3 / 3 a je dobrá aproximace. Tento odhad ukazuje, že, pro většinu, je polovina nejvýznamnějších bitů totožná s nejvýznamnějšími bity. A protože existuje jen možných hodnot, útočník může zkonstruovat malou množinu velikosti takovou, že jeden z jejích prvků je roven polovině nejvýznamnějších bitů. V případě, že 3 lze ukázat, že vždy 2 a tedy systém úplně odhaluje polovinu nejvýznamnějších bitů privátního exponentu. 13

5. Útoky na implementace/postranní kanály V poslední kapitole se zaměříme na zcela jiné druhy útoků, spíše než na útočení na vlastní strukturu RSA funkce, se budeme zabývat útoky na její implementace. Takových implementací je mnoho a vlastní využití samotné šifry RSA se v každé z nich výrazně liší, není naším cílem poukázat na veškerá možná úskalí, spíše ilustrovat šíři možných napadení. Mnohé takové útoky využívají fyzická specifika použitých kryptografických prostředků, od znalosti a ovlivňování výpočetní síly karet, přes měření spotřeby elektrické energie či vyzářeného tepla až po napadání samotných přístrojů. Vycházíme z následujícího tvrzení (ve zjednodušené formulaci), které se také označuje jako tvrzení o individuálních bitech RSA. Tvrzení [11, 12]: Nechť je veřejný modul RSA a privátní exponent. Označme orákulum poskytující nezanedbatelnou informaci o nějakém individuálním bitu hodnoty pro libovolné. Pokud takové existuje, existuje pak polynomiálně složitý pravděpodobnostní algoritmus, který pro libovolný šifrový text vrací hodnotu otevřeného textu. Toto tvrzení bylo (a stále je) paradoxně používáno jako doklad o bezpečnostních vlastnostech RSA, jeho negací totiž získáme výrok, který říká, že nedokážeme li rozluštit šifrový text, nedokážeme získat ani informaci o jednotlivých bitech původního otevřeného textu, neboli že celý text je zašifrováním chráněn stejně, jako jeho jednotlivé bity. 5.1 Poznámka o složitosti ([12]) Z uvedeného tvrzení sice plyne, že pro útok na RSA lze využívat postranní informaci o jakémkoliv bitu hodnoty otevřeného textu, ale výrazné rozdíly jsou v efektivitě konkrétních útočných postupů. V tomto ohledu nejlepší možné orákulum je to, které poskytuje informaci o nejméně významném bitu zprávy (dále ). Označme takové orákulum a předpokládejme, že poskytuje nějakou nezanedbatelnou informaci o nejméně významném bitu. Tedy ~ pro a 2. Ukažme, že pokud je toto orákulum bezchybné, tedy pokud 2, potom lze libovolný šifrový text luštit se složitostí řádově počtu volání orákula. Postup luštění je založen na prohledávání metodou půlení intervalů. Připomeňme, jak se chová operace modulárního násobení hodnoty číslem 2. Platí, že ( 2 2, neboli pokud je sudé, jde o klasické dělení 2, pokud je liché, jde o posun o a dělení 2. Nyní položme a voláním získejme hodnotu pro. Předpokládejme, že 14

, kde, jsou nějaká celá čísla reprezentující odhad neznámé hodnoty. Bez jakékoliv další informace o hledaném textu položme 0,1. Podívejme se nyní, v jakých intervalech se pohybuje hodnota 2. Je vidět, že platí pro 2 a 2 a tedy že hodnota leží buď v intervalu /2, /2 nebo v intervalu 2, 2 v závislosti na. Součet velikostí obou intervalů je roven velikosti původního intervalu,, takže bez znalosti bychom tímto krokem žádného zpřesnění odhadu hledané hodnoty nedosáhli. Díky orákulu ale známe hodnotu, takže lze pokračovat dál. Zpráva pro nás sice stále zůstává neznámou, ale velikost intervalu možných kandidátů jsme oproti snížili na polovinu. Z vlastností šifry RSA také víme, že zpráva odpovídá šifrové zprávě 2, kde je veřejný exponent RSA. Pokračujme tedy jednoduše tím, že celý postup rekurzivně opakujeme s nastavením,,,. Postupně tak po opakováních uvedeného postupu, kde 1, dospějeme do stavu, kdy nám zbude interval obsahující jediné číslo. Tím bude hodnota 2, ze které již snadno vypočteme hledaný otevřený text. 5.1.1 Poznámka o orákulech Většina útoků pomocí postranních kanálů se v jádru skládá ze dvou pomyslných kroků, prvního objevit slabinu (ať již teoretickou, nebo čistě fyzikální) a přetvořit ji do orákula natolik užitečného, aby umožnila krok druhý vlastní útok za pomocí nějaké postranní informace. Teoreticky lze tyto dva kroky oddělit a zkoumat první jen za účelem ilustrace různých možných informačních úniků bez znalosti či dovednosti k němu doplnit krok druhý, nebo naopak konstruovat čistě teoretický útok za předpokladu, že již nějaké vhodné orákulum máme k dispozici, aniž bychom se zabývali jeho vlastní konstrukcí. Současný výzkum zná bezpočet orákul založených od časování výpočtu, měření odběru elektrické energie přes vyzářené teplo při klíčových operacích až po těžko popsatelné postupy využívající neuvěřitelnou zručnost analytiků. Není možné, ani zamýšlené, obsáhnout všechny tyto útoky, protože jejich množství roste takřka exponenciálně s množstvím aplikací RSA a jejich modifikací. 5.2 Časovací útoky Uvažme smartkartu, která slouží jako úložiště soukromého RSA klíče. Taková karta bývá samozřejmě odolná vůči vnějším zásahům v tom smyslu, že útočník by neměl být schopen pomocí zkoumání či pozměňování jejích součástí získat informace o uloženém klíči. Zajímavý útok od P. Kochera ukazuje, že pomocí přesného měření času, který karta potřebuje na vykonání požadovaných operací (dešifrování nebo podpis), lze efektivně odhalit privátní exponent. 15

Ukážeme, jak útok funguje na jednoduché implementaci RSA využívající algoritmus opakovaného umocňování. Nechť je bitový zápis. Tedy 2, kde 0,1 Algoritmus opakovaného umocňování počítá za použití nejvýše 2 modulárních násobení. Je založen na poznatku, že. Algoritmus pracuje následovně: Zvol a 1. Pro 0,, vykonej: (1) Pokud 1, pak, (2) Po dokončení má hodnotu. Proměnná probíhá veškeré hodnoty pro 0,,. Proměnná sbírá odpovídající mocniny obsažené v cílovém. K samotnému útoku útočník požádá katru, aby generovala podpisy na velkém množství náhodných zpráv,, a měří, čas, který kartě zabere generování každého takového podpisu. Útok po jednom získává bity začínajíc nejméně významným bitem. Víme, že je liché, a tedy 1. Uvažme druhou iteraci zmíněného algoritmu. Na počátku máme a. Pokud je 1, karta počítá součin, pokud 0, neprovádí krok (1). Nechť je čas, který kartě zabere počítání. Jednotlivá se od sebe navzájem samozřejmě liší, protože čas na výpočet přímo závisí na hodnotě (jednoduchý algoritmus modulárního dělení zabírá různý čas v závislosti na čísle, které dělí). Útočník měří ještě před samotným prováděním útoku, k tomu mu stačí znát fyzická specifika použité karty. P. Kocher [9] ukázal, že pokud 1, dva soubory veličin { a jsou korelované. Na příklad, pokud pro nějaké je výrazně větší než předpokládáme, pak je pravděpodobné, že bude také výrazně větší, než předpoklad. Na druhou stranu, pokud je 0, chovají se { a jako dva vzájemně nezávisle soubory náhodných veličin. Měřením korelace tedy může útočník určit, jestli 0 nebo 1. Bude li pokračovat dál, nic mu nebrání v použití stejného postupu při určení,, Poznamenejme také, že pokud je použit malý veřejný exponent, stačí Kocherův útok použít jen do odhalení čtvrtiny bitů díky útokům z předchozích kapitol. V zásadě jsou dva možné způsoby ochrany před výše popsaným útokem, nejjednodušší přístup je přidání odpovídající prodlevy při modulárním umocňování tak, aby vždy zabralo totožný čas. Takové řešení ovšem částečně popírá účel užití tohoto umocňování jako prostředku pro zkrácení výpočetního času. Druhý způsob navržený A. Rivestem je založen na zaslepování. Ještě před dešifrováním (podpisem) si karta vybere náhodné 16

a spočítá. Pak užije k podpisu a obdrží. Na konec zvolí. Takovým postupem používá karta na náhodnou zprávu, kterou útočník nezná, výsledkem je nemožnost užití popsaného útoku. P. Kocher dále objevil útok využívající podobný přístup nazývaný analýza odběru energie. Ukázal, že použitím přesného měření spotřeby karty při generování podpisů lze často snadno získat privátní klíč. Jak se ukázalo, při vícenásobném násobení je spotřeba karty měřitelně vyšší, než při jiných operacích. Měřením délky úseků se zvýšeným odběrem energie lze tedy odhadovat, jestli se v dané iteraci provedlo plné násobení nebo ne, jinými slovy určovat hodnoty jednotlivých bitů. D. Boneh a D.Brumley [10] ukázali, že časovací útoky představují reálnou hrozbu pro obecné softwarové provedení bezpečnostních aplikací. Do té chvíle se předpokládalo, že omezení plynoucí přímo z podstaty časovacích útoků (s ohledem na nutnost přesného měření časových intervalů a vyhodnocování malých diferencí asi 1 milisekunda a méně) znemožňuje jejich použití v jakémkoli reálném prostředí a omezuje je výhradně pro použití proti čipovým kartám a podobným zařízením. Stojí za zmínku, že obrana proti těmto útokům je relativně snadná [13] a byla známa již před vynalezením samotných útoků, ovšem až zmíněný článek [10] přiměl většinu aplikací ji využívat. Jde o prosté zaslepení dešifrované zprávy (v podepisovací operaci) před jejím vlastním mocněním na privátní exponent pomocí náhodné hodnoty. Většina současných časovacích útoků totiž vychází z toho, že je k dispozici nejen přesná informace o době trvání výpočtu podpisu, ale že útočník taktéž zná nebo může sám volit vstupní hodnotu pro podepsání. Pokud se pomocí zaslepení tato možnost odebere, je šance úspěchu takových útoku minimální. 5.3 Náhodné chyby Implementace dešifrovací a podepisovací operace pomocí RSA často využívají čínskou větu o zbytcích (dále také ČVZ) k urychlení výpočtu. Namísto práce, si podepisující strana (Bob) vypočítá podpisy a a ty pak zkombinuje do výsledného podpisu za využití čínské věty o zbytcích. Přesněji Bob nejprve spočítá a, kde 1 a 1. Tímto obdrží podpis jako, kde 1, 0, 0 1. Čas běhu posledního kroku výpočtu podle ČVZ je zanedbatelný v porovnání se dvěma umocňováními. Poznamenejme, že, jsou zhruba poloviční délky než a protože jednoduchá implementace násobení má kvadratickou časovou náročnost, násobení je tedy přibližně čtyřikrát rychlejší, než by bylo při provádění. Dále také je poloviční délky než a tedy výpočet je osmkrát rychlejší, než by byl výpočet. Celkově je tedy podepisovací čas zkrácen přibližně čtyřikrát, což je také důvod, proč tuto metodu používá mnoho aplikací ke zvýšení svého výkonu. 17

Boneh, DeMillo a Lipton ukázali, že existuje vnitřní nebezpečí při užívání výše zmíněné metody za pomoci ČVZ. Předpokládejme, že při generování podpisu náhodná chyba způsobí chybný výpočet jedné instrukce. Řekněme, že při kopírování obsahu registru dojde k převrácení hodnoty jednoho bitu. (Může být způsobena jak okolními vlivy tedy i vyvolaná úmyslně, nebo například vzácnou chybou samotného hardwaru.) Ze znalosti takto vzniklého neplatného podpisu může útočník snadno faktorizovat RSA modul. Ukážeme verzi útoku popsanou A. K. Lenstrou. Předpokládejme, že při generování podpisu došlo k právě jedné chybě. Výsledkem je, že právě jeden člen z dvojice, je vypočítán chybně, řekněme, že je správné a chybné. Výsledný podpis je tedy. Jakmile útočník obdrží, ví, že je to chybný podpis, protože. Dále ale víme, že a. A už tedy stačí jen vypočítat největší společný dělitel gcd, k získání netriviálního dělitele modulu. Aby mohl být tento útok použit, musí útočník samozřejmě znát celou podepisovanou zprávu, čímž předpokládáme, že Bob neužívá žádné metody náhodného doplňování před samotným podpisem, které jsou v tomto případě účinnou obranou. Ještě jednodušší obranou je prostá kontrola výstupu před odesláním a zabránění v předání chybných podpisů nebo dvojí počítání téhož podpisu a jeho předání pouze v případě, že se oba výsledky shodují. Takové kontroly jsou velice důležité při užívání urychlujících metod za využití ČVZ. 5.4 Bleichenbacherův útok na PKCS 1 Nechť je bitový RSA modul a je bitová zpráva, kde. Před použitím samotného RSA šifrování je přirozené doplnit zprávu na bitů přidáním náhodných čísel. Starší verze standardu zvaná public key crypthography standard 1 (PKCS 1) tento přístup používala, po doplnění vypadala zpráva následovně: 02 áá 00 í á Výsledná zpráva délky bitů byla přímo šifrována použitím RSA. První blok obsahující 02 je 12 bitů dlouhý a je použit pro označení použitého postupu při doplňování zpráv. Když zprávu formátovanou pomocí PKCS 1 zachytí příjemce (většinou se jedná o automatickou operaci, například v internetovém prohlížeči), dešifruje jí, zkontroluje úvodní blok a ořízne náhodnou část. Některé aplikace ovšem postupují jinak, kontrolují první blok, a pokud není roven 02, odešlou zpět chybovou zprávu indikující chybný formát vstupu. Bleichenbacher ukázal, že tato chybová zpráva může vést ke zničujícím důsledkům, totiž že lze šikovně využít informaci o neplatnosti vstupu k dešifrování libovolného textu. Předpokládejme, že útočník zachytil šifrový text zaslaný Bobovi a chce jej dešifrovat. K použití útoku si zvolí náhodné, vypočítá a zašle jej 18

Bobovi. Aplikace zpracovávající vstup na Bobově počítači se pokusí obdrženou zprávu dešifrovat. Buď odpoví chybovou zprávou, nebo neodpoví vůbec (v případě, že bylo ve správném formátu, tedy jeho úvodní blok byl roven 02). Tím tedy útočník zjistí, jestli prvních 16 bitů dešifrované zprávy je nebo není rovných 02. Efektivně tedy získává orákulum, které pro něj testuje, zda prvních 16 bitů dešifrování zprávy je nebo není rovných 02 pro libovolné. Bleichenbacher ukázal, že takové orakulum už stačí k dešifrování. 6. Shrnutí Přes 30 let výzkumu útoků na RSA vedlo k mnohým zajímavým výsledkům, ale doposud nebyl nalezen žádný způsob, jak tuto šifru úplně prolomit. Zmíněné útoky pouze ilustrují netriviálnost použití šifry RSA samotné a nebezpečí při jejím nedokonalém používání. V současnosti lze stále důvěřovat kvalitním implementacím bezpečnostních aplikací využívajícím šifrování pomocí RSA, za předpokladu využití všech doposud známých ochran proti různým útokům a pochopení principů, které za mnohými těmito útoky leží. 7. Seznam Literatury [1] D. Boneh (1999): Twenty years of attacks on the RSA cryptosystem. Notices of the American Mathematical Society (AMS), 46(2):203 213 [2] Elaine L. Render (2007): Wiener's Attack on Short Secret Exponents, August 15, 2007. http://www.maths.manchester.ac.uk/~erender/mathtoday.pdf [3] Johannes Blömer, Alexander May (2004): A Generalized Wiener Attack on RSA, In Practice and Theory in Public Key Cryptography (PKC 2004), Lecture Notes in Computer Science, vol. 2947, pp. 1 13, Springer Verlag, 2004. http://wwwcs.uni paderborn.de/cs/agbloemer/forschung/publikationen/keys.pdf [4] R. L. Rivest, B. Kaliski (2002): Encyclopedia of Cryptography and Security, kapitola RSA Problem. Kluwer. http://theory.lcs.mit.edu/_rivest/rivestkaliski RSAProblem.pdf. [5] A. Dujella (2004): Continued fractions and RSA with small secret exponent. Tatra Mt. Math. Publ. 29 (2004), 101 112. [6] D. Boneh and G. Durfee (2000): Cryptanalysis of RSA with private key d less than.. IEEE Transactions on Information Theory, 46(4): 1339 1349. [7] Johannes Blömer, Alexander May (2001): Low Secret Exponent RSA Revisited, CaLC 2001: 4 19. 19

[8] J. Dyer (2002) Lattice Reduction on Low Exponent RSA, the summer 2002 McCallum Undergraduate Research, http://math.arizona.edu/~ura/022/mccallum_group/dyerfinal.pdf [9] Paul C. Kocher (1996): Timing Attacks on Implementations of Diffie Hellman, RSA, DSS, and Other Systems, Proceedings of the 16th Annual International Cryptology Conference on Advances in Cryptology, 104 113. ISBN:3 540 61512 1 [10] D. Boneh and D. Brumley (2003): Remote timing attacks are practical, Proc. of 12th USENIX Security Symposium, pp. 1 14, 2003 [11] Hastad, J. and Näslund M. (1998): The Security of Individual RSA Bits, in Proc. of FOCS '98, pp. 510 521, 1998. [12] V. Klíma, T. Rosa (2005): Achillova pata RSA, časopis Sdělovací technika 4/2005, strana 18 19. [13] V. Klíma, T. Rosa (2005): Imunitní trik pro RSA, časopis Sdělovací technika 9/2005, strana 18. 20