Ressu 2.2 pari korjausta, –sample optio ja pääohjelman palastelua

Aiemmasta versiosta on korjattu pari bugia. Ensimmäisessä variaatioissa on vain pieniä ketjuja, ja 1,6 rajaa pienten ja suurien ketjujen välillä ei löydy. Tällöin lim1 ja lim2 kentät täytettiin joskus -1:llä. Tietue ensimmäisestä bugista: Toisessa bugissa on eripituisia variaatioita aina 1 kappaletta: jolloin isojen ketjujen ensimmäinen päätyy teoreettisiin bitteihin ja _genbytes rutiinista palataan liian nopeasti. Tässä… Continue reading Ressu 2.2 pari korjausta, –sample optio ja pääohjelman palastelua

Published
Categorized as muuta

Ressu 2.1 Lottonumerot ja muuta

Kaikki oikeudet pidätetään. Edellisessä Ressu 2.0 postissa esiteltyyn toiminnallisuuteen on tehty seuraavia muutoksia: asiallinen lottonumeroiden tulostus, tuotantoversio ressusta (ilman debukkailuja), debukkailuversio ressusta erikseen, digits merkkijonon perusteella tehtävän tulosteen nopeutus, virheiden korjauksia, ja yleistä luettavuuden parantamista. Koko ohjelma on kopypastattavissa postin lopussa. Käyn seuraavassa läpi valitut osat uudesta ohjelmasta. Ensin ns tuotantoversio ressusta. Tuotantoversiossa on vielä… Continue reading Ressu 2.1 Lottonumerot ja muuta

Fort: Satunnaisuutta prosessoreiden rdrand ja rdseed toiminnoilla

Seuraavassa rutiinit rdrand ja rdseed toiminnolla haettavan satunnaisuuden käyttämiseen. Ensimmäiset rutiinit ovat molemmilla yhteisiä: rdrand:ia ja rdseed:iä ei ole otettu oletuksena käyttöön. Cpuid():llä haetaan prosessorin valmistajaa (vendor) ja tietoa siitä onko käytössä olevassa prosessorissa toteutettuna jompikumpi satunnaisbittigeneraattori. Myös is_cpu_vendor():ia käytetään prosessorin toimittajan nimeämiseen. Seuraavassa kuvassa rdrand-toiminnon käyttämiseen tarvittavat rutiinit: has_rdrand tarkistaa onko käytettävässä prosessorissa rdrand-toiminto.… Continue reading Fort: Satunnaisuutta prosessoreiden rdrand ja rdseed toiminnoilla

Published
Categorized as muuta

Fort: Hashaamalla satunnaisuutta newressu komennon tulosteesta

Parissa edellisessä postissa olen esitellyt uuden ressun ja siihen liittyvän lelusovelluksen newressu. Tässä postissa käytetään newressun satunnaisuutta fort:in avainnukseen. Ensimmäisellä rutiinilla ajetaan komento (parametreineen), ja hashataan sen tulos: funktio popen suorittaa komennon ja palauttaa osoitteen (fp1) sen tulosteeseen. Komennon tulostetta luetaan fread:illa. Alussa on hashattavaan materiaaliin lisätty cvar, jolla voidaan varmistaa että “tulostetta säätämällä” ei… Continue reading Fort: Hashaamalla satunnaisuutta newressu komennon tulosteesta

Ressu 2.0 Vaihtoehtoiset satunnaisuuslähteet

