domov - Drywall
Generator naključnih števil. Rusi so se domislili "prvega na svetu" biološkega generatorja naključnih števil. Kako deluje? Kaj počne varnostna koda?

Obstajajo tri temeljne različne načine pridobivanje števil, ki se uporabljajo kot naključna: fizična, tabelarična in algoritemska.

Domneva se, da prvi poskus ustvarjanja fizičnega generatorja naključnih števil sega v leto 3500 pr. in povezana z namizna igra senet, staroegipčanska posvetna zabava. Po sodobnih rekonstrukcijah pravil igre so za določitev števila točk, ki jih je dosegel vsak igralec, in vrstnega reda potez v tej igri uporabljali štiri ploščate palice, od katerih je bila ena stran bela, druga črna. Palice so metali istočasno in glede na kombinacijo barv, ki so izpadle, so bile določene dodatne možnosti igralcev. Na začetku XX stoletja. zaporedja naključnih števil so simulirali ročno – z metanjem kovanca ali kocke, odvijanjem igranje kart, rulete, pridobivanje kroglic iz žare itd. Sodobni fizični (strojni) senzorji so posebne naprave, ki generirajo naključna števila na podlagi transformacije naključnega šuma naravnega ali umetnega izvora (toplotni šum, udarni učinek v elektronkah, radioaktivni razpad itd.). Na primer avto ERNIE 4 (oprema za elektronski indikator naključnih števil),

  • 1 Včasih, čeprav redko, se porazdelitev, podana s tabelo 0 1 ... 8 9, šteje za standardno.
  • 0,1 0,1 ... 0,1 0,1/ s pomočjo katerega se določijo zmagovalne številke na mesečni britanski loteriji, kot vir naključne spremenljivke uporablja toplotni šum tranzistorjev. Fizična metoda pridobivanja zaporedja naključnih števil ima značilnosti, ki so slabosti za simulacijski model. Ti vključujejo predvsem potrebo po posebnih ukrepih za zagotovitev stabilnosti vira signala, pretvorjenega v naključna števila, in nezmožnost reprodukcije nastalega zaporedja naključnih števil.

Tabele naključnih števil so brez teh pomanjkljivosti. Razložimo, kaj pomeni tabela naključnih števil. Recimo, da smo naredili n neodvisni poskusi, zaradi katerih smo prejeli naključna števila a, a 2, osdg. Zapisovanje teh števil (po vrstnem redu in v obliki pravokotne tabele) bo dalo tako imenovano tabelo naključnih števil. Uporablja se na naslednji način. Med izračuni bomo morda potrebovali naključno števko ali naključno število. Če je potrebno naključno število, lahko vzamemo poljubno število iz te tabele. Enako velja za primer naključnega celega števila - za vsako števko lahko izberete poljubno števko. Če potrebujemo naključno število 0 k naslednjih števk c, a 2, oc /, in predpostavimo, da je 8 = (Xo ^. -. o ^. Poleg tega v primeru "idealne" tabele naključnih števk, lahko izbirate številke iz nje naključno, možno je v vrsti, lahko uporabite poljuben algoritem izbire, ki ni odvisen od vrednosti ​števil v tabeli, začnete s katerega koli mesta v tabeli, berete v kateri koli smeri .

Prve tabele naključnih števil so bile pridobljene z uporabo rulet. Takšne tabele so bile večkrat izdane v obliki knjig. Ena najbolj znanih tabel, objavljena leta 1927, je vsebovala več kot 40.000 naključnih številk, »naključno vzetih iz popisnih poročil«.

Zgodovinska referenca

Leonard Tippet (Leonard Henry Caleb Tippett), 1902-1985) - angleški statistik, študent K. Pearsona in R. Fisherja. V letih 1965-1966 - predsednik Kraljeve statistične družbe. Nekateri pomembni rezultati v teoriji ekstremnih vrednosti so povezani z njegovim imenom, na primer porazdelitev Fisher-Tippett in Fisher-Tippett-Gnedenkov izrek.

Kasneje so bile konstruirane posebne naprave (stroji), ki so mehansko generirale naključna števila. Prvi tak stroj sta leta 1939 uporabila M. J. Kendall in B. Babington-Smith za ustvarjanje tabel s 100.000 naključnimi številkami. Leta 1955 podjetje RAND Corporation objavil dobro znane tabele z milijoni naključnih števk, ki jih je pridobil drug stroj te vrste. Praktična uporaba tabel naključnih števil je trenutno praviloma omejena na naloge, ki uporabljajo metode naključnega izbora

