Útoky na RSA založené na redukci mřížky
Attacks on RSA based on lattice reduction
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/102474Identifikátory
SIS: 198542
Kolekce
- Kvalifikační práce [11986]
Autor
Vedoucí práce
Oponent práce
Jedlička, Přemysl
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Matematické metody informační bezpečnosti
Katedra / ústav / klinika
Katedra algebry
Datum obhajoby
18. 9. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Velmi dobře
Klíčová slova (česky)
mřížky, RSA, Coppersmith, ROCAKlíčová slova (anglicky)
lattices, RSA, Coppersmith, ROCADiplomová práce má za cíl podrobně prostudovat Coppersmithův algoritmus pro hledání malých kořenů polynomiálních kongruencí, který je založen na re- dukci báze mřížky. Z tohoto algoritmu vychází celá řada útoků na nejrozšířenější asymetrickou šifrovací metodu RSA, a proto se práce dále zaměřuje na popis vybraných útoků. Jako jeden ze zásadních a aktuálních útoků můžeme zmínit tak zvaný ROCA, který umožňuje faktorizovat RSA modulus, pokud jsou prvo- čísla určitého tvaru. Nakonec je v práci Coppersmithův algoritmus, stejně jako útok ROCA, implementován a je provedena celá řada měření a experimentů. Z nasbíraných dat je možné vyčíst například, jak závisí doba běhu algoritmu na různých parametrech nebo jaké hodnoty parametrů jsou optimální v konkrétních situacích. 1
This thesis aims to describe in detail the Coppersmith's algorithm for fin- ding small solutions to polynomial congruences which is based on lattice basis reduction. This algorithm is a cornerstone of several attacks on the most wi- despread asymmetric cryptosystem RSA, therefore, next aim of the thesis is a description of selected attacks. As an important and current example, we can mention so-called ROCA attack which factorizes RSA modulus whenever the pri- mes are specifically crafted. At the end of the thesis, we implement both the Coppersmith's algorithm and the ROCA and several measurements and experi- ments are done. From the resulting data, one can deduce how the running time of the algorithm is affected by different parameters or what are the ideal values for these parameters in various situations. 1
