Siirry sisältöön
UutishetkiMikko Elias Korhonen Lehtisen blogiSelkeät oppaat.
Harkitut valinnat.
Digiarjen tekniikka

Satunnaislukugeneraattori – näin valitset työkalun arvontaan ja testaukseen

Valitse satunnaislukugeneraattori käyttötarkoituksen mukaan: arvonnassa määrittele lukuväli ja toistojen säännöt, toistettavassa testissä tallenna generaattori ja siemen, ja tietoturvassa käytä kryptografista generaattoria. Satunnaiselta näyttävä tulos ei yksin osoita, että työkalu on turvallinen tai tarkoitukseesi sopiva.

Miten satunnaislukugeneraattori toimii?

Näennäissatunnaislukugeneraattori eli PRNG muodostaa lukujonon algoritmilla. Sama generaattori tuottaa samalla siemenellä saman jonon. Siemen on generaattorin lähtötieto: sen avulla esimerkiksi testin satunnaiset valinnat voidaan toistaa.

Fysikaalisia satunnaislähteitä puolestaan ovat esimerkiksi lämpökohina ja laitteiston tapahtumien ajoitukset. Satunnaislukujen tuottamiseen voidaan yhdistää lähteistä kerättyä tietoa ja algoritmeja. Siksi jako ”algoritmi on turvaton, fyysinen lähde on turvallinen” on liian yksinkertainen.

NISTin satunnaisbittien tuotannon ohjeistus käsittelee erikseen deterministisiä generaattoreita, entropialähteitä ja generaattorien kokonaisrakenteita. Tietoturvakäyttöä ei siis ratkaista pelkän generaattorityypin nimen perusteella.

Kolme käyttötapaa, kolme valintaperustetta

  • Pieni arkinen arvonta: valitse työkalu, jossa lukuväli, tulosten määrä ja toistojen salliminen ovat selvät. Päätä säännöt ennen tuloksen tuottamista.
  • Testi tai simulaatio: käytä laadukasta PRNG:tä, kun tarvitset saman lukujonon uudelleen. Tallenna siemen, algoritmi ja toteutuksen versio.
  • Salasanat, avaimet ja muut salaisuudet: käytä kryptografista satunnaislukugeneraattoria eli CSPRNG:tä, älä tavallista ei-kryptografista PRNG:tä.

Peter Occilin generaattorin valintaopas suosittelee kryptografista generaattoria tietoturvaan sekä tilanteisiin, joissa tulevien tulosten ennustaminen antaisi merkittävän epäreilun edun. Säännellyissä käyttökohteissa on lisäksi tarkistettava niitä koskevat vaatimukset.

Arvonnan tarkistuslista

  1. Numeroi osallistujat tai vaihtoehdot yksiselitteisesti.
  2. Aseta pienin ja suurin sallittu luku. Varmista, kuuluvatko molemmat rajat mukaan.
  3. Päätä, arvotaanko yksi vai useita tuloksia.
  4. Päätä, voiko sama numero tulla useammin kuin kerran.
  5. Kirjaa säännöt ja tulos, jos arvonnan kulku pitää voida osoittaa jälkikäteen.
  6. Älä arvo uudelleen vain siksi, ettei ensimmäinen tulos miellytä.

Oma laskuesimerkki: 25 osallistujaa

Numeroi osallistujat 1–25 ja arvo yksi kokonaisluku tältä väliltä. Jos työkalu tuottaa tasajakautuneen tuloksen, jokaisen numeron mahdollisuus on 1/25 eli 4 %.

Jos haluat kolme eri voittajaa, valitse arvonta ilman toistoja. Kolme erillistä arvontaa, joissa numeroita ei poisteta, eivät takaa kolmea eri voittajaa. Mahdollisuus voittaa voi olla kaikille sama, mutta sääntö toistoista ratkaisee, mitä lopputuloksia hyväksytään.

Entä luvut 7 ja 37?

Tässä oppaassa ei nimetä suosituimpia tai ”satunnaisimpia” lukuja: toimitetut lähteet eivät vahvista niitä koskevia väitteitä. Tasajakautuneessa arvonnassa valintaperuste on sama todennäköisyys, ei numeron erityinen maine.

Jos käytät chat-palvelua sääntöjen luonnosteluun, tutustu myös ChatGPT:n käyttöoppaaseen. Varsinaista arvontatyökalua valitessa pyydä silti selkeä kuvaus sen lukuvälistä, toistosäännöistä ja satunnaislukujen tuotantotavasta.

Huomasitko virheen? Lähetä artikkelin osoite ja korjausehdotus: info@uutishetki.fi.