Dom - Suhozidom
Senzor slučajnih brojeva. Rusi su osmislili "prvi na svijetu" biološki generator slučajnih brojeva. Kako on radi? Čemu služi “Sigurnosni kod”?

Tri su bitno različita različiti putevi dobivanje 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. godine pr. a povezana je s igra na ploči senet, staroegipatska društvena zabava. Prema suvremenim rekonstrukcijama pravila igre, četiri plosnata štapića, čija je jedna strana bila bijela, a druga crna, služila su za određivanje broja bodova koje je svaki igrač postigao i redoslijed poteza u ovoj igri. Palice su se bacale istovremeno i ovisno o kombinaciji boja koje su ispale određivale su se dodatne mogućnosti za igrače. Početkom 20.st. nizovi slučajnih brojeva simulirani su ručno - bacanjem novčića ili kocke, polaganjem kartanje, rulet, vađenje kuglica iz urne itd. Suvremeni fizički (hardverski) senzori su specijalni uređaji, generiranje slučajnih brojeva na temelju transformacije slučajnog šuma prirodnog ili umjetnog podrijetla (toplinski šum, efekt pucnja u vakuumskim cijevima, radioaktivni raspad itd.). Na primjer, automobil ERNIE 4 (oprema za elektronički indikator nasumičnog broja),

  • 1 Ponekad se, iako rijetko, raspodjela određena tablicom 0 1 ... 8 9 smatra standardnom
  • 0,1 0,1 ... 0,1 0,1/ koji se koristi za određivanje dobitnih brojeva u mjesečnoj britanskoj lutriji, kao izvor slučajne varijable koristi toplinski šum tranzistora. Fizička metoda dobivanja niza slučajnih brojeva ima značajke koje su nedostaci za simulacijski model. To uključuje, prije svega, potrebu za posebnim mjerama za osiguranje stabilnosti izvora signala pretvorenog u slučajne brojeve, te nemogućnost reprodukcije rezultirajućeg niza slučajnih brojeva.