vzorcev, na primer pri socioloških študijah ali pri izvajanju statistične prevzemne kontrole kakovosti kosovnih izdelkov za različne namene.

Zanimivo je

V Rusiji obstaja GOST 18321-73 (ST SEV 1934-79), ki določa pravila za izbiro enot izdelka v vzorcu pri izvajanju statističnega nadzora kakovosti, statističnih metod analize in regulacije. tehnološki procesi za vse vrste kosovnih izdelkov za industrijske namene in široko potrošnjo. Zlasti navaja, da se pri izbiri enot proizvodnje v vzorec »uporabljajo tabele naključnih števil po ST SEV 546-77«.

ponovno prijaviti; vse številke se zlahka reproducirajo; in ponudba številk v takem zaporedju je omejena. Vendar pa ima zaporedje psevdonaključnih števil očitno prednost pred tabelo: obstajajo preproste formule za izračun psevdonaključnega števila, medtem ko se za pridobitev vsakega števila porabi le 3-5 ukazov, program za izračun pa zavzame le nekaj celic v pogonu.

Obstaja veliko algoritmov za pridobivanje zaporedij psevdonaključnih števil, implementacije takih algoritmov, imenovanih senzorji (generatorji) psevdonaključnih števil, so podrobneje opisane v posebni literaturi. Naj navedemo nekaj najbolj znanih algoritmov.

  • Tippett L. Številke naključnega vzorčenja. London: Cambridge University Press, 1927.
  • Glej: Knut D. E. Umetnost programiranja. 3. izd. M.: Williams, 2000. T. 2. Ch. 3. Naključna števila.

19.09.2017, torek, 13:18 po moskovskem času , Besedilo: Valeria Shmyrova

Podjetje Security Code, razvijalec kriptografskega kompleksa Continent, je prejelo patent za biološki generator naključnih števil. To je ravno biološki senzor, saj naključnost temelji na reakciji uporabnika na prikazano sliko. Podjetje trdi, da tovrstne tehnologije v svetu še niso bile patentirane.

Pridobitev patenta

Podjetje Security Code je prejelo patent za tehnologijo biološkega generatorja naključnih števil. Po mnenju razvijalcev je bil pri ustvarjanju tehnologije uporabljen "nov pristop k reševanju problema generiranja naključnih števil z uporabo računalnika in osebe". Razvoj se že uporablja v številnih izdelkih, vključno s Continent-AP, Secret Net Studio, Continent TLS in Jinn, kot tudi v kriptografski knjižnici SCrypt.

Kot so za CNews pojasnili predstavniki podjetja, delo na senzorju poteka že tretje leto. Sestavljen je iz znanstvenega dela, izvedbenega in eksperimentalnega dela. Za znanstveni del v podjetju so odgovorni trije ljudje, pri razvoju je sodelovala celotna ekipa programerjev, testiranja in eksperimente pa je izvajala celotna ekipa, ki šteje nekaj sto ljudi.

Tehnološke zmogljivosti

Novi senzor lahko ustvari naključne vzorce na osebnih napravah brez potrebe po dodatnih instrumentih ali strojnih dodatkih. Lahko se uporablja pri šifriranju podatkov in na katerem koli področju, kjer obstaja potreba po naključnih binarnih zaporedjih. Po mnenju razvijalcev se z njegovo pomočjo šifrirni ključi ustvarijo veliko hitreje mobilne naprave. To lastnost je mogoče uporabiti za šifriranje podatkov ali ustvarjanje elektronski podpis.

Kot je razloženo Alisa Koreneva, sistemski analitik za "Varnostno kodo", senzor, ki ga je ustvarilo podjetje, generira naključna zaporedja na podlagi hitrosti in natančnosti odziva uporabnikove roke na spremembo slike na zaslonu osebnega računalnika ali tablice. Za vnos se uporablja miška ali zaslon na dotik. Videti je takole: krogi se naključno premikajo po zaslonu, nekateri njihovi parametri se sčasoma spreminjajo. V določenem trenutku se uporabnik odzove na spremembe v sliki. Glede na posebnosti njegovih motoričnih sposobnosti se to odraža v naključni množici bitov.

Ustvarite lahko naključna številčna zaporedja na podlagi spontanih človeških reakcij

