Alkulukujen arpominen nykyaikaisissa ohjelmistokirjastoissa
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Lievonen, Henrik | |
dc.contributor.author | Oksanen, Eemeli | |
dc.contributor.school | Perustieteiden korkeakoulu | fi |
dc.contributor.supervisor | Savioja, Lauri | |
dc.date.accessioned | 2024-06-18T08:31:33Z | |
dc.date.available | 2024-06-18T08:31:33Z | |
dc.date.issued | 2024-05-08 | |
dc.description.abstract | Tä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.extent | 29 | |
dc.format.mimetype | application/pdf | en |
dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/128970 | |
dc.identifier.urn | URN:NBN:fi:aalto-202406184558 | |
dc.language.iso | fi | en |
dc.programme | Teknistieteellinen kandidaattiohjelma | fi |
dc.programme.major | Tietotekniikka | fi |
dc.programme.mcode | SCI3027 | fi |
dc.subject.keyword | alkuluvut | fi |
dc.subject.keyword | kryptografia | fi |
dc.subject.keyword | alkulukutestaus | fi |
dc.subject.keyword | ohjelmistokirjastot | fi |
dc.title | Alkulukujen arpominen nykyaikaisissa ohjelmistokirjastoissa | fi |
dc.title | Generation of random prime numbers in modern software libraries | en |
dc.type | G1 Kandidaatintyö | fi |
dc.type.dcmitype | text | en |
dc.type.ontasot | Bachelor's thesis | en |
dc.type.ontasot | Kandidaatintyö | fi |
Files
Original bundle
1 - 1 of 1
No Thumbnail Available
- Name:
- Oksanen_Eemeli_2024.pdf
- Size:
- 247.67 KB
- Format:
- Adobe Portable Document Format
Aalto login required (access for Aalto Staff only).