Útoky na RSA založené na redukci mřížky
Attacks on RSA based on lattice reduction
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/102474Identifiers
Study Information System: 198542
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Jedlička, Přemysl
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Mathematical methods of information security
Department
Department of Algebra
Date of defense
18. 9. 2018
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Keywords (Czech)
mřížky, RSA, Coppersmith, ROCAKeywords (English)
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