Kaip mes naudojame kompiuterį kaip atsitiktinių skaičių generatorių

Kompiuteriai sukuria atsitiktinį skaičių viskam, pradedant kriptografija, baigiant vaizdo žaidimais ir lošimais. Yra dvi atsitiktinių skaičių kategorijos - tiesa atsitiktiniai skaičiai ir pseudo atsitiktiniai skaičiai. Skirtumas yra svarbus šifravimo sistemų saugumui. Šiame straipsnyje mes kalbėsime apie tai, kaip mes naudojame kompiuterį kaip atsitiktinių skaičių generatorių. Pradėkime!





Ši tema pastaruoju metu tampa vis prieštaringesnė. Kartu su daugeliu žmonių kilo abejonių, ar „Intel“ įmontuota aparatinė atsitiktinių skaičių generatoriaus mikroschema yra patikima, ar ne. Norėdami suprasti, kodėl tai gali būti nepatikima, turėsite suprasti. Tai, kaip pirmiausia generuojami atsitiktiniai skaičiai ir kam jie naudojami.



Kam naudojami atsitiktiniai skaičiai atsitiktinių skaičių generatorius

Atsitiktiniai skaičiai buvo naudojami daugelį tūkstančių metų. Nesvarbu, ar tai moneta, ar kauliukų metimas, tikslas yra palikti galutinį rezultatą atsitiktinai. Atsitiktinių skaičių generatorius kompiuteryje yra panašus. Jie yra bandymas pasiekti nenuspėjamą, atsitiktinį rezultatą.

Atsitiktinių skaičių generatoriai yra labai naudingi įvairiems tikslams. Be akivaizdžių programų, tokių kaip atsitiktinių skaičių generavimas lošimo tikslais ar nenuspėjamų rezultatų kūrimas kompiuteriniame žaidime, kriptografijai tikrai svarbu.



Kriptografijai reikalingi skaičiai, kurių užpuolikai negali atspėti. Negalime tik tuos pačius skaičius naudoti vėl ir vėl. Mes norime sugeneruoti šiuos skaičius labai nenuspėjamai, kad užpuolikai negalėtų jų atspėti. Šie atsitiktiniai skaičiai yra svarbūs saugiam šifravimui. ar jūs šifruojate savo failus, ar tiesiog naudojatės HTTPS svetaine internete.



Tikrieji atsitiktiniai skaičiai atsitiktinių skaičių generatorius

Jums gali kilti klausimas, kaip kompiuteris iš tikrųjų gali sugeneruoti atsitiktinį skaičių. Kur tai daro atsitiktinumas atvyko is? Ar tai ne kompiuterio kodo dalis, ar neįmanoma nuspėti kompiuterio sukurtų skaičių?

Mes atsitiktinio skaičiaus generuojamus kompiuterius paprastai suskirstome į du tipus. Tai priklauso nuo to, kaip jie generuojami: Tiesa atsitiktiniai skaičiai ir pseudo-atsitiktiniai skaičiai.



android os akumuliatoriaus nutekėjimo nugata

Norėdami sugeneruoti a tiesa atsitiktinis skaičius, kompiuteris matuoja tam tikrą fizinį reiškinį, vykstantį už kompiuterio ribų. Pvz., Kompiuteris galėtų išmatuoti radioaktyvų atomo skilimą. Remiantis kvantine teorija, negalima tiksliai žinoti, kada įvyks radioaktyvus skilimas. Taigi tai yra iš esmės grynas atsitiktinumas iš visatos. Užpuolikas negalėtų numatyti, kada įvyks radioaktyvus skilimas. Taigi jie nežinotų atsitiktinės vertės.



Jei norite daugiau kasdienio pavyzdžio, kompiuteris gali pasikliauti atmosferos triukšmu arba tiesiog naudoti tikslų laiką, kurį paspausite klaviatūros klavišus, kaip nenuspėjamų duomenų ar entropijos šaltinį. Pvz., Jūsų kompiuteris gali pastebėti, kad paspaudėte klavišą tiksliai 0,23423523 sekundėmis po 14 val. Paimkite pakankamai konkretaus laiko, susijusio su šiais klavišų paspaudimais, ir turėsite entropijos šaltinį, kurį galėsite naudoti generuodami tiesa atsitiktinis skaičius. Jūs nesate nuspėjama mašina. Taigi užpuolikas negali atspėti tikslaus momento, kai paspausite šiuos klavišus. „/ Dev / random“ įrenginys „Linux“ sistemoje, generuojantis atsitiktinius skaičius, blokai ir negrąžina rezultato, kol nesurenka pakankamai entropijos, kad grąžintų tikrai atsitiktinį skaičių.

Pseudonuotiniai skaičiai atsitiktinių skaičių generatorius