Zunaj kriptografije se lahko senzor uporablja za ustvarjanje naključnih števil računalniške igre ali za izbiro zmagovalcev natečajev.

Znanstvena novost

Kot CNews pojasnili v podjetju, v srcu mnogih znane načine izdelava generatorjev naključnih števil laž fizikalni zakoni in pojavi, ali deterministični algoritmi. Sekvence je mogoče generirati z uporabo računalnika - v tem primeru sta nestabilnost nekaterih delov računalnika in negotovost motenj strojne opreme vzeta kot osnova naključnosti.

Novost tehnologije "Security Code" je v tem, da je vir naključnosti reakcija osebe na spreminjajočo se sliko, ki se prikaže na zaslonu naprave. Zato je v naslovu izuma prisotna beseda "biološki". Družba poroča, da niti ona niti Rospatent nista našla patentiranih analogov tehnologije v Rusiji in po svetu. Vendar pa so na splošno takšne tehnike znane: na primer, zaporedje je mogoče ustvariti na podlagi uporabniških dejanj, kot so kliki miške ali premiki ali pritiski tipk na tipkovnici.

Po besedah ​​​​Koreneva je razvojna skupina analizirala različne poti generiranje naključnih zaporedij. Kot se je izkazalo, v mnogih primerih ni razumnih ocen učinkovitosti generacije ali statističnih lastnosti ustvarjenih zaporedij ali obojega. To je posledica težav pri utemeljitvi že izumljene tehnologije. "Varnostni kodeks" trdi, da je v svoji študiji dobil razumne ocene stopnje proizvodnje, da je lahko utemeljil dobre verjetnostne značilnosti in statistične lastnosti ter ocenil entropijo, ki jo prispevajo človeška dejanja.

Izdelki, kjer se uporablja tehnologija

"Kontinent" je strojno-programski kompleks, zasnovan za šifriranje podatkov. Uporablja se v ruskem javnem sektorju, na primer v zakladnici. Sestavljen je iz požarnega zidu in orodij za ustvarjanje VPN. Ustvarilo ga je podjetje NIP Informzaschita, zdaj ga razvija Code of Security LLC.

Natančneje, dostopni strežnik Continent in sistem za kriptografsko zaščito informacij Continent-AP sta varen modul za oddaljeni dostop z algoritmi GOST, Continent TLS VPN pa je sistem za zagotavljanje varnega oddaljenega dostopa do spletnih aplikacij tudi z uporabo algoritmov šifriranja GOST.

Secret Net Studio je popolna rešitev za zaščito delovnih postaj in strežnikov na nivoju podatkov, aplikacij, omrežij, operacijski sistem in periferne opreme, ki razvije tudi "Varnostno kodo". Jinn-Client je zasnovan za kriptografsko zaščito informacij za ustvarjanje elektronskega podpisa in zaupanja vredno vizualizacijo dokumentov, Jinn-Server pa je programsko-strojni kompleks za izgradnjo pravno pomembnih sistemov za upravljanje elektronskih dokumentov.

Kriptografsko knjižnico SCrypt, ki prav tako uporablja novi senzor, je razvil Security Code za lažjo uporabo kriptografskih algoritmov v različnih izdelkih. To je ena programska koda, ki je bila preverjena glede napak. Knjižnica podpira kriptografske algoritme za zgoščevanje, elektronski podpis in šifriranje.

Kaj počne varnostna koda?

"Varnostna koda" - rusko podjetje, ki razvija programsko in strojno opremo. Ustanovljeno je bilo leta 2008. Področje produktov je zaščita informacijskih sistemov in njihovo usklajevanje z mednarodnimi in industrijskimi standardi, vključno z varovanjem zaupnih informacij, vse do državnih skrivnosti. "Varnostna koda" ima devet licenc Zvezna služba za tehnični in izvozni nadzor (FSTEC) Rusije, Zvezna varnostna služba (FSB) Rusije in Ministrstvo za obrambo.

Podjetje zaposluje približno 300 strokovnjakov, 900 pooblaščenih partnerjev v vseh regijah Rusije in držav CIS se ukvarja s prodajo izdelkov. Baza strank"Varnostni kodeks" ima približno 32 tisoč državnih in komercialnih organizacij.

Deterministični PRNG

