Viešojo rakto algoritmų palyginimas
Aužbikas, Zenonas |
Didėjant duomenų srautui elektroninėje erdvėje, svarbu užtikrinti, kad jie būtų perduoti saugiais būdais ir pasiektų tik norimus gavėjus. Mokslas apie duomenų apsaugos uždavinius, kurie remiasi matematiniais metodais, vadinamas kriptografija. Kriptografiniai algoritmai remiasi informatikos praktikomis ir teorinės matematikos šaka -- skaičių teorija, tyrinėjanti sveikųjų skaičių savybes ir sąryšius tarp skaičių. Viena iš kriptografijos algoritmų rūšių -- viešojo rakto kriptografija, kai duomenys šifruojami ir dešifruojami skirtingais raktais. Neretai praktikoje sutinkamas viešojo rakto algoritmas - RSA, kuriam pritaikius Kinų liekanų teoremą gaunamas RSA--CRT algoritmas. Bakalauro darbe yra apžvelgiami skaičių teorijos ir kriptografijos elementai, kurie pritaikomi RSA ir RSA--CRT algoritmuose. Taip pat sukurtas šių algoritmų programinis kodas ir palygintas jų efektyvumas laiko atžvilgiu naudojant skirtingos apimties bitais raktus bei skirtingas operacines sistemas.
As the volume of data transmitted on the internet increases, it is important to ensure that data is transmitted in a secure manner and reaches only the intended recipients. Cryptography is a science about protecting information by making it unintelligible using mathematical methods. Cryptographic algorithms are based on computer science and pure mathematics branch -- number theory, that studies properties of integers and relations between numbers. One type of cryptographic algorithms is public key cryptography, where data using different keys are encrypted and/or decrypted. A popular public key cryptography algorithm is called RSA. By applying Chinese remainder theorem to RSA we can obtain so-called RSA--CRT algorithm. In Bachelor Thesis, we overview number theory and cryptography elements, which are used in RSA and RSA--CRT algorithms. Also, we create the program code of the latter algorithms, as well as compare their efficiency with respect to execution time using different in size of bits cryptographic keys and different operational systems.