Pseudonuotiniai skaičiai yra alternatyva tiesa atsitiktiniai skaičiai. Kompiuteris galėtų naudoti pradinę vertę ir algoritmą, kad sugeneruotų skaičius, kurie atrodo atsitiktiniai, tačiau tai iš tikrųjų yra nuspėjama. Kompiuteris nerenka jokių atsitiktinių duomenų iš aplinkos.

Tai nebūtinai yra blogas dalykas kiekvienoje situacijoje. Pavyzdžiui, jei žaidžiate vaizdo žaidimą. Iš tikrųjų nesvarbu, ar tame žaidime vykstantys įvykiai yra sukelti tiesa atsitiktiniai skaičiai arba pseudo atsitiktiniai skaičiai. Iš kitos pusės. Jei naudojate šifravimą, nenorite naudoti pseudonuotinių skaičių, kuriuos užpuolikas galėjo atspėti.

Pavyzdžiui, tarkime, kad užpuolikas žino algoritmą ir pradinę vertę, kurią naudoja pseudo atsitiktinių skaičių generatorius. Sakykime, kad šifravimo algoritmas iš šio algoritmo gauna pseudo atsitiktinį skaičių. Ir naudoja jį šifravimo raktui generuoti, nepridėdamas jokio papildomo atsitiktinumo. Jei užpuolikas žino pakankamai, jie gali dirbti atgal ir nustatyti pseudo atsitiktinio skaičiaus. Tokiu atveju turi būti pasirinktas šifravimo algoritmas, pažeidžiantis šifravimą.

NSA ir „Intel“ aparatinės įrangos atsitiktinių skaičių generatorius

Palengvinti kūrėjų reikalus ir padėti generuoti saugius atsitiktinius skaičius. „Intel“ lustuose yra aparatinės įrangos atsitiktinių skaičių generatorius, žinomas kaip „RdRand“. Ši mikroschema naudoja procesoriaus entropijos šaltinį ir programinei įrangai pateikia atsitiktinius skaičius, kai programinė įranga jų reikalauja.

Čia problema ta, kad atsitiktinių skaičių generatorius iš esmės yra juodas langelis ir mes nežinome, kas vyksta jo viduje. Jei „RdRand“ būtų NSA užnugaris, vyriausybė galėtų sulaužyti šifravimo raktus. Tai buvo sugeneruota naudojant tik to atsitiktinių skaičių generatoriaus pateiktus duomenis.

Tai kelia rimtą susirūpinimą. 2013 m. Gruodžio mėn. „FreeBSD“ kūrėjai pašalino palaikymą naudoti „RdRand“ tiesiogiai kaip atsitiktinumo šaltinį sakydami, kad negali tuo pasitikėti. [Šaltinis] „RdRand“ įrenginio išvestis bus įtraukta į kitą algoritmą, kuris prideda papildomą entropiją. Tai užtikrina, kad jokios atsitiktinių skaičių generatoriaus užpakalinės durys nebūtų svarbios. „Linux“ jau dirbo tokiu būdu, dar labiau atsitiktinai parinkdamas atsitiktinius duomenis, gautus iš „RdRand“, kad jų nebūtų galima nuspėti, net jei būtų užpakalinės durys. [Šaltinis] Naujausioje AMA ( Klausk manęs bet ko ) „Reddit“, „Intel“ generalinis direktorius Brianas Krzanichas neatsakė į klausimus apie šias problemas. [Šaltinis]

Žinoma, tai yra ne tik „Intel“ lustų problema. „FreeBSD“ kūrėjai taip pat pavadino „Via“ žetonus. Šis ginčas parodo, kodėl taip svarbu generuoti atsitiktinius skaičius, kurie yra tikrai atsitiktiniai ir nenuspėjami.

Generuoti tiesa atsitiktiniai skaičiai, atsitiktinių skaičių generatoriai susirenka entropija, arba iš pažiūros atsitiktiniai duomenys iš juos supančio fizinio pasaulio. Atsitiktiniams skaičiams, kurie to nedaro tikrai turi būti atsitiktiniai, jie gali naudoti tik algoritmą ir pradinę vertę.

Išvada

Gerai, tai buvo visi žmonės! Tikiuosi, kad jums patinka šis atsitiktinių skaičių generavimo straipsnis ir jums tai bus naudinga. Pateikite mums savo atsiliepimus apie tai. Taip pat, jei norite užduoti kitų su tuo susijusių klausimų. Tada praneškite mums toliau pateiktame komentarų skyriuje. Netrukus susisieksime su jumis.

Geros dienos!

Taip pat žiūrėkite: NSFW: prasmė ir kaip tai iš tikrųjų veikia

nuotykių prekybos centro parduotuvės žemėlapis