Halusinpa tehdä aitoja satunnaislukuja. Siis ihan aikuisten oikeasti satunnaisia, eikä *millään* softa-algoritmilla tuotettuja, jotka eivät pärjää testeissä.
Törmäsin netissä surffaillessani tähän mielenkiintoiseen ohjeeseen: http://www.betelgeuse-4.net/howto/random/index.php ja tietysti kokeilin heti.
1) Äänitin kovalevylle WAV-tiedostoon radioaalloilta kohinaa (93.45 MHz) yli seitsemän tunnin verran. Käytin PC:n TV/Radio-korttia, en siis mikrofonia. Äänityksen volyymitaso on syytä säätää suunnilleen puoleenväliin. Näytteenotto 48 kHz, 8 bit, mono.
2) Ajoin syntyneen WAV-tiedoston (pitää tallentaa nimelle noise.wav, koko taisi olla yli 1.2 gigaa) tuolta ohjesivulta löytyvän filtterin (rand.exe) läpi, joka ottaa bittivirrasta RIFF-headerin pois ja laittaa talteen vain vähiten merkittävät bitit (LSB). Syntyi runsaat 34 megatavua bittimössöä tiedostoon random.txt.
3) Analyysi 1: Ks. http://www.fourmilab.ch/random/ . Eli ajoin tuon ent.exe-testin tiedostolle random.txt ja sain vallan mainioita tuloksia. Tiedosto näyttää *erittäin* satunnaiselta!
4) Analyysi 2: Ks. DIEHARD-testipatteri osoitteessa http://stat.fsu.edu/pub/diehard/ . Analysoitavan tiedoston pitää olla väh. 10-megainen. Jälleen kerran *todella* hyviä tuloksia. Tiedosto random.txt näyttää olevan ihan oikeasti täysin satunnainen!
Menikö oikein? Eikös ole sanottu, että *aitojen* satunnaislukujen tehtailu kotikonstein on vaikeaa? Tämä meni yllättävän helposti, mutta tulokset puhukoon puolestaan. Tietysti voi sanoa, että 34 megaa tulosta seitsemässä tunnissa on hidasta, mutta hyvää ei kai saa helposti.
Törmäsin netissä surffaillessani tähän mielenkiintoiseen ohjeeseen: http://www.betelgeuse-4.net/howto/random/index.php ja tietysti kokeilin heti.
1) Äänitin kovalevylle WAV-tiedostoon radioaalloilta kohinaa (93.45 MHz) yli seitsemän tunnin verran. Käytin PC:n TV/Radio-korttia, en siis mikrofonia. Äänityksen volyymitaso on syytä säätää suunnilleen puoleenväliin. Näytteenotto 48 kHz, 8 bit, mono.
2) Ajoin syntyneen WAV-tiedoston (pitää tallentaa nimelle noise.wav, koko taisi olla yli 1.2 gigaa) tuolta ohjesivulta löytyvän filtterin (rand.exe) läpi, joka ottaa bittivirrasta RIFF-headerin pois ja laittaa talteen vain vähiten merkittävät bitit (LSB). Syntyi runsaat 34 megatavua bittimössöä tiedostoon random.txt.
3) Analyysi 1: Ks. http://www.fourmilab.ch/random/ . Eli ajoin tuon ent.exe-testin tiedostolle random.txt ja sain vallan mainioita tuloksia. Tiedosto näyttää *erittäin* satunnaiselta!
4) Analyysi 2: Ks. DIEHARD-testipatteri osoitteessa http://stat.fsu.edu/pub/diehard/ . Analysoitavan tiedoston pitää olla väh. 10-megainen. Jälleen kerran *todella* hyviä tuloksia. Tiedosto random.txt näyttää olevan ihan oikeasti täysin satunnainen!
Menikö oikein? Eikös ole sanottu, että *aitojen* satunnaislukujen tehtailu kotikonstein on vaikeaa? Tämä meni yllättävän helposti, mutta tulokset puhukoon puolestaan. Tietysti voi sanoa, että 34 megaa tulosta seitsemässä tunnissa on hidasta, mutta hyvää ei kai saa helposti.
Vastaukset 17
Vanhimmat
Jokaiseen tietsikkaan kohinageneraattori tai anturi joka liipaistuu taivaallisesta taustakohinasta?
Itse asiassa ei tarvita mitään kovin kummoisia värkkejä. Tavallinen radiovastaanotin voidaan kytkeä kaapelilla PC:n äänikortin mikrofoniplugiin ja eikun menoksi.
Samantapaista lähestymistapaa käyttää myös www.random.org , josta voi tilata satunnaislukuja browseriinsa, tosin sieltä ei saa tilattua kovin isoja määriä dataa kerralla.
random.org näyttää käyttävän näytteenottotaajuutena 8 kHz (parempi?) ja lisäksi "skew correction" algoritmia, mutta muuten perusidea on sama, eli kuunnellaan radiotaajuutta, joka ei lähetä ohjelmaa.
Rahan kilinä ja arkun päältä se jetaanBlohflishin läpi. toisaaalta meitähän täytyykin kytätä. syö. valkosipulia!
NSA,SFA:..ja kun ettteivätposautteesittenkin niitä tonrija
t. asterix ja obelix
D:\Random>ent -b random.txt
Entropy = 1.000000 bits per bit.
Optimum compression would reduce the size
of this 279907096 bit file by 0 percent.
Chi square distribution for 279907096 samples is 1.65, and randomly
would exceed this value 25.00 percent of the times.
Arithmetic mean value of data bits is 0.5000 (0.5 = random).
Monte Carlo value for Pi is 3.141497655 (error 0.00 percent).
Serial correlation coefficient is -0.000078 (totally uncorrelated = 0.0).
D:\Random>ent random.txt
Entropy = 7.999995 bits per byte.
Optimum compression would reduce the size
of this 34988387 byte file by 0 percent.
Chi square distribution for 34988387 samples is 259.03, and randomly
would exceed this value 50.00 percent of the times.
Arithmetic mean value of data bytes is 127.5295 (127.5 = random).
Monte Carlo value for Pi is 3.141497655 (error 0.00 percent).
Serial correlation coefficient is 0.000339 (totally uncorrelated = 0.0).
tapaa, joista valitsen kulloinkin sopivimman:
1) radioaktiivinen lähde lähettää täysin satunnaisesti hiukkasia;
2) resistiivinen vastus kehittää lämpökohinaa;
3) kohinadiodiksi kutsutun elektroniputken katodin
säteilemä elektronivuo on satunnaista;
esimerkiksi taajuuslaskimella tai volttimittarilla
muunnetaan luonnonilmiöt numeeriseen muotoon.
Mutta minulla ei ainakaan ole kotona mitään noista vehkeistä. Lisäksi tuo ykkösvaihtoehto taitaa kehittää kohinaa niin verkkaisesti, että saa odottaa kauan megatavun syntymistä. Tai sitten hiukkasia tulee niin tiuhaan, että hiukset lähtevät päästä...
Okei, ihan miten vaan, tarkoituksenani olikin vain valaista, että on realistisia keinoja tuottaa todella hyviä satunnaislukuja, joita tarvitaan monessa sovelluksessa, kun softapohjaiset pseudosatunnaisuudet tökkivät.
http://www.gdargaud.net/Hack/BinToAscii.html
Tyhmä kysymys, mitenkä noi luvut eroaa ohjelmointikielen satunnaisluvuista jotka saa helposti rand functiolla, ei mitenkään, vain luvun tekeminen on huomattavasti vaikeempaa.
Nuo eroavat siksi että rand lasketaan kutakuinkin näin.
rand=(a*seed+b)%m
seed=rand
a=joku alkuluku
b=joku luku
seed= aluksi vaikka 1
m=vaikka 0x7fffffff
Useimpien kirjastofunktioiden laskemat satunnaisluvut ovat tosiasiassa jaksollisia ja tuottavat täten epätasainen jakauman. Tosin jakso voi olla melkoisen pitkä.
Jos vielä siemenlukuna käyttää vaikkapa kellon lukemia, niin tämäkin on jaksollinen ja lopputulemana on edelleen jaksollinen tulos.
Useimpiin tarpeisiin näiden kirjastofunktioiden tulokset on kuitenkin riittävän satunnaisia, eikä todellisten satunnaislukujen käytöllä voiteta mitään.
Seed aina mukana, ite oon käyttäyny radiokohinaa (radio). Laavalampppuja,
digiaikana Digikohinaa sotkettuna.
nyt käytän avaruuskohinaa, ja kukaan ei ole rynnnärin perällä oveen hakkaamaan.
"HOUM"
Lue "Mersenne twisteristä ees jotain" voi tietoa saada tietoa.
PS. AES/Rijnjael on lelu!
467743627868964576378875449808755
Siinä se kummajainen nyt on? Voisiko joku osoittaa minulle onko luku satunnainen vai ei?
Generaattorin ohjaamana toimi oikea käsi kaikilla kolmella etusormella.
Ei tilastollisesti kovin satunnainen, mutta tämän mittainen merkkijono on kovin lyhyt oikeaan analyysiin. Ajetaanpa silti tuolle merkkijonolle analyysi. Talletetaan se testi.txt:hen ja ajetaan ent.exe:
"D:\>ent.exe \temp\testi.txt
Entropy = 2.911650 bits per byte.
Optimum compression would reduce the size
of this 33 byte file by 63 percent.
Chi square distribution for 33 samples is 1215.97, and randomly
would exceed this value 0.01 percent of the times.
Arithmetic mean value of data bytes is 53.8485 (127.5 = random).
Monte Carlo value for Pi is 4.000000000 (error 27.32 percent).
Serial correlation coefficient is -0.005326 (totally uncorrelated = 0.0)."
Generoin satunnaisluvun, vaihtoehtoina joko nolla tai yksi: Hmm... Täytyypä miettiä. Valitsen ykkösen. Oliko se aito satunnaisluku...?
"Vakavasti", jos asia oikeasti kiinnostaa, katso vaikka http://www.random.org/essay.html
Pöh, joku ottaa lääkiksen tenija, otettava vakavasti javälittömästi metsnotilitippaan
!
Kyls se on kuule metabodaasesti 15%? Ringer ja viiinaaa 5% sekaa glukoosia
Ai vitjat tehan ootte opiskelijoijoijoijopijoiTaaatattatatatatatatattatatatatatata,
Periaatteessa satunnaisista luonnonilmiöistä johdettut satunnaisluvut ovat parhaita mahdollisia. Haittana on se, että ei voida olla varmoja, että laitteisto on täysin kunnossa. Aina on se mahdollisuus, että siinä on pieni systemaattinen virhe. Esimerkiksi vaihtovirtahurina voi vaikuttaa aavistuksen verran laitteen toimintaan.
Tämänkaltaiset satunnaislukugeneraattorit sopivat salaussovelluksiin erityisesti kertakäyttöisten pitkien avainten muodostamista varten. Niissähän pääasia on, että avainta ei voida arvata, vaikka vastapuolella olisikin käytössään täysin samanlainen laitteisto. Jos käytetään jotain tavanomaista tietokoneen satunaislukugeneraattoria, niin NSA tai muu suuret resurssit omaava laitos pystyy mahdollisesti päättelemään käytetyn lukujonon, jolloin osa sanomista voidaan avata.
Hyvissä algoritmisissa generaattoreissa on se etu, että niiden matemaattiset perusteet on selvitetty ja todistettu. Ne ovat myös niin pitkäjaksoisia, että sillä ei ole sovelllusten kannalta merkitystä. Joissakin sovelluksissa (esimerkiksi ohjelmistojen testiaineistojen generointi) on tärkeää, että saadaan aina sama lukujono. Tällöin pitkää lukujonoa ei tarvitse erikseen tallettaa toistoja varten. Myös simulointikokeissa käytetään usein samaa lukujonoa, kun verrataan erilaisia ratkaisuja tutkittavalle systeemille.