lt.phhsnews.com


lt.phhsnews.com / Kaip kompiuteriai generuoja atsitiktinius skaičius

Kaip kompiuteriai generuoja atsitiktinius skaičius


Kompiuteriai generuoja atsitiktinius skaičius viskam, nuo kriptografijos iki vaizdo žaidimų ir azartinių lošimų.

Kompiuteriai gali generuoti tikrai atsitiktinius skaičius, stebėdami kai kuriuos išorės duomenis, pvz., Pelės judesius arba ventiliatoriaus triukšmą. , kuris nėra nuspėjamas, ir kurti duomenis iš jo. Tai žinoma kaip entropija. Kitais atvejais jie generuoja pseudo-atsitiktinius skaičius naudojant algoritmą, todėl rezultatai atsitiktiniai, nors jie ir nėra.

Neseniai ši tema tapo prieštaringesnė, nes daugelis žmonių kvestionuoja, ar "Intel" įmontuotas aparatūros atsitiktinių skaičių generatorius lustas yra patikimas. Kad suprastumėte, kodėl jis gali būti nepatikimas, jūs turėsite suprasti, kaip pirmiausia imami atsitiktiniai skaičiai ir kokie jie naudojami.

Kokie atsitiktiniai skaičiai naudojami

Atsitiktiniai skaičiai buvo naudojami daugelį tūkstančių metų. Nesvarbu, ar tai prakeikia monetą, ar ritinėja kauliukus, tikslas yra palikti galutinį rezultatą atsitiktine proga.

SUSIJĘS: Kas yra šifravimas ir kaip jis veikia?

Atsitiktinių skaičių generatoriai yra naudingi daugeliui žmonių. skirtingi tikslai.

Kriptografija reikalauja numerių, kurių užpuolikai negalėtų atspėti. Be to, kai akivaizdžių programų, tokių kaip atsitiktinių skaičių generavimas azartinių lošimų tikslais ar neprognozuojamų rezultatų sukūrimas kompiuteriu, atsitiktinumas yra svarbus kriptografijai. Negalime vienodai naudoti tų pačių numerių. Mes norime generuoti šiuos skaičius labai neprognozuojamai, todėl užpuolikai negali jų atspėti. Šie atsitiktiniai skaičiai yra svarbūs užtikrinant saugų šifravimą, nesvarbu, ar esate šifruodami savo failus, ar tiesiog naudodami interneto svetainę HTTPS internete.

Tikrieji atsitiktiniai skaičiai

Jums gali būti įdomu, kaip kompiuteris gali būti iš tikrųjų generuoja atsitiktinį skaičių. Iš kur atsiranda šis "atsitiktinumas"? Ar tai yra tik kompiuterio kodo dalis, ar įmanoma, kad skaičiai, kuriuos sukuria kompiuteris, gali būti nuspėjami?

Paprastai grupėse atsitiktinių skaičių kompiuteriai sugeneruojami į du tipus, priklausomai nuo to, kaip jie buvo sukurti: "Tikroji" atsitiktinė skaičiai ir pseudo-atsitiktiniai skaičiai.

Kad sukurtumėte "tikrąjį" atsitiktinį skaičių, kompiuteris nustato tam tikrą fizinio reiškinio, kuris vyksta už kompiuterio ribų, tipą. Pavyzdžiui, kompiuteris gali matuoti atomo radioaktyvųjį skilimą. Remiantis kvantine teorija, nėra galimybės tiksliai žinoti, kada įvyks radioaktyvus skilimas, taigi iš esmės tai yra "grynas atsitiktinumas" iš visatos. Užpuolikas negalėtų numatyti, kada įvyktų radioaktyvus sugadinimas, taigi jie nebūtų žinomi atsitiktine verte.

Norėdami gauti daugiau kasdienio pavyzdžio, kompiuteris gali remtis atmosferos triukšmu arba paprasčiausiai naudoti tikslią kai paspausite klaviatūros klavišus kaip nenuspėjamų duomenų šaltinį arba entropiją. Pavyzdžiui, jūsų kompiuteryje gali būti pastebėta, kad paspaudėte klavišą tiksliai 0,23423523 sekundes po 14:00 ... Grab pakankamai konkrečių laikų, susijusių su šiais klavišiniais paspaudimais, ir jūs turėsite entropijos šaltinį, kurį galite naudoti generuoti "tikrąjį" atsitiktinį numeris. Jūs nesate nuspėjama mašina, todėl užpuolikas negalės atspėti tikslaus momento, kai paspausite šiuos klavišus. / Dev / atsitiktinis "Linux" įrenginys, generuojantis atsitiktinius skaižius, "blokuoja" ir negrąžina rezultato, kol sugeria pakankamai entropijos, kad grąžintų išties atsitiktinį skaičių.

Pseudorandominiai skaičiai

Pseudorandominiai skaičiai yra alternatyva "Tikri" atsitiktiniai skaičiai. Kompiuteris gali naudoti sėklos vertę ir algoritmą, kad generuotų atsitiktinai atrodo skaičiai, bet jie iš tiesų yra nuspėjami. Kompiuteris nepateikia jokių atsitiktinių aplinkos duomenų.