Lisäsin muutaman kytkimen newressu-satunnaislukulelun parametreihin. Kytkimillä voi valita toisen satunnaislukulähteen. –fast kytkimellä valitaan nopea versio ressusta, joka ajaa ressu_genbytes_fast rutiinin kahteen kertaan. –urandom lukee satunnaisuuden /dev/urandom tiedostosta. –random lukee satunnaisuuden /dev/random tiedostosta. Oletuksena /dev/random:in käyttö on pois päältä (USE_RANDOM). –ressu on oletustoiminta, eli käytetään uutta ressua. Tällä ensimmäisellä readfile_xor() rutiinilla luetaan satunnaisuutta /dev/*random tiedostoista: Seuraavaksi… Continue reading Ressu 2.0 Vaihtoehtoiset satunnaisuuslähteet

Ressu 2.0 Uusi limitin laskenta

Kaikki oikeudet pidätetään. Edellinen posti jäi auki limitin laskennan osalta. Edellisessä kokeiltiin sqrt() ja cbrt() funktioita, mutta todellisuudessa kumpikaan niistä ei toimi halutulla tavalla. Tässä postissa limit lasketaan selailemalla vaihteluja alimmasta ylimpään, ja tarkastamalla onko edellinen vaihtelu*1.6 suurempi kun tämän kierroksen vaihtelu. Tässä postissa on myös muutos debukkaustulosteeseen. Edellisessä postissa kerroin että kellojono koostuu perusmateriaalista… Continue reading Ressu 2.0 Uusi limitin laskenta

Ressu 2.0

Kaikki oikeudet pidätetään. Tässä ressun uusimmassa versiossa on uusittu asiakaspuskurin hallintaa, löydetty kellojonosta löytyvien satunnaisbittien “laskentaan” uusi menetelmä. Asiakaspuskurin hallinnassa aiemmin asiakas toimitti puskurin satunnaisbittigeneraattorin täytettäväksi, ja satunnaislukugeneraattorilla ei ollut “omaa” muistialuetta. Näin jää aina mietittäväksi voisiko edellisestä puskurista laskea seuraavan tai päätellä satunnaisbittigeneraattorin ensimmäisen puskurin. Uudessa versiossa ressulla on oma puskurinsa, josta ressu palauttaa… Continue reading Ressu 2.0

DBS versio 0.08

DBS on tertun palvelinohjelma, joka vastaanottaa asiakkaan selaimelta sivupyyntöjä, kutsuu sovellusohjelmaa (DBA), joka muotostaa sivupyynnön pohjalta vastauksen. Vastaus palautetaan DBS:lle, joka lähettää tuloksen asiakkaalle. Edit: muutoksia julkaisun jälkeen: Palvelimissa on vielä ongelmaa Safari-selaimen kanssa, safari menee “luuppiin”, jos haetaan sekä portillista ja portitonta URL:ää vuorotellen (moijari.com ja moijari.com:5005). .ico (favicon.ico) tiedostopyyntöjen ohittamista varten lisätty muuttuja… Continue reading DBS versio 0.08

Published
Categorized as ressu, terttu

Istuntoavaimen luominen

Tässä postissa käyn läpi tertun ns istuntoavaimen muodostamisen. Istuntoavaimen luomiseen tarvitaan satunnaisbittigeneraattori ja joku sisäinen malli, jonka mukaan istuntoavain muodostetaan satunnaisbittigeneraattorin antamista biteistä. Ensin yksinkertainen satunnaisbittigeneraattori ressu: Tässä käytetään vain yhtä lähdettä, ressua. Varmuuden vuoksi kannattaa lisätä ainakin toinen lähde. Ja sitten rutiinit, joilla satunnaismerkkejä saa merkki kerrallaan: Seuraava rutiini arpoo istuntoavaimen merkki kerrallaan: Session… Continue reading Istuntoavaimen luominen

Published
Categorized as muuta

Hash:äämällä satunnaisuutta HTTP ja HTTPS sivuista

Aluksi pari apuohjelmaa, joilla luodaan yhteys ja tulostetaan merkkijonoja: Edit: Kun käytät satunnaisuutta jostain lähteestä, älä käytä sitä suoraan vaan lisää se muihin lähteisiin (esim hash funktiolla) , ja muodosta tuloksesta satunnaisbittejä. Käytä näitä vain sivuihin, joiden käyttöön sinulla on lupa ja harvoin, sillä vaarana on palvelunesto. Muista noudattaa sääntöjä ja lakeja. Nyt myös https… Continue reading Hash:äämällä satunnaisuutta HTTP ja HTTPS sivuista

Published
Categorized as muuta