Noben deterministični algoritem ne more ustvariti popolnoma naključnih števil, lahko le približa nekatere lastnosti naključnih števil. Kot je rekel John von Neumann, " kdor ima slabost do aritmetičnih metod za pridobivanje naključnih števil, je brez dvoma grešnik».

Vsak PRNG z omejenimi viri bo prej ali slej šel v cikle – začel bo ponavljati isto zaporedje številk. Dolžina ciklov PRNG je odvisna od samega generatorja in je v povprečju približno 2 n/2, kjer je n velikost notranjega stanja v bitih, čeprav imajo linearni skladni in LFSR generatorji največje cikle reda 2 n. Če lahko PRNG konvergira v prekratke cikle, ta PRNG postane predvidljiv in neuporaben.

Čeprav je večina preprostih aritmetičnih generatorjev hitra, ima veliko resnih pomanjkljivosti:

  • Prekratko obdobje/obdobja.
  • Zaporedne vrednosti niso neodvisne.
  • Nekateri bitovi so "manj naključni" kot drugi.
  • Neenakomerna enodimenzionalna porazdelitev.
  • Reverzibilnost.

Predvsem algoritem mainframe se je izkazal za zelo slabega, kar je vzbudilo dvome o zanesljivosti rezultatov številnih študij, ki so uporabljale ta algoritem.

PRNG z virom entropije ali RNG

Poleg potrebe po generiranju lahko ponovljivih zaporedij naključnih števil obstaja tudi potreba po generiranju popolnoma nepredvidljivih ali preprosto popolnoma naključnih števil. Takšni generatorji se imenujejo generatorji naključnih števil(RNG - angl. generator naključnih števil, RNG). Ker se takšni generatorji najpogosteje uporabljajo za generiranje edinstvenih simetričnih in asimetričnih ključev za šifriranje, so najpogosteje zgrajeni iz kombinacije kriptografsko močnega PRNG in zunanji vir entropija (in to je kombinacija, ki jo zdaj običajno razumemo kot RNG).

Skoraj vsi večji proizvajalci mikročipov dobavljajo RNG strojne opreme z uporabo različnih virov entropije različne metode da jih očisti neizogibne predvidljivosti. Vendar pa trenutno hitrost zbiranja naključnih števil z vsemi obstoječimi mikročipi (več tisoč bitov na sekundo) ne ustreza hitrosti sodobnih procesorjev.

V osebnih računalnikih avtorji programske opreme RNG uporabljajo veliko hitrejše vire entropije, kot je hrup zvočne kartice ali števec ure procesorja. Pred možnostjo branja vrednosti števca ure je bilo zbiranje entropije najbolj ranljiva točka RNG. Ta problem še vedno ni v celoti odpravljen v mnogih napravah (npr. pametnih karticah), ki tako ostajajo ranljive. Številni RNG še vedno uporabljajo tradicionalne (zastarele) metode zbiranja entropije, kot je merjenje odziva uporabnika (gibanje miške itd.), kot na primer, ali interakcije med nitmi, kot je na primer varno naključno v Javi.

Primeri virov RNG in entropije

Nekaj ​​primerov RNG z njihovimi entropijskimi viri in generatorji:

Entropijski vir PRNG Prednosti Napake
/dev/random v sistemu Linux Števec ure procesorja, vendar se zbira samo med prekinitvami strojne opreme LFSR, z izhodom zgoščenim prekZelo dolgo se "greje", lahko se dolgo "zatakne" ali deluje kot PRNG ( /dev/urandom)
rman avtorja Bruce Schneier Tradicionalne (zastarele) metode AES-256 inPrilagodljiva oblika, odporna na kripto Dolgo se »greje«, zelo majhno notranje stanje, preveč odvisno od kriptografske moči izbranih algoritmov, počasno, uporabno samo za generiranje ključev
Generator Leonid Yuriev Hrup zvočne kartice ? Verjetno dober in hiter vir entropije Ni neodvisnega, znanega kot varnega PRNG, ki je na voljo izključno v sistemu Windows
Microsoft Vgrajeno v Windows, se ne zatakne Majhno notranje stanje, enostavno predvidljivo
Komunikacija med nitmi V Javi še ni druge izbire, veliko notranje stanje Počasno zbiranje entropije
Chaos avtorja Ruptor Števec ure procesorja, ki se zbira neprekinjeno Zgoščevanje 4096-bitnega notranjega stanja, ki temelji na nelinearni različici generatorja Marsaglia Medtem ko se najhitrejše od vseh, veliko notranje stanje, ne "zatakne"
RRAND podjetja Ruptor Števec ciklov procesorja Šifriranje notranjega stanja s tokovno šifroZelo hitro, notranje stanje poljubne velikosti po izbiri, se ne "zatakne"

