glavni - Suhozidom
Generator slučajnih brojeva. Rusi su smislili "prvi" biološki generator slučajnih brojeva na svijetu. Kako on radi? Što radi sigurnosni kod

Postoje tri temeljno različita načina dobivanja brojeva koji se koriste kao slučajni: fizički, tablični i algoritamski.

Vjeruje se da prvi pokušaj stvaranja fizičkog generatora slučajnih brojeva datira iz 3500. pr. a povezan je s društvenom igrom senet, drevnom egipatskom svjetovnom zabavom. Prema modernim rekonstrukcijama pravila igre, pomoću četiri ravna štapića utvrđen je broj bodova koje je postigao svaki igrač i slijed poteza u ovoj igri, čija je jedna strana bila bijela, a druga crna. Bacali su se palice istodobno i, ovisno o kombinaciji boja koja je pala, odredili su dodatne mogućnosti igračima. Početkom XX. Stoljeća. nizovi slučajnih brojeva simulirani su ručno - bacanjem novčića ili kocke, postavljanjem karata za igranje, ruleta, uklanjanjem kuglica iz urne itd. Suvremeni fizički (hardverski) senzori posebni su uređaji koji generiraju slučajne brojeve na temelju transformacije slučajnih zvukova prirodnog ili umjetnog podrijetla (toplinski šum, efekt pucanja u vakuumskim cijevima, radioaktivni raspad itd.) Na primjer, automobil ERNIE 4 (elektronička oprema za pokazivanje slučajnih brojeva),

  • 1 Ponekad, iako rijetko, raspodjela navedena u tablici naziva se standardnom 0 1 ... 8 9
  • 0,1 0,1 ... 0,1 0,1 / uz pomoć kojih se utvrđuju dobitni brojevi u mjesečnoj Britanskoj lutriji, koristi toplotni šum tranzistora kao izvor slučajnih varijabli. Fizička metoda dobivanja niza slučajnih brojeva ima značajke koje su nedostaci simulacijskog modela. Tu prije svega spadaju potreba za posebnim mjerama kako bi se osigurala stabilnost izvora signala pretvorenog u slučajne brojeve i nemogućnost reprodukcije rezultirajućeg niza slučajnih brojeva.