Tai nebūtinai yra bloga situacija kiekvienoje situacijoje. Pavyzdžiui, jei žaidžiate vaizdo žaidimą, tikrai nesvarbu, ar šiame žaidime vykstantys įvykiai yra susiję su "tikrais" atsitiktiniais skaičiais arba pseudorandomiais skaičiais. Kita vertus, jei naudojate šifravimą, nenorite naudoti pseudorandominių skaičių, kuriuos užpuolikas gali atspėti.

Pavyzdžiui, tarkime, kad užpuolikas žino algoritmą ir sėklos vertę naudoja pseudo-atsitiktinių skaičių generatorius. Tarkime, kad šifravimo algoritmas iš šio algoritmo gauna pseudorandominį skaičių ir naudoja jį generuoti šifravimo raktą be papildomo atsitiktinumo. Jei užpuolikas žino pakankamai, jie gali dirbti atgal ir nustatyti pseudorandominį skaičių, kurį šiais atvejais pasirinkęs šifravimo algoritmas turi būti išjungus šifravimą.

NSA ir "Intel" aparatūros atsitiktinių skaičių generatorius

Kad kūrėjai ir Padedant generuoti saugius atsitiktinius skaičius, "Intel" lustai yra aparatūros atsitiktinių skaičių generatorius, žinomas kaip "RdRand". Ši lustinė procesoriuje naudoja entropijos šaltinį ir programinei įrangai pateikia atsitiktinius skaičius, kai programinė įranga jas reikalauja.

Problema yra ta, kad atsitiktinių skaičių generatorius iš esmės yra juodas langelis ir mes nežinome, kas vyksta joje. Jei RdRand būtų NSA backdoor, vyriausybė sugebėtų nutraukti šifravimo raktus, kurie buvo sugeneruoti tik su duomenimis, kuriuos pateikė šis atsitiktinių skaičių generatorius.

Tai kelia rimtą susirūpinimą. 2013 m. Gruodžio mėn. "FreeBSD" kūrėjai pašalino "RdRand" naudojimą tiesiogiai kaip atsitiktinumo šaltinį, sakydami, kad negalėjo pasikliauti. [Šaltinis] RdRand įrenginio išvestis būtų įtraukta į kitą algoritmą, kuris papildo papildomą entropiją, užtikrinančią, kad bet kokie atsitiktinių skaičių generatorių bagažinės nebūtų svarbūs. "Linux" jau dirbo taip toliau, atsitiktinai paskirstydamas atsitiktinius RdRand duomenis, kad jis nebūtų nuspėjamas, net jei buvo backdoor. [Šaltinis] "Neseniai AMA" ("Paklausk manęs nieko") "Reddit", "Intel" generalinis direktorius Brianas Krzanichas neatsakė į klausimus apie šias problemas. [Source]

Žinoma, tai greičiausiai nėra tik "Intel" lustų problema. "FreeBSD" kūrėjai taip pat pavadino "Via" žetonus. Šis prieštaringumas rodo, kodėl generuojant atsitiktinius atsitiktinius skaižius, kurie yra neprognozuojami, taip svarbu.


Norėdami generuoti "tikrus" atsitiktinius skaižius, atsitiktinių skaičių generatoriai surenka "entropiją" arba atrodo, atsitiktinius duomenis iš jų esančio fizinio pasaulio. Jei atsitiktiniai skaičiai, kurie nėra tikrai , turi būti atsitiktiniai, jie gali naudoti tik algoritmą ir sėklos vertę.

Vaizdo kreditas: "rekre89" "Flickr", "Lisa Friedrich", "Flickr", "Ryan Somma" "Flickr", " huangjiahui apie Flickr


Kaip įjungti ir išjungti iPhone, nenaudojant maitinimo mygtuko

Kaip įjungti ir išjungti iPhone, nenaudojant maitinimo mygtuko

"Apple" palaipsniui pradėjo šalinti kiekvieną purvantį fizinį "iPhone" mygtuką, panašų į mygtuką "Pagrindinis", kuris netgi nėra Tikrasis "iPhone 7" ir "8" mygtukas. Tačiau vis dar yra keletas fizinių mygtukų, kurie lieka: garsumo mygtukai ir maitinimo mygtukas. SUSIJĘS: Kodėl mano "iPhone" pagrindinis mygtukas 7 jaučiasi keistai?

(how-top)

Kaip pakeisti aliarmo garsą jūsų

Kaip pakeisti aliarmo garsą jūsų "Google" namuose

Jei norite koreguoti garsumą "Google" namuose, galite tiesiog perbraukti prietaiso viršutinėje jutiklinėje juostoje, kad įjungtumėte garsas aukštyn arba žemyn. Tačiau aliarmai naudoja skirtingą garsumo lygį. Norėdami jį sureguliuoti, turėsite atidaryti "Google" namų programą savo telefone. Įspėjimo garsas yra atskiras nustatymas "Google" namuose, nes, jūs manote, kad nenorite trūkti savo signalų tik todėl, kad įjungėte muziką žemyn.

(how-top)