PRNG v kriptografiji

Različica PRNG so GPSB (PRBG) - generatorji psevdonaključnih bitov, pa tudi različne šifre toka. PRNG, tako kot pretočne šifre, sestavljajo notranje stanje (običajno veliko od 16 bitov do več megabajtov), ​​funkcija za inicializacijo notranjega stanja s ključem ali seme(Angleščina) seme), notranje funkcije posodobitve stanja in izhodne funkcije. PRNG so razdeljeni na preproste aritmetične, pokvarjene kriptografske in kriptografsko močne. Njihov splošni namen je ustvariti zaporedja števil, ki jih z računskimi metodami ni mogoče ločiti od naključnih.

Čeprav veliko močnih PRNG ali pretočnih šifer ponuja veliko več "naključnih" števil, so takšni generatorji veliko počasnejši od običajnih aritmetičnih in morda niso primerni za kakršne koli raziskave, ki zahtevajo, da je procesor prost za uporabnejše izračune.

Za vojaške namene in na terenu se uporabljajo samo tajni sinhroni kripto odporni PRNG (stream ciphers), blokovne šifre se ne uporabljajo. Primeri dobro znanih kriptografsko močnih PRNG so ISAAC, SEAL, Snow, zelo počasen teoretični algoritem Blooma, Blooma in Shuba ter števci s kriptografskimi zgoščevalnimi funkcijami ali kriptografsko varnimi blokovnimi šiframi namesto izhodne funkcije.

Strojna oprema PRNG