Tablice slučajnih brojeva ne sadrže ove nedostatke. Objasnimo što se podrazumijeva pod tablicom slučajnih brojeva. Pretpostavimo da smo proveli N neovisni eksperimenti, koji su rezultirali slučajnim brojevima a, a 2, osdr. Zapisivanjem tih brojeva (redoslijedom izgleda i u obliku pravokutne tablice) dobit će se ono što se naziva tablicom slučajnih brojeva. Koristi se na sljedeći način. Tijekom izračunavanja možda će nam trebati slučajan broj ili slučajan broj. Ako je potreban slučajan broj, iz ove tablice možemo uzeti bilo koji broj. Isto se odnosi na slučajni cijeli broj - za svaku se znamenku može odabrati bilo koja znamenka. Ako nam treba slučajan broj 0 k uzastopnih znamenki cc, a 2, ao /, i pretpostavimo da je 8 \u003d (Hoco ^ .-. O ^. U ovom slučaju, u slučaju "idealne" tablice slučajnih znamenki, možemo birati znamenke iz njega nasumično, možemo biti u nizu, možete koristiti bilo koji algoritam odabira koji ne ovisi o vrijednostima znamenki tablice, krenuti s bilo kojeg mjesta u tablici, čitati u bilo kojem smjeru.

Prve tablice slučajnih brojeva dobivene su pomoću ruleta. Takve su tablice objavljene nekoliko puta u obliku knjiga. Jedna od najpoznatijih tablica, objavljena 1927. godine, sadržavala je preko 40 000 slučajnih brojeva "nasumično preuzetih iz popisnih izvještaja".

Povijest

Leonard Tippett (Leonard Henry Caleb Tippett, 1902-1985) - engleski statističar, učenik K. Pearsona i R. Fishera. Godine 1965.-1966. - predsjednik Kraljevskog statističkog društva. Neki su važni rezultati u teoriji ekstremnih vrijednosti povezani s njegovim imenom, na primjer, Fisher - Tippettova raspodjela i Fisher - Tippett - Gnedenkov teorem.

Kasnije su dizajnirani posebni uređaji (strojevi) koji mehanički generiraju slučajne brojeve. Prvi takav stroj koristili su 1939. M. J. Kendall i B. Babington-Smith za stvaranje tablica koje sadrže 100 000 slučajnih znamenki. 1955. godine tvrtka Korporacija RAND objavio dobro poznate tablice s milijun slučajnih znamenki dobivenih drugim strojem ove vrste. Praktična primjena tablica slučajnih brojeva trenutno je u pravilu ograničena na probleme koji koriste metode slučajnog odabira.

uzorci, na primjer, u sociološkim istraživanjima ili tijekom statističke kontrole prihvaćanja kvalitete komada proizvoda za različite svrhe.

Zanimljivo je

U Rusiji je na snazi \u200b\u200bGOST 18321-73 (ST SEV 1934-79) kojim se utvrđuju pravila za odabir jedinica proizvoda u uzorku tijekom statističke kontrole kvalitete prihvaćanja, statističke metode analize i regulacija tehnoloških procesa za sve vrste komada proizvodi za industrijske i tehničke svrhe i roba široke potrošnje. U njemu je posebno naznačeno da se prilikom odabira proizvodnih jedinica u uzorku „koriste tablice slučajnih brojeva prema ST SEV 546-77“.

ponovno prijaviti; svi brojevi su lako ponovljivi; a ponuda brojeva u takvom slijedu je ograničena. Međutim, slijed pseudo-slučajnih brojeva ima očitu prednost nad tablicom: postoje jednostavne formule za izračunavanje pseudo-slučajnog broja, dok za dobivanje svakog broja treba samo 3-5 naredbi, a program za izračunavanje zauzima samo nekoliko ćelija u pogonu.

Postoji mnogo algoritama za dobivanje sekvenci pseudo-slučajnih brojeva; implementacije takvih algoritama, nazvanih senzori (generatori) pseudo-slučajnih brojeva, detaljno su opisani u posebnoj literaturi. Evo nekoliko najpoznatijih algoritama.

  • Tippett L. Slučajni brojevi uzorkovanja. London: Cambridge University Press, 1927.
  • Vidjeti: D. E. Knut, Umjetnost programiranja. 3. izdanje M .: Williams, 2000. T. 2. Ch. 3. Slučajni brojevi.

19.09.2017., Utorak, 13:18, po moskovskom vremenu , Tekst: Valeria Shmyrova

Tvrtka Sigurnosni kod, programer kriptografskog kompleksa Continent, dobila je patent za biološki senzor slučajnih brojeva. To je upravo biološki senzor, jer je osnova slučajnosti reakcija korisnika na prikazanu mu sliku. Tvrtka uvjerava da takve tehnologije u svijetu prije nisu bile patentirane.

Dobivanje patenta

Sigurnosni kod dobio je patent za tehnologiju biološkog senzora slučajnih brojeva. Prema programerima, prilikom stvaranja tehnologije koristili su "novi pristup rješavanju problema generiranja slučajnih brojeva pomoću računala i osobe". Razvoj se već koristi u brojnim proizvodima, uključujući Continent-AP, Secret Net Studio, Continent TLS i Jinn, kao i u kriptografskoj knjižnici SCrypt.

Predstavnici tvrtke objasnili su za CNews da radovi na senzoru traju već treću godinu. Sastoji se od znanstvenog dijela, provedbe i eksperimentalnog dijela. Za znanstveni dio tvrtke odgovorne su tri osobe, u razvoju je sudjelovao cijeli tim programera, a testiranje i eksperimenti provodio je cijeli tim, koji broji nekoliko stotina ljudi.

Tehnološke mogućnosti

Novi senzor može generirati nasumične sekvence na osobnim uređajima bez potrebe za dodatnim instrumentima ili hardverskim dodacima. Može se koristiti za šifriranje podataka i u bilo kojem području gdje postoji potreba za slučajnim binarnim sekvencama. Prema programerima, ključeve za šifriranje stvara puno brže na mobilnim uređajima. Ovo se svojstvo može koristiti za šifriranje podataka ili generiranje elektroničkog potpisa.

Kao što je objašnjeno Alisa Koreneva, sistemski analitičar "Sigurnosnog koda", senzor koji je stvorila tvrtka generira nasumične sekvence na temelju brzine i točnosti korisnikove reakcije rukom na promjenu slike na zaslonu računala ili tableta. Za unos se koristi miš ili zaslon osjetljiv na dodir. Izgleda ovako: krugovi se kaotično kreću po zaslonu, neki se njihovi parametri s vremenom mijenjaju. U nekim trenucima korisnik reagira na promjene na slici. S obzirom na njegove motoričke sposobnosti, to se odražava u slučajnoj masi bitova.

Možete generirati slijedove slučajnih brojeva na temelju spontanih ljudskih reakcija

Izvan kriptografije, senzor se može koristiti za generiranje slučajnih brojeva u računalnim igrama ili za odabir pobjednika natjecanja.

Znanstvena novost

Kao što je tvrtka objasnila CNews-u, mnoge poznate metode konstrukcije senzora slučajnih brojeva temelje se ili na fizikalnim zakonima i pojavama, ili na determinističkim algoritmima. Slijed se može generirati pomoću računala - u ovom se slučaju nestabilnost rada nekih dijelova računala i nesigurnost hardverskih smetnji uzimaju kao osnova slučajnosti.

Novost tehnologije "Sigurnosni kod" leži u činjenici da je izvor slučajnosti reakcija osobe na promjenjivu sliku koja se prikazuje na zaslonu uređaja. Zato naslov izuma sadrži riječ "biološki". Tvrtka izvještava da ni ona ni Rospatent nisu pronašli patentirane analoge tehnologije u Rusiji i u svijetu. Međutim, općenito su takve tehnike poznate: na primjer, slijed se može generirati na temelju korisnikovih radnji poput klikova ili kretanja mišem ili pritiska na tipkovnici.

Prema Korenevoj, razvojni tim analizirao je različite načine generiranja slučajnih sekvenci. Ispostavilo se, u mnogim slučajevima ne postoje valjane procjene izvedbe generiranja, niti statistička svojstva generiranih sekvenci, ili oboje. To je zbog poteškoća u potkrijepljenju već izumljene tehnologije. Sigurnosni zakonik tvrdi da je u svojoj studiji dobio valjane procjene brzine generacije, uspio je potkrijepiti dobre vjerojatnosne karakteristike i statistička svojstva te procijeniti entropiju uvedenu ljudskim postupcima.

Proizvodi koji koriste tehnologiju

"Continent" je hardversko-softverski kompleks dizajniran za šifriranje podataka. Koristi se u ruskom javnom sektoru, na primjer, u riznici. Sastoji se od vatrozida i alata za stvaranje VPN-a. Kreirao ga je NIP "Informzashita", a sada ga razvija LLC "Sigurnosni kod".

Točnije, pristupni poslužitelj Continent i sustav šifriranja informacija Continent-AP zaštićeni su modul za daljinski pristup koji koristi GOST algoritme, a Continent TLS VPN je sustav za pružanje sigurnog daljinskog pristupa web aplikacijama pomoću GOST algoritama šifriranja.

Secret Net Studio je sveobuhvatno rješenje za zaštitu radnih stanica i poslužitelja na razini podataka, aplikacija, mreže, operativnog sustava i periferne mreže, koje također razvija "Sigurnosni kôd". Jinn-Client dizajniran je za kriptografsku zaštitu podataka za stvaranje elektroničkih potpisa i pouzdanu vizualizaciju dokumenata, a Jinn-Server je softverski i hardverski kompleks za izgradnju pravno značajnih sustava elektroničkog upravljanja dokumentima.

Kriptografsku knjižnicu SCrypt, koja također koristi novi senzor, razvio je Sigurnosni kôd kako bi olakšao primjenu kriptografskih algoritama u različitim proizvodima. Ovo je jedan programski kod koji je prošao provjeru pogrešaka. Biblioteka podržava kriptografske algoritme za raspršivanje, elektronički potpis, šifriranje.

Što radi sigurnosni kod

Sigurnosni kod ruska je tvrtka koja razvija softver i hardver. Osnovani su 2008. Opseg proizvoda je zaštita informacijskih sustava i njihovo usklađivanje s međunarodnim i industrijskim standardima, uključujući zaštitu povjerljivih podataka, do državnih tajni. Sigurnosni zakon posjeduje devet licenci od Federalne službe za tehničku i izvoznu kontrolu (FSTEC) Rusije, Federalne službe sigurnosti (FSB) Rusije i Ministarstva obrane.

Tvrtka zapošljava oko 300 stručnjaka, a 900 ovlaštenih partnera u svim regijama Rusije i zemljama ZND-a bavi se prodajom proizvoda. Baza klijenata Sigurnosnog kodeksa broji oko 32 tisuće vladinih i komercijalnih organizacija.

Deterministički PRNG-ovi

Nijedan deterministički algoritam ne može generirati potpuno slučajne brojeve, on može samo približiti neka svojstva slučajnih brojeva. Kao što je rekao John von Neumann, “ onaj tko ima slabosti prema aritmetičkim metodama dobivanja slučajnih brojeva bez sumnje je grijeh».

Bilo koji PRNG s ograničenim resursima prije ili kasnije zapne u petlju - počinje ponavljati isti slijed brojeva. Duljina PRNG ciklusa ovisi o samom generatoru i iznosi u prosjeku oko 2 n / 2, gdje je n veličina unutarnjeg stanja u bitovima, premda linearni kongruentni i LFSR generatori imaju maksimalne cikluse reda od 2 n. Ako se PRNG može konvergirati u prekratke cikluse, PRNG postaje predvidljiv i neupotrebljiv.

Većina jednostavnih aritmetičkih generatora, iako brza, pati od mnogih ozbiljnih nedostataka:

  • Razdoblje / razdoblja prekratko.
  • Uzastopne vrijednosti nisu neovisne.
  • Neki su bitovi "manje slučajni" od drugih.
  • Neravnomjerna jednodimenzionalna raspodjela.
  • Reverzibilnost.

Konkretno, pokazalo se da je algoritam glavnog računala vrlo loš, što je potaklo sumnju u pouzdanost rezultata mnogih studija koje koriste ovaj algoritam.

PRNG s izvorom entropije ili RNG

Uz postojeću potrebu za generiranjem lako ponovljivih sekvenci slučajnih brojeva, postoji i potreba za generiranjem potpuno nepredvidivih ili jednostavno potpuno slučajnih brojeva. Takvi generatori su pozvani generatori slučajnih brojeva (RNG - eng. generator slučajnih brojeva, RNG). Budući da se takvi generatori najčešće koriste za generiranje jedinstvenih simetričnih i asimetričnih ključeva za šifriranje, najčešće se grade iz kombinacije jakog PRNG-a i vanjskog izvora entropije (i upravo je ta kombinacija danas uobičajeno shvaćena kao RNG).

Gotovo svi glavni proizvođači mikročipova isporučuju hardverske RNG-ove različitim izvorima entropije, koristeći različite metode kako bi ih očistili od neizbježne predvidljivosti. Međutim, trenutno brzina prikupljanja slučajnih brojeva svim postojećim mikročipovima (nekoliko tisuća bitova u sekundi) ne odgovara brzini modernih procesora.

Na osobnim računalima autori softvera RNG koriste se mnogo bržim izvorima entropije, poput šuma zvučne kartice ili brojača takta procesora. Prije nego što je postalo moguće očitati vrijednosti brojača sata, prikupljanje entropije bilo je najosjetljivija točka RNG-a. Ovaj problem još uvijek nije u potpunosti riješen na mnogim uređajima (npr. Pametnim karticama) koji na ovaj način ostaju ranjivi. Mnogi RNG-ovi i dalje koriste tradicionalne (zastarjele) metode prikupljanja entropije, poput mjerenja korisnikovog odgovora (kretanje miša itd.), Kao što je, na primjer, u niti interakcija između niti, kao što je, na primjer, Java slučajno osigurano.

Primjeri izvora RNG-a i entropije

Nekoliko primjera RNG-ova s \u200b\u200bnjihovim izvorima entropije i generatorima:

Izvor entropije PRNG Dostojanstvo nedostaci
/ dev / random na Linuxu Brojač ciklusa procesora, ali prikupljen samo tijekom hardverskih prekida LFSR, s prolaznim raspršivanjemVrlo se dugo "zagrijava", može dugo "zapeti" ili djeluje kao PRNG ( / dev / urandom)
Stolisnik Brucea Schneiera Tradicionalne (zastarjele) metode AES -256 iFleksibilni kriptografski dizajn "Zagrijava se" dugo, vrlo malo unutarnje stanje, previše ovisi o kriptografskoj snazi \u200b\u200bodabranih algoritama, sporo, primjenjivo isključivo za generiranje ključa
Generator Leonid Yuriev Zvuk zvučne kartice ? Najvjerojatnije dobar i brz izvor entropije Nijedan nezavisni, za koji se zna da je kriptografski jak PRNG, dostupan isključivo kao Windows
Microsoft Ugrađen u sustav Windows, ne "zaglavi" Malo unutarnje stanje, lako predvidljivo
Interakcija između niti Java još nema drugog izbora, veliko unutarnje stanje Polako skupljanje entropije
Kaos Ruptor Brojač ciklusa procesora, sakuplja se kontinuirano Hashing 4096-bitnog unutarnjeg stanja na temelju nelinearne varijante Marsaglia generatora Dok najbrže od svega, veliko unutarnje stanje, ne "zapne"
RRAND by Ruptor Brojač ciklusa procesora Šifriranje unutarnjeg stanja s protočnom šifromVrlo brzo, unutarnje stanje proizvoljne veličine po izboru, ne "zapinje"

PRNG u kriptografiji

Neka vrsta PRNG-a su PRBG - generatori pseudo-slučajnih bitova, kao i razne strujne šifre. PRNG, poput stream šifri, sastoje se od unutarnjeg stanja (obično od 16 bita do nekoliko megabajta), funkcije za inicijalizaciju unutarnjeg stanja ključem ili sjeme (eng. sjeme), unutarnje funkcije ažuriranja stanja i izlazne funkcije. PRNG-ovi se dijele na jednostavne aritmetičke, slomljene kriptografske i kriptografske snage. Njihova je zajednička svrha generiranje nizova brojeva koji se računskim metodama ne mogu razlikovati od slučajnih.

Iako mnogi kriptografski jaki PRNG-ovi ili stream šifre nude mnogo više "slučajnih" brojeva, takvi su generatori puno sporiji od konvencionalnih aritmetičkih generatora i možda nisu prikladni za bilo koju vrstu istraživanja koja zahtijevaju da procesor bude slobodan za korisnija izračunavanja.

U vojne svrhe i na terenu koriste se samo tajni sinkroni kriptografski jaki PRNG (stream šifre), blok šifre se ne koriste. Primjeri poznatih kriptografski jakih PRNG-ova su ISAAC, SEAL, Snow, vrlo spor teoretski algoritam Bluma, Bluma i Shuba, kao i brojači s kriptografskim hash funkcijama ili kriptografski jake blok šifre umjesto izlazne funkcije.

Hardverski PRNG

Osim zastarjelih, dobro poznatih LFSR generatora koji su se u 20. stoljeću naširoko koristili kao hardverski PRNG-ovi, nažalost, o modernim hardverskim PRNG-ovima (stream šifre) vrlo se malo zna jer su većina dizajnirani u vojne svrhe i drže se u tajnosti . Gotovo svi postojeći komercijalni hardverski PRNG-ovi patentirani su i također se čuvaju u tajnosti. Hardverski PRNG-ovi ograničeni su strogim zahtjevima za utrošenu memoriju (najčešće je zabranjena uporaba memorije), brzinu (1-2 takta) i područje (nekoliko stotina FPGA-a - ili

Zbog nedostatka dobrih hardverskih PRNG-ova, proizvođači su prisiljeni koristiti puno sporije, ali nadaleko poznate blok šifre (Computer Review # 29 (2003)

  • Jurij Lifšic. Tečaj "Suvremeni problemi kriptografije" Predavanje 9: Pseudo-slučajni generatori
  • L. Barash. AKS algoritam za provjeru jednostavnosti brojeva i pronalaženje konstanti generatora pseudo-slučajnih brojeva
  • Želnikov Vladimir. Pseudo-slučajni nizovi brojeva // Kriptografija od papirusa do računala M.: ABF, 1996.
  • random.org (eng.) - mrežna usluga za generiranje slučajnih brojeva
  • Kriptografski slučajni brojevi
  • Teorija i praksa stvaranja slučajnih brojeva (eng.)
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza Linux generatora slučajnih brojeva
  • Skup statističkih ispitivanja za generatore slučajnih i pseudo-slučajnih brojeva za kriptografske primjene NIST SP 800-22
  • Deterministički PRNG-ovi

    Nijedan deterministički algoritam ne može generirati potpuno slučajne brojeve, on može samo približiti neka svojstva slučajnih brojeva. Kao što je rekao John von Neumann, “ onaj tko ima slabosti prema aritmetičkim metodama dobivanja slučajnih brojeva bez sumnje je grijeh».

    Bilo koji PRNG s ograničenim resursima prije ili kasnije zapne u petlju - počinje ponavljati isti slijed brojeva. Duljina PRNG ciklusa ovisi o samom generatoru i iznosi u prosjeku oko 2 n / 2, gdje je n veličina unutarnjeg stanja u bitovima, premda linearni kongruentni i LFSR generatori imaju maksimalne cikluse reda od 2 n. Ako se PRNG može konvergirati u prekratke cikluse, PRNG postaje predvidljiv i neupotrebljiv.

    Većina jednostavnih aritmetičkih generatora, iako brza, pati od mnogih ozbiljnih nedostataka:

    • Razdoblje / razdoblja prekratko.
    • Uzastopne vrijednosti nisu neovisne.
    • Neki su bitovi "manje slučajni" od drugih.
    • Neravnomjerna jednodimenzionalna raspodjela.
    • Reverzibilnost.

    Konkretno, pokazalo se da je algoritam glavnog računala vrlo loš, što je potaklo sumnju u pouzdanost rezultata mnogih studija koje koriste ovaj algoritam.

    PRNG s izvorom entropije ili RNG

    Uz postojeću potrebu za generiranjem lako ponovljivih sekvenci slučajnih brojeva, postoji i potreba za generiranjem potpuno nepredvidivih ili jednostavno potpuno slučajnih brojeva. Takvi generatori su pozvani generatori slučajnih brojeva (RNG - eng. generator slučajnih brojeva, RNG). Budući da se takvi generatori najčešće koriste za generiranje jedinstvenih simetričnih i asimetričnih ključeva za šifriranje, najčešće se grade iz kombinacije jakog PRNG-a i vanjskog izvora entropije (i upravo je ta kombinacija danas uobičajeno shvaćena kao RNG).

    Gotovo svi glavni proizvođači mikročipova isporučuju hardverske RNG-ove različitim izvorima entropije, koristeći različite metode kako bi ih očistili od neizbježne predvidljivosti. Međutim, trenutno brzina prikupljanja slučajnih brojeva svim postojećim mikročipovima (nekoliko tisuća bitova u sekundi) ne odgovara brzini modernih procesora.

    Na osobnim računalima autori softvera RNG koriste se mnogo bržim izvorima entropije, poput šuma zvučne kartice ili brojača takta procesora. Prije nego što je postalo moguće očitati vrijednosti brojača sata, prikupljanje entropije bilo je najosjetljivija točka RNG-a. Ovaj problem još uvijek nije u potpunosti riješen na mnogim uređajima (npr. Pametnim karticama) koji na ovaj način ostaju ranjivi. Mnogi RNG-ovi i dalje koriste tradicionalne (zastarjele) metode prikupljanja entropije, poput mjerenja korisnikovog odgovora (kretanje miša itd.), Kao što je, na primjer, u niti interakcija između niti, kao što je, na primjer, Java slučajno osigurano.

    Primjeri izvora RNG-a i entropije

    Nekoliko primjera RNG-ova s \u200b\u200bnjihovim izvorima entropije i generatorima:

    Izvor entropije PRNG Dostojanstvo nedostaci
    / dev / random na Linuxu Brojač ciklusa procesora, ali prikupljen samo tijekom hardverskih prekida LFSR, s prolaznim raspršivanjemVrlo se dugo "zagrijava", može dugo "zapeti" ili djeluje kao PRNG ( / dev / urandom)
    Stolisnik Brucea Schneiera Tradicionalne (zastarjele) metode AES -256 iFleksibilni kriptografski dizajn "Zagrijava se" dugo, vrlo malo unutarnje stanje, previše ovisi o kriptografskoj snazi \u200b\u200bodabranih algoritama, sporo, primjenjivo isključivo za generiranje ključa
    Generator Leonid Yuriev Zvuk zvučne kartice ? Najvjerojatnije dobar i brz izvor entropije Nijedan nezavisni, za koji se zna da je kriptografski jak PRNG, dostupan isključivo kao Windows
    Microsoft Ugrađen u sustav Windows, ne "zaglavi" Malo unutarnje stanje, lako predvidljivo
    Interakcija između niti Java još nema drugog izbora, veliko unutarnje stanje Polako skupljanje entropije
    Kaos Ruptor Brojač ciklusa procesora, sakuplja se kontinuirano Hashing 4096-bitnog unutarnjeg stanja na temelju nelinearne varijante Marsaglia generatora Dok najbrže od svega, veliko unutarnje stanje, ne "zapne"
    RRAND by Ruptor Brojač ciklusa procesora Šifriranje unutarnjeg stanja s protočnom šifromVrlo brzo, unutarnje stanje proizvoljne veličine po izboru, ne "zapinje"

    PRNG u kriptografiji

    Neka vrsta PRNG-a su PRBG - generatori pseudo-slučajnih bitova, kao i razne strujne šifre. PRNG, poput stream šifri, sastoje se od unutarnjeg stanja (obično od 16 bita do nekoliko megabajta), funkcije za inicijalizaciju unutarnjeg stanja ključem ili sjeme (eng. sjeme), unutarnje funkcije ažuriranja stanja i izlazne funkcije. PRNG-ovi se dijele na jednostavne aritmetičke, slomljene kriptografske i kriptografske snage. Njihova je zajednička svrha generiranje nizova brojeva koji se računskim metodama ne mogu razlikovati od slučajnih.

    Iako mnogi kriptografski jaki PRNG-ovi ili stream šifre nude mnogo više "slučajnih" brojeva, takvi su generatori puno sporiji od konvencionalnih aritmetičkih generatora i možda nisu prikladni za bilo koju vrstu istraživanja koja zahtijevaju da procesor bude slobodan za korisnija izračunavanja.

    U vojne svrhe i na terenu koriste se samo tajni sinkroni kriptografski jaki PRNG (stream šifre), blok šifre se ne koriste. Primjeri poznatih kriptografski jakih PRNG-ova su ISAAC, SEAL, Snow, vrlo spor teoretski algoritam Bluma, Bluma i Shuba, kao i brojači s kriptografskim hash funkcijama ili kriptografski jake blok šifre umjesto izlazne funkcije.

    Hardverski PRNG

    Osim zastarjelih, dobro poznatih LFSR generatora koji su se u 20. stoljeću naširoko koristili kao hardverski PRNG-ovi, nažalost, o modernim hardverskim PRNG-ovima (stream šifre) vrlo se malo zna jer su većina dizajnirani u vojne svrhe i drže se u tajnosti . Gotovo svi postojeći komercijalni hardverski PRNG-ovi patentirani su i također se čuvaju u tajnosti. Hardverski PRNG-ovi ograničeni su strogim zahtjevima za utrošenu memoriju (najčešće je zabranjena uporaba memorije), brzinu (1-2 takta) i područje (nekoliko stotina FPGA-a - ili

    Zbog nedostatka dobrih hardverskih PRNG-ova, proizvođači su prisiljeni koristiti puno sporije, ali nadaleko poznate blok šifre (Computer Review # 29 (2003)

  • Jurij Lifšic. Tečaj "Suvremeni problemi kriptografije" Predavanje 9: Pseudo-slučajni generatori
  • L. Barash. AKS algoritam za provjeru jednostavnosti brojeva i pronalaženje konstanti generatora pseudo-slučajnih brojeva
  • Želnikov Vladimir. Pseudo-slučajni nizovi brojeva // Kriptografija od papirusa do računala M.: ABF, 1996.
  • random.org (eng.) - mrežna usluga za generiranje slučajnih brojeva
  • Kriptografski slučajni brojevi
  • Teorija i praksa stvaranja slučajnih brojeva (eng.)
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza Linux generatora slučajnih brojeva
  • Skup statističkih ispitivanja za generatore slučajnih i pseudo-slučajnih brojeva za kriptografske primjene NIST SP 800-22
  • Softver gotovo svih računala ima ugrađenu funkciju za generiranje niza pseudo-slučajnih kvazi-jednoliko raspoređenih brojeva. Međutim, za statističko modeliranje povećani su zahtjevi za generiranjem slučajnih brojeva. Kvaliteta rezultata takvog modeliranja izravno ovisi o kvaliteti generatora jednoliko raspoređenih slučajnih brojeva, budući da ti su brojevi također izvori (početni podaci) za dobivanje drugih slučajnih varijabli s danim zakonom o raspodjeli.

    Nažalost, idealni generatori ne postoje, a popis njihovih poznatih svojstava nadopunjuje se popisom nedostataka. To dovodi do rizika od upotrebe lošeg generatora u računalnom eksperimentu. Stoga je prije provođenja računalnog eksperimenta potrebno ili procijeniti kvalitetu funkcije generiranja slučajnih brojeva ugrađenih u računalo, ili odabrati prikladan algoritam za generiranje slučajnih brojeva.

    Da bi se mogao koristiti u računalnoj fizici, generator mora imati sljedeća svojstva:

      Računska učinkovitost je najkraće moguće računanje za sljedeći ciklus i količina memorije za rad generatora.

      Velika duljina L slučajnog niza brojeva. To bi razdoblje trebalo uključivati \u200b\u200bbarem skup slučajnih brojeva neophodnih za statistički eksperiment. Uz to, čak je i približavanje kraju L opasno, što može dovesti do netočnih rezultata statističkog eksperimenta.

    Kriterij za dovoljnu duljinu pseudo-slučajnog niza odabire se iz sljedećih razmatranja. Metoda Monte Carlo sastoji se u višestrukim ponavljanjima izračuna izlaznih parametara modeliranog sustava, koji je pod utjecajem ulaznih parametara koji fluktuiraju s danim zakonima raspodjele. Metoda se temelji na generiranju slučajnih brojeva s odoraraspodjela u intervalu, iz kojeg se formiraju slučajni brojevi s danim zakonima raspodjele. Dalje, vjerojatnost modeliranog događaja izračunava se kao omjer broja ponavljanja eksperimenata u modelu s uspješnim ishodom i broja ukupnih ponavljanja eksperimenata pod zadanim početnim uvjetima (parametrima) modela.

    Za pouzdan, u statističkom smislu izračun ove vjerojatnosti, broj ponavljanja eksperimenta može se procijeniti formulom:

    gdje
    - inverzna funkcija funkcije normalne raspodjele, - povjerljiva vjerojatnost pogreške mjerenje vjerojatnosti.

    Stoga, tako da pogreška ne prelazi interval pouzdanosti s razinom pouzdanosti, na primjer \u003d 0,95 potrebno je da broj ponavljanja pokusa ne bude manji:

    (2.2)

    Na primjer, za 10% pogreške ( \u003d 0,1) dobivamo
    , i za 3% pogreške ( \u003d 0,03) već smo dobili
    .

    Za ostale početne uvjete modela, novu seriju ponavljanja pokusa treba provesti na drugom pseudo-slučajnom slijedu. Stoga bilo koja funkcija za generiranje pseudo-slučajnog niza mora imati parametar koji ga mijenja (na primjer, R 0 ), ili njegova duljina mora biti najmanje:

    gdje K - broj početnih uvjeta (točke na krivulji određene metodom Monte Carlo), N - broj ponavljanja eksperimenta s modelom u zadanim početnim uvjetima, L je duljina pseudo-slučajnog niza.

    Zatim svaka serija od N ponavljanja svakog eksperimenta izvodit će se na vlastitom segmentu pseudo-slučajnog niza.

      Ponovljivost. Kao što je gore navedeno, poželjno je imati parametar koji mijenja generiranje pseudo-slučajnih brojeva. Obično je ovo R 0 . Stoga je vrlo važno da promjena u R 0 nije pokvario kvalitetu (tj. statističke parametre) generatora slučajnih brojeva.

      Dobra statistička svojstva. Ovo je najvažniji pokazatelj kvalitete generatora slučajnih brojeva. Međutim, ne može se procijeniti niti jednim kriterijem ili testom, budući da ne postoje potrebni i dovoljni kriteriji za slučajnost konačnog niza brojeva. O pseudo-slučajnom nizu brojeva najviše se može reći da on "izgleda" kao slučajan. Nijedan statistički kriterij nije pouzdan pokazatelj točnosti. U najmanju ruku potrebno je koristiti nekoliko testova koji odražavaju najvažnije aspekte kvalitete generatora slučajnih brojeva, tj. stupanj njegove aproksimacije idealnom generatoru.

    Stoga je, uz testiranje generatora, izuzetno važno provjeriti ga i tipičnim zadacima koji omogućuju neovisnu procjenu rezultata analitičkim ili numeričkim metodama.

    Možemo reći da se ideja pouzdanosti pseudo-slučajnih brojeva stvara u procesu njihove upotrebe, uz pažljivu provjeru rezultata kad god je to moguće.



     


    Čitati:



    Obrambeni mehanizmi prema Sigmundu Freudu

    Obrambeni mehanizmi prema Sigmundu Freudu

    Psihološka zaštita su nesvjesni procesi koji se javljaju u psihi, a čiji je cilj minimaliziranje utjecaja negativnih iskustava ...

    Epikurovo pismo Herodotu

    Epikurovo pismo Herodotu

    Pismo Menekeyju (prijevod M. L. Gasparov) Epikur upućuje svoje pozdrave Menekeyju. Neka nitko u mladosti ne odgađa bavljenje filozofijom, već u starosti ...

    Drevna grčka božica Hera: mitologija

    Drevna grčka božica Hera: mitologija

    Khasanzyanova Aisylu Gera Sažetak mita o Geri Ludovizi Skulptura, 5. stoljeće PRIJE KRISTA. Hera (među Rimljanima - Junona) - u starogrčkoj mitologiji ...

    Kako postaviti granice u vezi?

    Kako postaviti granice u vezi?

    Važno je naučiti ostavljati prostor između mjesta gdje vaša osobnost završava i osobnosti druge osobe. Ako imate problema ...

    feed-slika Rss