Tablice slučajnih brojeva nemaju ove nedostatke. Objasnimo što znači tablica slučajnih brojeva. Pretpostavimo da smo implementirali N neovisnih pokusa, uslijed kojih su dobili slučajne brojeve a, a 2, osdg. Zapisivanje ovih brojeva (redoslijedom pojavljivanja iu obliku pravokutne tablice) dat će ono što se zove tablica slučajnih brojeva. Koristi se na sljedeći način. Tijekom izračuna možda će nam trebati nasumična znamenka ili nasumični broj. Ako je potreban nasumični broj, možemo uzeti bilo koji broj iz ove tablice. Isto vrijedi i za slučaj slučajnog cijelog broja - za svaku znamenku možete odabrati bilo koju znamenku. Ako trebamo slučajni broj 0 k sljedećih znamenki sc, i 2 , os/, i pretpostavimo da je 8 = (Hoco^.-.o^. U ovom slučaju, u slučaju “idealne” tablice slučajnih znamenki , možemo odabrati znamenke iz njega nasumično, moguće u nizu, možete koristiti bilo koji algoritam odabira koji ne ovisi o vrijednostima brojeva tablice, početi s bilo kojeg mjesta u tablici, čitati u bilo kojem smjeru.

Prve tablice slučajnih brojeva dobivene su pomoću ruleta. Takve su tablice izdane nekoliko puta u obliku knjige. Jedna od najpoznatijih tablica, objavljena 1927. godine, sadržavala je preko 40.000 nasumičnih brojeva "nasumično uzetih iz popisnih izvješća".

Povijesna referenca

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 važni rezultati u teoriji ekstremnih vrijednosti povezani su s njegovim imenom, na primjer Fisher-Tippett distribucija i Fisher-Tippett-Gnedenkov teorem.

Kasnije su konstruirani posebni uređaji (strojevi) koji su mehanički generirali slučajne brojeve. Prvi takav stroj upotrijebili su 1939. M. J. Kendall i B. Babington-Smith za izradu tablica koje sadrže 100 tisuća nasumičnih znamenki. Godine 1955. poduzeće RAND Corporation objavio dobro poznate tablice koje sadrže milijun nasumičnih znamenki dobivenih drugim strojem ove vrste. Praktična upotreba tablice slučajnih brojeva trenutno su ograničene, u pravilu, na probleme u kojima se koriste metode slučajnog odabira

uzoraka, na primjer, u sociološkim studijama ili pri provođenju statističke kontrole prihvatljivosti kvalitete komadnih proizvoda za različite namjene.

Ovo je zanimljivo

U Rusiji je na snazi ​​GOST 18321-73 (ST SEV 1934-79), koji utvrđuje pravila za odabir jedinica proizvoda za uzorkovanje pri provođenju statističke kontrole kvalitete prihvatljivosti, statističke metode analize i regulacije tehnološki procesi za sve vrste komadnih proizvoda industrijske i tehničke namjene i robe široke potrošnje. Posebno se navodi da se pri odabiru jedinica proizvoda za uzorak "koriste tablice slučajnih brojeva prema ST SEV 546-77."

primijeniti više puta; svi brojevi se lako reproduciraju; a ponuda brojeva u takvom nizu je ograničena. Međutim, niz pseudoslučajnih brojeva ima očitu prednost u odnosu na tablicu: postoje jednostavne formule za izračun pseudoslučajnog broja, dok se samo 3-5 naredbi troši na dobivanje svakog broja, a program za izračun zauzima samo nekoliko ćelija u voziti.

Postoji mnogo algoritama za dobivanje nizova pseudoslučajnih brojeva; implementacije takvih algoritama, nazvanih senzori (generatori) pseudoslučajnih brojeva, opisane su u pojedinostima u stručnoj literaturi. Naznačimo nekoliko najpoznatijih algoritama.

  • Tippett L. Brojevi slučajnog uzorkovanja. London: Cambridge University Press, 1927.
  • Vidi: Knuth D. E. Umijeće programiranja. 3. izd. M.: Williams, 2000. T. 2. Ch. 3.Slučajni brojevi.

19.09.2017, uto, 13:18, moskovsko vrijeme , Tekst: Valeria Shmyrova

Tvrtka Security Code, programer kriptografskog kompleksa Continent, dobila je patent za biološki senzor slučajnih brojeva. Ovo je upravo biološki senzor, budući da se slučajnost temelji na reakciji korisnika na prikazanu mu sliku. Iz tvrtke uvjeravaju da takve tehnologije dosad nisu bile patentirane u svijetu.

Dobivanje patenta

Tvrtka Security Code dobila je patent za biološku tehnologiju senzora slučajnih brojeva. Prema programerima, prilikom stvaranja tehnologije korišten je "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 iu kriptografskoj knjižnici SCrypt.

Kako su za CNews objasnili predstavnici tvrtke, rad na senzoru traje već tri godine. Sastoji se od znanstvenog, izvedbenog i eksperimentalnog dijela. Za znanstveni dio tvrtke odgovorne su tri osobe, u razvoju je sudjelovao cijeli tim programera, a testiranja i eksperimente 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 - nisu potrebni nikakvi dodatni uređaji ili hardverski dodaci. Može se koristiti u enkripciji podataka iu bilo kojem području gdje postoji potreba za slučajnim binarnim nizovima. Prema programerima, uz njegovu pomoć, ključevi za šifriranje se stvaraju mnogo brže Mobilni uredaji. Ovo se svojstvo može koristiti za šifriranje podataka ili generiranje Elektronički potpis.

Kao što je objašnjeno Alisa Koreneva, analitičar sustava “Security Code”, senzor tvrtke generira nasumične sekvence na temelju brzine i točnosti reakcije korisnikove ruke na promjene u slici na zaslonu osobnog računala ili tableta. Za unos se koristi miš ili zaslon osjetljiv na dodir. To izgleda ovako: krugovi se kaotično kreću po ekranu, neki se njihovi parametri mijenjaju tijekom vremena. U nekim trenucima korisnik reagira na promjene na slici. Uzimajući u obzir osobitosti njegovih motoričkih sposobnosti, to se odražava u nasumičnoj masi bitova.

Možete generirati nizove nasumičnih brojeva na temelju spontanih ljudskih reakcija

Izvan kriptografije, senzor se može koristiti za generiranje nasumičnih brojeva računalne igrice ili za odabir pobjednika natjecanja.

Znanstvena novost

Kako su iz tvrtke objasnili za CNews, mnogi poznate metode konstrukcije senzora slučajnih brojeva leže bilo fizikalni zakoni i fenomena, odnosno determinističkih algoritama. Nizovi se mogu generirati pomoću računala - u ovom slučaju, nestabilnost nekih dijelova računala i nesigurnost hardverskih smetnji uzimaju se kao osnova za slučajnost.

Novost tehnologije sigurnosnog koda leži u činjenici da je izvor slučajnosti reakcija osobe na promjenjivu sliku koja se prikazuje na zaslonu uređaja. Zato naziv izuma sadrži riječ "biološki". Tvrtka izvještava da ni ona ni Rospatent nisu pronašli patentirane analoge tehnologije u Rusiji ili u svijetu. Međutim, općenito su takve tehnike poznate: na primjer, niz se može generirati na temelju korisničkih radnji kao što su klikovi ili pokreti miša ili pritisci tipki na tipkovnici.

Prema Korenevi, razvojni tim je analizirao različiti putevi generiranje slučajnih nizova. Kako se pokazalo, u mnogim slučajevima ne postoje razumne procjene performansi generiranja, ili statističkih svojstava generiranih sekvenci, ili oboje. To je zbog poteškoća u opravdavanju već izumljene tehnologije. Sigurnosni kod tvrdi da je njegovo istraživanje proizvelo razumne procjene stope generiranja, bilo u mogućnosti opravdati dobre vjerojatnosne karakteristike i statistička svojstva, te procijenilo entropiju kojoj doprinose ljudske radnje.

Proizvodi koji koriste tehnologiju

"Kontinent" je sklop hardvera i softvera dizajniran za šifriranje podataka. Koristi se u ruskom javnom sektoru, na primjer, u riznici. Sastoji se od vatrozida i alata za kreiranje VPN-a. Kreirala ga je tvrtka NIP Informzashita, a sada je razvija Security Code LLC.

Konkretno, pristupni server „Kontinent“ i sustav informacijske kriptografske zaštite „Kontinent-AP“ su modul za siguran daljinski pristup korištenjem GOST algoritama, a „Kontinent TLS VPN“ je sustav za pružanje sigurnog udaljenog pristupa web aplikacijama također koristeći GOST algoritmi šifriranja.

Secret Net Studio je sveobuhvatno rješenje za zaštitu radnih stanica i poslužitelja na razini podataka, aplikacija, mreže, operacijski sustav i periferne opreme, koja također razvija "Sigurnosni kod". Jinn-Client je dizajniran za kriptografsku zaštitu informacija za izradu elektroničkog potpisa i pouzdanu vizualizaciju dokumenata, a Jinn-Server je programski i hardverski kompleks za izgradnju pravno značajnih sustava za upravljanje elektroničkim dokumentima.

Kriptografsku biblioteku SCrypt, koja također koristi novi senzor, razvio je Security Code kako bi se olakšala primjena kriptografskih algoritama u raznim proizvodima. Ovo je jedan programski kod za koji su provjerene pogreške. Knjižnica podržava kriptografsko raspršivanje, elektronički potpis i algoritme šifriranja.

Čemu služi “Sigurnosni kod”?

"Sigurnosni kod" - Ruska tvrtka, koja razvija softver i hardver. Osnovan je 2008. godine. Djelokrug proizvoda je zaštita informacijskih sustava i njihovo usklađivanje s međunarodnim i industrijskim standardima, uključujući zaštitu povjerljivih informacija, uključujući državne tajne. "Sigurnosni kod" ima devet licenci Savezna služba za tehničku i izvoznu kontrolu (FSTEC) Rusije, Federalnu sigurnosnu službu (FSB) Rusije i Ministarstvo obrane.

Osoblje tvrtke sastoji se od oko 300 stručnjaka, proizvode prodaje 900 ovlaštenih partnera u svim regijama Rusije i zemljama ZND-a. Baza klijenata“Sigurnosni kodeks” uključuje oko 32 tisuće državnih i komercijalnih organizacija.

Deterministički PRNG-ovi

Nijedan deterministički algoritam ne može generirati potpuno slučajne brojeve, može samo aproksimirati neka svojstva slučajnih brojeva. Kao što je rekao John von Neumann, " svatko tko ima slabost prema aritmetičkim metodama dobivanja nasumičnih brojeva grešan je bez ikakve sumnje».

Svaki PRNG s ograničenim resursima prije ili kasnije ide u cikluse - počinje ponavljati isti niz brojeva. Duljina PRNG ciklusa ovisi o samom generatoru i iznosi oko 2n/2, gdje je n veličina unutarnjeg stanja u bitovima, iako linearni kongruentni i LFSR generatori imaju maksimalne cikluse reda veličine 2n. Ako PRNG može konvergirati prema ciklusima koji su prekratki, PRNG postaje predvidljiv i neupotrebljiv.

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

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

Konkretno, algoritam glavnog računala pokazao se vrlo lošim, što je izazvalo sumnju u valjanost rezultata mnogih studija koje su koristile ovaj algoritam.

PRNG s izvorom entropije ili RNG

Baš kao što postoji potreba za generiranjem lako ponovljivih nizova nasumičnih brojeva, postoji i potreba za generiranjem potpuno nepredvidljivih ili jednostavno potpuno nasumičnih brojeva. Takvi se generatori nazivaju generatori slučajnih brojeva(RNG - engleski) 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 enkripciju, oni se najčešće grade iz kombinacije kriptografskog PRNG-a i vanjski izvor entropija (i upravo se ta kombinacija danas općenito shvaća kao RNG).

Gotovo svi veliki proizvođači čipova isporučuju hardverske RNG-ove s različitim izvorima entropije razne metode da ih očisti od neizbježne predvidljivosti. Međutim, u ovom trenutku brzina kojom nasumične brojeve prikupljaju svi postojeći mikročipovi (nekoliko tisuća bitova u sekundi) ne odgovara brzini modernih procesora.

U osobnim računalima, autori softverskog RNG-a koriste mnogo brže izvore entropije, kao što je šum zvučne kartice ili brojač takta procesora. Prije nego što je postalo moguće očitati vrijednosti brojača sata, skupljanje entropije bilo je najosjetljivija točka RNG-a. Ovaj problem još uvijek nije u potpunosti riješen u mnogim uređajima (npr. pametne kartice), koji stoga ostaju ranjivi. Mnogi RNG-ovi još uvijek koriste tradicionalne (zastarjele) metode prikupljanja entropije, kao što je mjerenje reakcija korisnika (pokret miša, itd.), kao, na primjer, ili interakcija između niti, kao u Javi sigurno slučajno.

Primjeri izvora RNG i entropije

Nekoliko primjera RNG-ova s ​​njihovim izvorima i generatorima entropije:

Izvor entropije PRNG Prednosti Mane
/dev/random na Linuxu Brojač CPU takta, međutim prikuplja se samo tijekom hardverskih prekida LFSR, s izlazom raspršenim putemJako dugo se "grije", može dugo "zaglaviti" ili radi kao PRNG ( /dev/urandom)
Stolisnik autora Brucea Schneiera Tradicionalne (zastarjele) metode AES-256 iFleksibilan dizajn otporan na kripto Dugo se “zagrijava”, vrlo malo unutarnje stanje, previše ovisi o kriptografskoj snazi ​​odabranih algoritama, sporo, primjenjivo isključivo za generiranje ključeva
Generator Leonid Yuryev Šum zvučne kartice ? Najvjerojatnije dobar i brz izvor entropije Nema neovisnog, poznatog kripto-jakog PRNG-a, dostupnog isključivo kao Windows
Microsoft Ugrađeno u Windows, ne zaglavljuje Malo unutarnje stanje, lako predvidljivo
Komunikacija između niti U Javi još nema drugog izbora, postoji veliko unutarnje stanje Sporo prikupljanje entropije
Kaos od Ruptora Brojač takta procesora, prikuplja se kontinuirano Raspršivanje 4096-bitnog internog stanja na temelju nelinearne varijante Marsaglia generatora Sve dok najbrže od svih, veliko unutarnje stanje, ne “zapne”
RRAND iz Ruptora Brojač CPU ciklusa Šifriranje unutarnjeg stanja s šifrom tokaVrlo brzo, unutarnje stanje proizvoljne veličine za odabir, bez "zaglavljivanja"

PRNG u kriptografiji

Vrsta PRNG-a su PRBG-ovi - generatori pseudoslučajnih bitova, kao i razne šifre toka. PRNG, kao i šifre toka, sastoje se od internog stanja (obično u rasponu veličine od 16 bita do nekoliko megabajta), funkcije za inicijalizaciju internog stanja ključem ili sjeme(Engleski) sjeme), interne funkcije ažuriranja stanja i izlazne funkcije. PRNG-ovi se dijele na jednostavne aritmetičke, pokvarene kriptografske i kriptografski jake. Njihova opća svrha je generiranje nizova brojeva koji se računalnim metodama ne mogu razlikovati od slučajnih.

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

