Alkulukujen arpominen nykyaikaisissa ohjelmistokirjastoissa

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorLievonen, Henrik
dc.contributor.authorOksanen, Eemeli
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorSavioja, Lauri
dc.date.accessioned2024-06-18T08:31:33Z
dc.date.available2024-06-18T08:31:33Z
dc.date.issued2024-05-08
dc.description.abstractTässä työssä tutkin nykyaikaisten avoimen lähdekoodin ohjelmistokirjastojen menetelmiä arpoa satunnaisia alkulukuja. Työssä tutkitaan alkulukujen arpomiseen käytettyjä algoritmeja ja niiden toimintaa. Työssä ei kuitenkaan keskitytä analysoimaan satunnaislukujen arvontaan käytettyjä menetelmiä eikä tutkittavia kirjastoja pinnallista yleiskuvaa tarkemmin. Pääasiallisina lähteinä käytetään kirjastojen lähdekoodien tiedostohakemistoja ja aiheeseen liittyvää kirjallisuutta. Tutkimuksessa perehdytään syvemmin OpenSSL-kryptografiakirjastoon ja SymPy-matematiikkakirjastoon. Työssä käsitellään myös pinnallisemmalla tasolla NSS-kryptografiakirjastoa ja Javan BigInteger-luokan toimintaa OpenJDK:n toteutuksessa. Algoritmeja selitetään pseudokoodin ja matematiikan avulla. Tutkimuksessa havaittiin, että alkulukujen arpomiseen käytettävät menetelmät ovat melko vakiintuneita. Pieniä alukulukuja arvottaessa käytetään usein jotain yksinkertaista algoritmia, jolla seulotaan alkulukukandidaatteja. Suurempia alkulukuja arvottaessa käytetään probabilistisia menetelmiä, kuten Millerin-Rabinin alkulukutestiä tai Lucasin alkulukutestiä. Tässä työssä perehdytään näiden algoritmien toimintaan tarkemmin. Kirjastojen menetelmistä voidaan huomata selkeitä eroja niiden käyttökohteen mukaan. Kryptografiakirjastot oletusarvoisesti keskittyvät erittäin suurien alkulukujen arvontaan, kun taas muissa kirjastoissa on enemmän huomioitu myös pienempiä alkulukuja. Molemmat kryptografiakirjastot myös käyttävät menetelmistä selvästi eniten tutkittua Millerin-Rabinin alkulukutestiä, kun taas muut kirjastot käyttävät vähemmän standardeja menetelmiä.fi
dc.format.extent29
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/128970
dc.identifier.urnURN:NBN:fi:aalto-202406184558
dc.language.isofien
dc.programmeTeknistieteellinen kandidaattiohjelmafi
dc.programme.majorTietotekniikkafi
dc.programme.mcodeSCI3027fi
dc.subject.keywordalkuluvutfi
dc.subject.keywordkryptografiafi
dc.subject.keywordalkulukutestausfi
dc.subject.keywordohjelmistokirjastotfi
dc.titleAlkulukujen arpominen nykyaikaisissa ohjelmistokirjastoissafi
dc.titleGeneration of random prime numbers in modern software librariesen
dc.typeG1 Kandidaatintyöfi
dc.type.dcmitypetexten
dc.type.ontasotBachelor's thesisen
dc.type.ontasotKandidaatintyöfi
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Oksanen_Eemeli_2024.pdf
Size:
247.67 KB
Format:
Adobe Portable Document Format
Download