Razen zastarelih, znanih generatorjev LFSR, ki so bili v 20. stoletju pogosto uporabljeni kot strojni PRNG, je na žalost zelo malo znanega o sodobnih strojnih PRNG (pretočnih šifrah), saj je bila večina razvitih za vojaške namene in so tajna. . Skoraj vse obstoječe komercialne strojne PRNG so patentirane in tudi tajne. Strojni PRNG so omejeni s strogimi zahtevami glede porabe pomnilnika (najpogosteje je uporaba pomnilnika prepovedana), hitrosti (1-2 cikla) ​​in površine (več sto FPGA - oz.

Zaradi pomanjkanja dobrih PRNG strojne opreme so proizvajalci prisiljeni uporabljati veliko počasnejše, a splošno znane blokovne šifre, ki so pri roki (Computer Review št. 29 (2003)

  • Jurij Lifšic. Predmet "Sodobne naloge kriptografije" Predavanje 9: Psevdonaključni generatorji
  • L. Barash. AKS algoritem za preverjanje primalnosti števil in iskanje konstant generatorjev psevdonaključnih števil
  • Vladimir Želnikov. Psevdonaključna zaporedja števil // Kriptografija od papirusa do računalnika M.: ABF, 1996.
  • random.org (angleško) - spletna storitev za generiranje naključnih števil
  • Kriptografska naključna števila
  • Teorija in praksa generiranja naključnih števil
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza generatorja naključnih števil Linuxa
  • Statistični testni nabor za generatorje naključnih in psevdonaključnih števil za kriptografske aplikacije NIST SP 800-22
  • Deterministični PRNG

    Noben deterministični algoritem ne more ustvariti popolnoma naključnih števil, lahko le približa nekatere lastnosti naključnih števil. Kot je rekel John von Neumann, " kdor ima slabost do aritmetičnih metod za pridobivanje naključnih števil, je brez dvoma grešnik».

    Vsak PRNG z omejenimi viri bo prej ali slej šel v cikle – začel bo ponavljati isto zaporedje številk. Dolžina ciklov PRNG je odvisna od samega generatorja in je v povprečju približno 2 n/2, kjer je n velikost notranjega stanja v bitih, čeprav imajo linearni skladni in LFSR generatorji največje cikle reda 2 n. Če lahko PRNG konvergira v prekratke cikle, ta PRNG postane predvidljiv in neuporaben.

    Čeprav je večina preprostih aritmetičnih generatorjev hitra, ima veliko resnih pomanjkljivosti:

    • Prekratko obdobje/obdobja.
    • Zaporedne vrednosti niso neodvisne.
    • Nekateri bitovi so "manj naključni" kot drugi.
    • Neenakomerna enodimenzionalna porazdelitev.
    • Reverzibilnost.

    Predvsem algoritem mainframe se je izkazal za zelo slabega, kar je vzbudilo dvome o zanesljivosti rezultatov številnih študij, ki so uporabljale ta algoritem.

    PRNG z virom entropije ali RNG

    Poleg potrebe po generiranju lahko ponovljivih zaporedij naključnih števil obstaja tudi potreba po generiranju popolnoma nepredvidljivih ali preprosto popolnoma naključnih števil. Takšni generatorji se imenujejo generatorji naključnih števil(RNG - angl. generator naključnih števil, RNG). Ker se takšni generatorji najpogosteje uporabljajo za generiranje edinstvenih simetričnih in asimetričnih ključev za šifriranje, so najpogosteje zgrajeni iz kombinacije kriptografsko močnega PRNG in zunanjega vira entropije (in to kombinacijo zdaj splošno razumemo kot RNG).

    Skoraj vsi glavni proizvajalci mikročipov oskrbujejo RNG strojne opreme z različnimi viri entropije, pri čemer uporabljajo različne metode, da jih očistijo neizogibne predvidljivosti. Vendar pa trenutno hitrost zbiranja naključnih števil z vsemi obstoječimi mikročipi (več tisoč bitov na sekundo) ne ustreza hitrosti sodobnih procesorjev.

    V osebnih računalnikih avtorji programske opreme RNG uporabljajo veliko hitrejše vire entropije, kot je hrup zvočne kartice ali števec ure procesorja. Pred možnostjo branja vrednosti števca ure je bilo zbiranje entropije najbolj ranljiva točka RNG. Ta problem še vedno ni v celoti odpravljen v mnogih napravah (npr. pametnih karticah), ki tako ostajajo ranljive. Številni RNG še vedno uporabljajo tradicionalne (zastarele) metode zbiranja entropije, kot je merjenje odziva uporabnika (gibanje miške itd.), kot na primer, ali interakcije med nitmi, kot je na primer varno naključno v Javi.

    Primeri virov RNG in entropije

    Nekaj ​​primerov RNG z njihovimi entropijskimi viri in generatorji:

    Entropijski vir PRNG Prednosti Napake
    /dev/random v sistemu Linux Števec ure procesorja, vendar se zbira samo med prekinitvami strojne opreme LFSR, z izhodom zgoščenim prekZelo dolgo se "greje", lahko se dolgo "zatakne" ali deluje kot PRNG ( /dev/urandom)
    rman avtorja Bruce Schneier Tradicionalne (zastarele) metode AES-256 inPrilagodljiva oblika, odporna na kripto Dolgo se »greje«, zelo majhno notranje stanje, preveč odvisno od kriptografske moči izbranih algoritmov, počasno, uporabno samo za generiranje ključev
    Generator Leonid Yuriev Hrup zvočne kartice ? Verjetno dober in hiter vir entropije Ni neodvisnega, znanega kot varnega PRNG, ki je na voljo izključno v sistemu Windows
    Microsoft Vgrajeno v Windows, se ne zatakne Majhno notranje stanje, enostavno predvidljivo
    Komunikacija med nitmi V Javi še ni druge izbire, veliko notranje stanje Počasno zbiranje entropije
    Chaos avtorja Ruptor Števec ure procesorja, ki se zbira neprekinjeno Zgoščevanje 4096-bitnega notranjega stanja, ki temelji na nelinearni različici generatorja Marsaglia Medtem ko se najhitrejše od vseh, veliko notranje stanje, ne "zatakne"
    RRAND podjetja Ruptor Števec ciklov procesorja Šifriranje notranjega stanja s tokovno šifroZelo hitro, notranje stanje poljubne velikosti po izbiri, se ne "zatakne"

    PRNG v kriptografiji

    Različica PRNG so GPSB (PRBG) - generatorji psevdonaključnih bitov, pa tudi različne šifre toka. PRNG, tako kot pretočne šifre, sestavljajo notranje stanje (običajno veliko od 16 bitov do več megabajtov), ​​funkcija za inicializacijo notranjega stanja s ključem ali seme(Angleščina) seme), notranje funkcije posodobitve stanja in izhodne funkcije. PRNG so razdeljeni na preproste aritmetične, pokvarjene kriptografske in kriptografsko močne. Njihov splošni namen je ustvariti zaporedja števil, ki jih z računskimi metodami ni mogoče ločiti od naključnih.

    Čeprav veliko močnih PRNG ali pretočnih šifer ponuja veliko več "naključnih" števil, so takšni generatorji veliko počasnejši od običajnih aritmetičnih in morda niso primerni za kakršne koli raziskave, ki zahtevajo, da je procesor prost za uporabnejše izračune.

    Za vojaške namene in na terenu se uporabljajo samo tajni sinhroni kripto odporni PRNG (stream ciphers), blokovne šifre se ne uporabljajo. Primeri dobro znanih kriptografsko močnih PRNG so ISAAC, SEAL, Snow, zelo počasen teoretični algoritem Blooma, Blooma in Shuba ter števci s kriptografskimi zgoščevalnimi funkcijami ali kriptografsko varnimi blokovnimi šiframi namesto izhodne funkcije.

    Strojna oprema PRNG

    Razen zastarelih, znanih generatorjev LFSR, ki so bili v 20. stoletju pogosto uporabljeni kot strojni PRNG, je na žalost zelo malo znanega o sodobnih strojnih PRNG (pretočnih šifrah), saj je bila večina razvitih za vojaške namene in so tajna. . Skoraj vse obstoječe komercialne strojne PRNG so patentirane in tudi tajne. Strojni PRNG so omejeni s strogimi zahtevami glede porabe pomnilnika (najpogosteje je uporaba pomnilnika prepovedana), hitrosti (1-2 cikla) ​​in površine (več sto FPGA - oz.

    Zaradi pomanjkanja dobrih PRNG strojne opreme so proizvajalci prisiljeni uporabljati veliko počasnejše, a splošno znane blokovne šifre, ki so pri roki (Computer Review št. 29 (2003)

  • Jurij Lifšic. Predmet "Sodobne naloge kriptografije" Predavanje 9: Psevdonaključni generatorji
  • L. Barash. AKS algoritem za preverjanje primalnosti števil in iskanje konstant generatorjev psevdonaključnih števil
  • Vladimir Želnikov. Psevdonaključna zaporedja števil // Kriptografija od papirusa do računalnika M.: ABF, 1996.
  • random.org (angleško) - spletna storitev za generiranje naključnih števil
  • Kriptografska naključna števila
  • Teorija in praksa generiranja naključnih števil
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analiza generatorja naključnih števil Linuxa
  • Statistični testni nabor za generatorje naključnih in psevdonaključnih števil za kriptografske aplikacije NIST SP 800-22
  • Programska oprema skoraj vseh računalnikov ima vgrajeno funkcijo za generiranje zaporedja psevdonaključnih kvazienakomerno porazdeljenih števil. Vendar pa so za statistično modeliranje naložene povečane zahteve glede generiranja naključnih števil. Kakovost rezultatov takšnega modeliranja je neposredno odvisna od kakovosti generatorja enakomerno porazdeljenih naključnih števil, saj ta števila so tudi viri (začetni podatki) za pridobivanje drugih slučajnih spremenljivk z danim porazdelitvenim zakonom.

    Na žalost idealni generatorji ne obstajajo, seznam njihovih znanih lastnosti pa je dopolnjen s seznamom pomanjkljivosti. To vodi do tveganja uporabe slabega generatorja v računalniškem poskusu. Zato je treba pred izvedbo računalniškega eksperimenta bodisi oceniti kakovost funkcije generiranja naključnih števil, ki je vgrajena v računalnik, bodisi izbrati ustrezen algoritem generiranja naključnih števil.

    Za uporabo v računalniški fiziki mora imeti generator naslednje lastnosti:

      Računska učinkovitost je najmanjši možni računski čas za naslednji cikel in količina pomnilnika za delovanje generatorja.

      Velika dolžina L naključno zaporedje števil. To obdobje mora vključevati vsaj nabor naključnih števil, potrebnih za statistični poskus. Poleg tega je nevarno celo približevanje koncu L, kar lahko privede do napačnih rezultatov statističnega poskusa.

    Kriterij za zadostno dolžino psevdonaključnega zaporedja je izbran iz naslednjih premislekov. Metoda Monte Carlo je sestavljena iz večkratnega ponavljanja izračunov izhodnih parametrov simuliranega sistema, ki je pod vplivom vhodnih parametrov, ki nihajo z danimi porazdelitvenimi zakoni. Osnova izvajanja metode je generiranje naključnih števil z uniforma porazdelitev v intervalu , iz katerega nastanejo naključna števila z danimi zakoni porazdelitve. Nato se izračuna verjetnost simuliranega dogodka kot razmerje med številom ponovitev poskusov modela z uspešnim izidom in številom skupnih ponovitev eksperimentov pri danih začetnih pogojih (parametrih) modela.

    Za zanesljiv, v statističnem smislu, izračun te verjetnosti je mogoče število ponovitev poskusa oceniti s formulo:

    kje
    - funkcija inverzna funkciji normalne porazdelitve, - zaupanje verjetnost napake verjetnostne meritve.

    Zato, da napaka ne preseže intervala zaupanja z zaupanjem, na primer \u003d 0,95 je potrebno, da število ponovitev poskusa ni manjše:

    (2.2)

    Na primer, za 10% napako ( =0,1) dobimo
    , in za 3% napako ( =0,03) že dobimo
    .

    Za druge začetne pogoje modela je treba izvesti novo serijo ponovitev poskusov na drugem psevdonaključnem zaporedju. Zato mora bodisi funkcija generiranja psevdonaključnega zaporedja imeti parameter, ki jo spreminja (na primer R 0 ), ali pa mora biti njegova dolžina vsaj:

    kje K - število začetnih pogojev (točke na krivulji, določene z metodo Monte Carlo), n - število ponovitev modelnega poskusa pri danih začetnih pogojih, L je dolžina psevdonaključnega zaporedja.

    Nato vsaka serija n ponovitve vsakega poskusa bodo izvedene na njegovem segmentu psevdonaključnega zaporedja.

      ponovljivost. Kot je navedeno zgoraj, je zaželeno imeti parameter, ki spreminja generiranje psevdo-naključnih števil. Običajno je R 0 . Zato je zelo pomembna sprememba 0 ni pokvaril kakovosti (tj. statističnih parametrov) generatorja naključnih števil.

      Dobre statistične lastnosti. To je največ pomemben indikator kakovost generatorja naključnih števil. Vendar ga ni mogoče oceniti z nobenim posameznim merilom ali testom, saj ni potrebnih in zadostnih kriterijev za naključnost končnega zaporedja števil. Največ, kar lahko rečemo o psevdo-naključnem zaporedju števil je, da "izgleda" naključno. Noben posamezen statistični test ni zanesljiv pokazatelj točnosti. Vsaj potrebno je uporabiti več testov, ki odražajo najpomembnejše vidike kakovosti generatorja naključnih števil, tj. stopnja njegovega približevanja idealnemu generatorju.

    Zato je poleg testiranja generatorja izjemno pomembno, da ga preverimo s tipičnimi problemi, ki omogočajo neodvisno oceno rezultatov z analitičnimi ali numeričnimi metodami.

    Lahko rečemo, da se ideja o zanesljivosti psevdo-naključnih števil ustvari v procesu njihove uporabe s temeljitim preverjanjem rezultatov, kadar koli je to mogoče.



     


    Preberite:



    Ocenjeni stroški - kaj je to?

    Ocenjeni stroški - kaj je to?

    Uvod Gradnja podjetij, zgradb, objektov in drugih objektov poteka po projektih. Gradbeni projekt je kompleks grafičnih,...

    "Dokončati problematične hiše ni tako težko"

    Koliko delničarjev je že utrpelo škodo Skupno je v Rusiji od februarja 2018 skoraj 40 tisoč opeharjenih delničarjev, ki so vložili v 836...

    Medicinska referenčna knjiga geotar L treonin navodila za uporabo

    Medicinska referenčna knjiga geotar L treonin navodila za uporabo

    L-THREONINE FEEDER Ime (lat.) L-threonine feed grade Sestava in oblika sproščanja Je bel kristalinični prah, ki vsebuje...

    Koristi in pomen hidroaminokisline treonin za človeško telo Navodila za uporabo treonina

    Koristi in pomen hidroaminokisline treonin za človeško telo Navodila za uporabo treonina

    On narekuje svoja pravila. Ljudje vse pogosteje posegajo po korekciji prehrane in seveda športu, kar je razumljivo. Navsezadnje v razmerah velikih ...

    sliko vira RSS