U vojne svrhe iu terenskim uvjetima koriste se samo tajni sinkroni kriptografski jaki PRNG (stream ciphers), blok šifre se ne koriste. Primjeri dobro poznatih kripto jakih PRNG-ova su ISAAC, SEAL, Snow, vrlo spori teorijski algoritam Blooma, Blooma i Shuba, kao i brojači s kriptografskim hash funkcijama ili jakim blok šiframa umjesto izlazne funkcije.

Hardver PRNG

Osim ostavštine, dobro poznatih LFSR generatora koji su se naširoko koristili kao hardverski PRNG-ovi u 20. stoljeću, nažalost, vrlo malo se zna o modernim hardverskim PRNG-ovima (stream ciphers), budući da je većina njih razvijena u vojne svrhe i drže se u tajnosti . Gotovo svi postojeći komercijalni hardverski PRNG-ovi su patentirani i također se drže u tajnosti. Hardverski PRNG-ovi su ograničeni strogim zahtjevima za potrošnu memoriju (najčešće je upotreba memorije zabranjena), brzinu (1-2 takta) i područje (nekoliko stotina FPGA - ili

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

  • Jurij Lifšic. Kolegij “Suvremeni problemi kriptografije” Predavanje 9: Pseudoslučajni generatori
  • L. Barash. AKS algoritam za provjeru primarnosti brojeva i traženje konstanti generatora pseudoslučajnih brojeva
  • Zhelnikov Vladimir. Pseudoslučajni nizovi brojeva // Kriptografija od papirusa do računala M.: ABF, 1996.
  • random.org (engleski) - online servis za generiranje slučajnih brojeva
  • Kriptografski slučajni brojevi
  • Teorija i praksa generiranja slučajnih brojeva
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza Linux generatora slučajnih brojeva
  • Statistički testni paket za generatore slučajnih i pseudoslučajnih brojeva za kriptografske aplikacije NIST SP 800-22
  • Deterministički PRNG-ovi

    Nijedan deterministički algoritam ne može generirati potpuno slučajne brojeve, može samo aproksimirati neka svojstva slučajnih brojeva. Kao što je rekao John von Neumann, " svatko tko ima slabost prema aritmetičkim metodama dobivanja nasumičnih brojeva grešan je bez ikakve sumnje».

    Svaki PRNG s ograničenim resursima prije ili kasnije ide u cikluse - počinje ponavljati isti niz brojeva. Duljina PRNG ciklusa ovisi o samom generatoru i iznosi oko 2n/2, gdje je n veličina unutarnjeg stanja u bitovima, iako linearni kongruentni i LFSR generatori imaju maksimalne cikluse reda veličine 2n. Ako PRNG može konvergirati prema ciklusima koji su prekratki, PRNG postaje predvidljiv i neupotrebljiv.

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

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

    Konkretno, algoritam glavnog računala pokazao se vrlo lošim, što je izazvalo sumnju u valjanost rezultata mnogih studija koje su koristile ovaj algoritam.

    PRNG s izvorom entropije ili RNG

    Baš kao što postoji potreba za generiranjem lako ponovljivih nizova nasumičnih brojeva, postoji i potreba za generiranjem potpuno nepredvidljivih ili jednostavno potpuno nasumičnih brojeva. Takvi se generatori nazivaju generatori slučajnih brojeva(RNG - engleski) 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 enkripciju, oni se najčešće grade od kombinacije kriptografski jakog PRNG-a i vanjskog izvora entropije (i upravo se ta kombinacija danas općenito shvaća kao RNG).

    Gotovo svi glavni proizvođači čipova opskrbljuju hardverske RNG-ove različitim izvorima entropije, koristeći različite metode da ih očiste od neizbježne predvidljivosti. Međutim, u ovom trenutku brzina kojom nasumične brojeve prikupljaju svi postojeći mikročipovi (nekoliko tisuća bitova u sekundi) ne odgovara brzini modernih procesora.

    U osobnim računalima, autori softverskog RNG-a koriste mnogo brže izvore entropije, kao što je šum zvučne kartice ili brojač takta procesora. Prije nego što je postalo moguće očitati vrijednosti brojača sata, skupljanje entropije bilo je najosjetljivija točka RNG-a. Ovaj problem još uvijek nije u potpunosti riješen u mnogim uređajima (npr. pametne kartice), koji stoga ostaju ranjivi. Mnogi RNG-ovi još uvijek koriste tradicionalne (zastarjele) metode prikupljanja entropije, kao što je mjerenje reakcija korisnika (pokret miša, itd.), kao, na primjer, ili interakcija između niti, kao u Javi sigurno slučajno.

    Primjeri izvora RNG i entropije

    Nekoliko primjera RNG-ova s ​​njihovim izvorima i generatorima entropije:

    Izvor entropije PRNG Prednosti Mane
    /dev/random na Linuxu Brojač CPU takta, međutim prikuplja se samo tijekom hardverskih prekida LFSR, s izlazom raspršenim putemJako dugo se "grije", može dugo "zaglaviti" ili radi kao PRNG ( /dev/urandom)
    Stolisnik autora Brucea Schneiera Tradicionalne (zastarjele) metode AES-256 iFleksibilan dizajn otporan na kripto Dugo se “zagrijava”, vrlo malo unutarnje stanje, previše ovisi o kriptografskoj snazi ​​odabranih algoritama, sporo, primjenjivo isključivo za generiranje ključeva
    Generator Leonid Yuryev Šum zvučne kartice ? Najvjerojatnije dobar i brz izvor entropije Nema neovisnog, poznatog kripto-jakog PRNG-a, dostupnog isključivo kao Windows
    Microsoft Ugrađeno u Windows, ne zaglavljuje Malo unutarnje stanje, lako predvidljivo
    Komunikacija između niti U Javi još nema drugog izbora, postoji veliko unutarnje stanje Sporo prikupljanje entropije
    Kaos od Ruptora Brojač takta procesora, prikuplja se kontinuirano Raspršivanje 4096-bitnog internog stanja na temelju nelinearne varijante Marsaglia generatora Sve dok najbrže od svih, veliko unutarnje stanje, ne “zapne”
    RRAND iz Ruptora Brojač CPU ciklusa Šifriranje unutarnjeg stanja s šifrom tokaVrlo brzo, unutarnje stanje proizvoljne veličine za odabir, bez "zaglavljivanja"

    PRNG u kriptografiji

    Vrsta PRNG-a su PRBG-ovi - generatori pseudoslučajnih bitova, kao i razne šifre toka. PRNG, kao i šifre toka, sastoje se od internog stanja (obično u rasponu veličine od 16 bita do nekoliko megabajta), funkcije za inicijalizaciju internog stanja ključem ili sjeme(Engleski) sjeme), interne funkcije ažuriranja stanja i izlazne funkcije. PRNG-ovi se dijele na jednostavne aritmetičke, pokvarene kriptografske i kriptografski jake. Njihova opća svrha je generiranje nizova brojeva koji se računalnim metodama ne mogu razlikovati od slučajnih.

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

    U vojne svrhe iu terenskim uvjetima koriste se samo tajni sinkroni kriptografski jaki PRNG (stream ciphers), blok šifre se ne koriste. Primjeri dobro poznatih kripto jakih PRNG-ova su ISAAC, SEAL, Snow, vrlo spori teorijski algoritam Blooma, Blooma i Shuba, kao i brojači s kriptografskim hash funkcijama ili jakim blok šiframa umjesto izlazne funkcije.

    Hardver PRNG

    Osim ostavštine, dobro poznatih LFSR generatora koji su se naširoko koristili kao hardverski PRNG-ovi u 20. stoljeću, nažalost, vrlo malo se zna o modernim hardverskim PRNG-ovima (stream ciphers), budući da je većina njih razvijena u vojne svrhe i drže se u tajnosti . Gotovo svi postojeći komercijalni hardverski PRNG-ovi su patentirani i također se drže u tajnosti. Hardverski PRNG-ovi su ograničeni strogim zahtjevima za potrošnu memoriju (najčešće je upotreba memorije zabranjena), brzinu (1-2 takta) i područje (nekoliko stotina FPGA - ili

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

  • Jurij Lifšic. Kolegij “Suvremeni problemi kriptografije” Predavanje 9: Pseudoslučajni generatori
  • L. Barash. AKS algoritam za provjeru primarnosti brojeva i traženje konstanti generatora pseudoslučajnih brojeva
  • Zhelnikov Vladimir. Pseudoslučajni nizovi brojeva // Kriptografija od papirusa do računala M.: ABF, 1996.
  • random.org (engleski) - online servis za generiranje slučajnih brojeva
  • Kriptografski slučajni brojevi
  • Teorija i praksa generiranja slučajnih brojeva
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza Linux generatora slučajnih brojeva
  • Statistički testni paket za generatore slučajnih i pseudoslučajnih brojeva za kriptografske aplikacije NIST SP 800-22
  • Softver gotovo svih računala ima ugrađenu funkciju za generiranje niza pseudoslučajnih kvazijednoliko raspodijeljenih brojeva. Međutim, za statističko modeliranje postavljaju se povećani zahtjevi za generiranje slučajnih brojeva. Kvaliteta rezultata takvog modeliranja izravno ovisi o kvaliteti generatora ravnomjerno raspoređenih slučajnih brojeva, jer ti su brojevi također izvori (početni podaci) za dobivanje drugih slučajnih varijabli sa zadanim zakonom raspodjele.

    Nažalost, idealni generatori ne postoje, a popis njihovih poznatih svojstava nadopunjuje se popisom nedostataka. To dovodi do rizika korištenja lošeg generatora u računalnim eksperimentima. Stoga je prije izvođenja računalnog eksperimenta potrebno ili procijeniti kvalitetu funkcije generiranja slučajnih brojeva ugrađene u računalo ili odabrati odgovarajući algoritam generiranja slučajnih brojeva.

    Da bi se koristio u računskoj fizici, generator mora imati sljedeća svojstva:

      Računalna učinkovitost je najkraće moguće vrijeme izračuna za sljedeći ciklus i količina memorije za pokretanje generatora.

      L nasumični niz brojeva velike duljine. Ovo razdoblje mora uključivati ​​barem skup nasumičnih brojeva potrebnih za statistički eksperiment. Osim toga, čak i približavanje kraju L predstavlja opasnost, što može dovesti do netočnih rezultata statističkog eksperimenta.

    Kriterij za dovoljnu duljinu pseudoslučajnog niza odabire se iz sljedećih razmatranja. Monte Carlo metoda sastoji se od ponovljenih proračuna izlaznih parametara simuliranog sustava pod utjecajem ulaznih parametara koji fluktuiraju sa zadanim zakonima distribucije. Osnova za implementaciju metode je generiranje slučajnih brojeva sa uniforma raspodjela u intervalu iz kojeg nastaju slučajni brojevi sa zadanim zakonima raspodjele. Zatim se izračunava vjerojatnost simuliranog događaja kao omjer broja ponavljanja pokusa modela s uspješnim ishodom i broja ukupnih ponavljanja pokusa pod zadanim početnim uvjetima (parametrima) modela.

    Za pouzdan, u statističkom smislu, izračun ove vjerojatnosti, broj ponavljanja pokusa može se procijeniti pomoću formule:

    Gdje
    - funkcija inverzna funkciji normalne distribucije, - pouzdanost vjerojatnost pogreške Mjerenja vjerojatnosti.

    Dakle, kako greška ne bi izašla izvan intervala pouzdanosti s vjerojatnošću povjerenja, na primjer =0,95 potrebno je da broj ponavljanja pokusa ne bude manji od:

    (2.2)

    Na primjer, za grešku od 10% ( =0,1) dobivamo
    , a za grešku od 3% ( =0,03) već dobivamo
    .

    Za druge početne uvjete modela, novi niz ponavljanja eksperimenata treba provesti na drugom pseudoslučajnom nizu. Stoga ili funkcija generiranja pseudoslučajnog niza mora imati parametar koji je mijenja (na primjer, R 0 ), ili njegova duljina mora biti najmanje:

    Gdje K - broj početnih uvjeta (točaka na krivulji utvrđenih Monte Carlo metodom), N - broj ponavljanja eksperimenta modela pod zadanim početnim uvjetima, L - duljina pseudoslučajnog niza.

    Zatim svaka serija od N ponavljanja svakog eksperimenta će se provoditi na vlastitom segmentu pseudoslučajnog niza.

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

      Dobra statistička svojstva. Ovo je najviše važan pokazatelj kvaliteta generatora slučajnih brojeva. Međutim, ne može se procijeniti niti jednim kriterijem ili testom, jer Ne postoje potrebni i dovoljni kriteriji za slučajnost konačnog niza brojeva. Najviše što se može reći o pseudoslučajnom nizu brojeva je da "izgleda" nasumično. Nijedan pojedinačni statistički test nije pouzdan pokazatelj točnosti. Minimalno je potrebno koristiti nekoliko testova koji odražavaju najvažnije aspekte kvalitete generatora slučajnih brojeva, tj. stupanj njegove aproksimacije idealnom generatoru.

    Stoga je uz ispitivanje generatora iznimno važno ispitati ga standardnim problemima koji omogućuju neovisnu ocjenu rezultata analitičkim ili numeričkim metodama.

    Može se reći da se ideja o pouzdanosti pseudoslučajnih brojeva stvara u procesu njihove uporabe, pažljivo provjeravajući rezultate kad god je to moguće.



     


    Čitati:



    Tumačenje tarot karte đavo u odnosima Što znači laso đavo

    Tumačenje tarot karte đavo u odnosima Što znači laso đavo

    Tarot karte vam omogućuju da saznate ne samo odgovor na uzbudljivo pitanje. Također mogu predložiti pravo rješenje u teškoj situaciji. Dovoljno za učenje...

    Ekološki scenariji za ljetni kamp Kvizovi za ljetni kamp

    Ekološki scenariji za ljetni kamp Kvizovi za ljetni kamp

    Kviz o bajkama 1. Tko je poslao ovaj telegram: “Spasi me! Pomozite! Pojeo nas je Sivi Vuk! Kako se zove ova bajka? (Djeca, "Vuk i...

    Kolektivni projekt "Rad je osnova života"

    Kolektivni projekt

    Prema definiciji A. Marshalla, rad je „svaki mentalni i fizički napor poduzet djelomično ili u cijelosti s ciljem postizanja nekog...

    DIY hranilica za ptice: izbor ideja Hranilica za ptice iz kutije za cipele

    DIY hranilica za ptice: izbor ideja Hranilica za ptice iz kutije za cipele

    Napraviti vlastitu hranilicu za ptice nije teško. Zimi su ptice u velikoj opasnosti, treba ih hraniti. Zato ljudi...

    feed-image RSS