bahay - Drywall
Random na sensor ng numero. Ang mga Ruso ay nakabuo ng "unang mundo" na biological random number generator. Paano siya nagtatrabaho? Ano ang ginagawa ng “Security Code”?

Mayroong tatlong pangunahing naiiba iba't ibang paraan pagkuha ng mga numero na ginamit bilang random: pisikal, tabular at algorithmic.

Ang unang pagtatangka na lumikha ng isang pisikal na random na generator ng numero ay pinaniniwalaan na mula pa noong 3500 BC. at nauugnay sa larong board senet, sinaunang Egyptian social entertainment. Ayon sa mga modernong pagbabagong-tatag ng mga patakaran ng laro, apat na flat stick, isang gilid nito ay puti at ang kabilang panig ay itim, ay ginamit upang matukoy ang bilang ng mga puntos na naitala ng bawat manlalaro at ang pagkakasunud-sunod ng mga galaw sa larong ito. Ang mga stick ay itinapon sa parehong oras at, depende sa kumbinasyon ng mga kulay na nahulog, ang mga karagdagang posibilidad para sa mga manlalaro ay natukoy. Sa simula ng ika-20 siglo. Ang mga pagkakasunud-sunod ng mga random na numero ay ginaya nang manu-mano - sa pamamagitan ng paghahagis ng barya o dice, paglalatag Baraha, roulette, pag-alis ng mga bola sa isang urn, atbp. Ang mga modernong pisikal (hardware) na sensor ay mga espesyal na aparato, pagbuo ng mga random na numero batay sa pagbabago ng random na ingay ng natural o artipisyal na pinagmulan (thermal noise, shot effect sa vacuum tubes, radioactive decay, atbp.). Halimbawa, isang kotse ERNIE 4 (electronic random number indicator equipment),

  • 1 Minsan, bagaman bihira, ang distribusyon na tinukoy ng talahanayan 0 1 ... 8 9 ay itinuturing na pamantayan
  • 0.1 0.1 ... 0.1 0.1/ na ginagamit upang matukoy ang mga panalong numero sa buwanang British lottery, bilang source mga random na variable gumagamit ng thermal noise ng mga transistor. Ang pisikal na paraan ng pagkuha ng pagkakasunod-sunod ng mga random na numero ay may mga tampok na disadvantages para sa modelo ng simulation. Kabilang dito, una sa lahat, ang pangangailangan para sa mga espesyal na hakbang upang matiyak ang katatagan ng pinagmumulan ng signal na na-convert sa mga random na numero, at ang imposibilidad ng muling paggawa ng nagresultang pagkakasunud-sunod ng mga random na numero.

Walang ganitong mga disadvantage ang mga random na talahanayan ng numero. Ipaliwanag natin kung ano ang ibig sabihin ng talahanayan ng mga random na numero. Ipagpalagay natin na naipatupad natin N mga independiyenteng eksperimento, bilang isang resulta kung saan nakakuha sila ng mga random na numero a, a 2, osdg. Ang pagsulat ng mga numerong ito (sa pagkakasunud-sunod ng hitsura at sa anyo ng isang hugis-parihaba na talahanayan) ay magbibigay ng tinatawag na talahanayan ng mga random na numero. Ito ay ginagamit bilang mga sumusunod. Sa panahon ng mga kalkulasyon, maaaring kailanganin namin ang alinman sa isang random na digit o isang random na numero. Kung kinakailangan ang isang random na numero, maaari tayong kumuha ng anumang numero mula sa talahanayang ito. Ang parehong naaangkop sa kaso ng isang integer random na numero - para sa bawat digit maaari kang pumili ng anumang digit. Kung kailangan natin ng random na numero 0 k ng susunod na mga digit сс, at 2 , ос/, at ipagpalagay na 8 = (Hoco^.-.o^. Sa kasong ito, sa kaso ng isang "ideal" na talahanayan ng mga random na digit , maaari kaming pumili ng mga digit mula dito nang random, posible sa isang hilera, maaari mong gamitin ang anumang algorithm ng pagpili na hindi nakasalalay sa mga halaga ng mga numero ng talahanayan, magsimula sa anumang lugar sa talahanayan, basahin sa anumang direksyon.

Ang mga unang talahanayan ng mga random na numero ay nakuha gamit ang mga roulette. Ang ganitong mga talahanayan ay nai-publish nang maraming beses sa anyo ng libro. Ang isa sa mga pinakasikat na talahanayan, na inilathala noong 1927, ay naglalaman ng higit sa 40,000 random na numero "kinuha nang random mula sa mga ulat ng census."

Makasaysayang sanggunian

Leonard Tippett (Leonard Henry Caleb Tippett, 1902-1985) - English statistician, estudyante ni K. Pearson at R. Fisher. Noong 1965-1966 - Pangulo ng Royal Statistical Society. Ang ilang mahahalagang resulta sa teorya ng matinding halaga ay nauugnay sa kanyang pangalan, halimbawa ang pamamahagi ng Fisher-Tippett at ang Fisher-Tippett-Gnedenko theorem.

Nang maglaon, ang mga espesyal na aparato (mga makina) ay dinisenyo na mekanikal na nakabuo ng mga random na numero. Ang unang naturang makina ay ginamit noong 1939 nina M. J. Kendall at B. Babington-Smith upang lumikha ng mga talahanayan na naglalaman ng 100 libong random na numero. Noong 1955 ang kumpanya RAND Corporation inilathala ang mga kilalang talahanayan na naglalaman ng isang milyong random na digit na nakuha ng isa pang makina ng ganitong uri. Praktikal na paggamit Ang mga talahanayan ng mga random na numero ay kasalukuyang limitado, bilang panuntunan, sa mga problema kung saan ang mga random na paraan ng pagpili ay ginagamit

halimbawa, sa mga sosyolohikal na pag-aaral o kapag nagsasagawa ng istatistikal na pagtanggap ng kontrol sa kalidad ng mga produkto ng piraso para sa iba't ibang layunin.

Ito ay kawili-wili

Sa Russia, ang GOST 18321-73 (ST SEV 1934-79) ay may bisa, na nagtatatag ng mga patakaran para sa pagpili ng mga yunit ng mga produkto para sa sampling kapag nagsasagawa ng statistical acceptance quality control, statistical method of analysis and regulation teknolohikal na proseso para sa lahat ng uri ng mga pirasong produkto para sa mga layuning pang-industriya at teknikal at mga kalakal ng consumer. Sinasabi nito, sa partikular, na kapag pumipili ng mga yunit ng mga produkto para sa sample, "ang mga talahanayan ng mga random na numero ay ginagamit ayon sa ST SEV 546-77."

ilapat nang paulit-ulit; lahat ng mga numero ay madaling magparami; at ang supply ng mga numero sa ganoong pagkakasunod-sunod ay limitado. Gayunpaman, ang isang pagkakasunud-sunod ng mga pseudorandom na numero ay may malinaw na kalamangan sa isang talahanayan: may mga simpleng formula para sa pagkalkula ng isang pseudorandom na numero, habang 3-5 utos lamang ang ginugugol sa pagkuha ng bawat numero, at ang programa ng pagkalkula ay tumatagal lamang ng ilang mga cell sa magmaneho.

Mayroong maraming mga algorithm para sa pagkuha ng mga pagkakasunud-sunod ng mga pseudorandom na numero ng mga pagpapatupad ng naturang mga algorithm, na tinatawag na mga sensors (generators) ng mga pseudorandom na numero, ay inilarawan sa ilang detalye sa espesyal na panitikan. Ipahiwatig natin ang ilan sa mga pinakakilalang algorithm.

  • Tippett L. Random na mga sampling na numero. London: Cambridge University Press, 1927.
  • Tingnan ang: Knuth D.E. ika-3 ed. M.: Williams, 2000. T. 2. Ch. 3. Random na mga numero.

09/19/2017, Martes, 13:18, oras ng Moscow , Teksto: Valeria Shmyrova

Ang kumpanya ng Security Code, ang nag-develop ng Continent cryptographic complex, ay nakatanggap ng patent para sa isang biological random number sensor. Ito ay tiyak na isang biological sensor, dahil ang randomness ay batay sa reaksyon ng gumagamit sa larawang ipinakita sa kanya. Tinitiyak ng kumpanya na ang mga naturang teknolohiya ay hindi pa na-patent sa mundo dati.

Pagkuha ng patent

Nakatanggap ang kumpanya ng Security Code ng patent para sa teknolohiyang biological random number sensor. Ayon sa mga developer, kapag lumilikha ng teknolohiya, "isang bagong diskarte sa paglutas ng problema ng pagbuo ng mga random na numero gamit ang isang computer at isang tao" ay ginamit. Ginagamit na ang development sa ilang produkto, kabilang ang Continent-AP, Secret Net Studio, Continent TLS at Jinn, pati na rin sa SCrypt cryptographic library.

Tulad ng ipinaliwanag ng mga kinatawan ng kumpanya sa CNews, tatlong taon na ang ginagawa sa sensor. Binubuo ito ng bahaging siyentipiko, bahagi ng pagpapatupad at bahaging pang-eksperimento. Tatlong tao ang responsable para sa pang-agham na bahagi ng kumpanya; ang buong pangkat ng mga programmer ay nakibahagi sa pagbuo, at ang pagsubok at mga eksperimento ay isinagawa ng buong koponan, na umaabot sa ilang daang tao.

Mga kakayahan sa teknolohiya

Ang bagong sensor ay maaaring bumuo ng mga random na pagkakasunud-sunod sa mga personal na device - walang karagdagang mga device o hardware add-on ang kinakailangan. Maaari itong magamit sa pag-encrypt ng data at sa anumang lugar kung saan may pangangailangan para sa mga random na binary sequence. Ayon sa mga developer, sa tulong nito, ang mga susi sa pag-encrypt ay nalikha nang mas mabilis sa mga mobile device. Maaaring gamitin ang property na ito para i-encrypt ang data o bumuo Electronic Signature.

Gaya ng ipinaliwanag Alisa Koreneva, isang system analyst ng "Security Code", ang sensor ng kumpanya ay bumubuo ng mga random na pagkakasunud-sunod batay sa bilis at katumpakan ng pagtugon ng kamay ng user sa mga pagbabago sa larawan sa screen ng PC o tablet. Ang mouse o touchscreen ay ginagamit para sa input. Ganito ang hitsura: ang mga bilog ay gumagalaw nang magulo sa screen, ang ilan sa kanilang mga parameter ay nagbabago sa paglipas ng panahon. Sa ilang mga punto sa oras ang user ay tumutugon sa mga pagbabago sa larawan. Isinasaalang-alang ang mga kakaibang katangian ng kanyang mga kasanayan sa motor, ito ay makikita sa random na masa ng mga piraso.

Maaari kang bumuo ng mga random na pagkakasunud-sunod ng numero batay sa mga kusang reaksyon ng tao

Sa labas ng cryptography, ang sensor ay maaaring gamitin upang bumuo ng mga random na numero sa mga laro sa Kompyuter o upang pumili ng mga nanalo sa kumpetisyon.

Scientific novelty

Tulad ng ipinaliwanag ng kumpanya sa CNews, marami mga kilalang pamamaraan Ang mga konstruksyon ng mga random na sensor ng numero ay kasinungalingan mga pisikal na batas at phenomena, o mga deterministikong algorithm. Maaaring mabuo ang mga pagkakasunud-sunod gamit ang isang computer - sa kasong ito, ang kawalang-tatag ng ilang bahagi ng computer at ang kawalan ng katiyakan ng interference ng hardware ay kinuha bilang batayan para sa randomness.

Ang pagiging bago ng teknolohiya ng Security Code ay nakasalalay sa katotohanan na ang pinagmulan ng randomness ay ang reaksyon ng isang tao sa isang pagbabago ng imahe na ipinapakita sa display ng device. Iyon ang dahilan kung bakit ang pangalan ng imbensyon ay naglalaman ng salitang "biological". Ang kumpanya ay nag-uulat na ito o ang Rospatent ay hindi nakahanap ng mga patentadong analogue ng teknolohiya sa Russia o sa mundo. Gayunpaman, sa pangkalahatan ay kilala ang mga naturang diskarte: halimbawa, maaaring mabuo ang isang sequence batay sa mga aksyon ng user tulad ng mga pag-click o paggalaw ng mouse o mga keystroke sa keyboard.

Ayon kay Koreneva, sinuri ng development team iba't ibang paraan pagbuo ng mga random na pagkakasunud-sunod. Tulad ng nangyari, sa maraming mga kaso walang mga makatwirang pagtatantya ng pagganap ng henerasyon, o ang mga istatistikal na katangian ng mga nabuong pagkakasunud-sunod, o pareho. Ito ay dahil sa kahirapan ng pagbibigay-katwiran sa isang naimbentong teknolohiya. Sinasabi ng Security Code na ang pananaliksik nito ay gumawa ng mga makatwirang pagtatantya ng rate ng henerasyon, nagawang bigyang-katwiran ang magagandang probabilistikong katangian at istatistikal na katangian, at tinantiya ang entropy na naiambag ng mga aksyon ng tao.

Mga produkto na gumagamit ng teknolohiya

Ang "Continent" ay isang hardware at software complex na idinisenyo para sa pag-encrypt ng data. Ginamit sa pampublikong sektor ng Russia, halimbawa, sa Treasury. Binubuo ng firewall at mga tool para sa paggawa ng VPN. Ito ay nilikha ng kumpanya ng NIP Informzashita, at ngayon ay binuo ng Security Code LLC.

Sa partikular, ang "Continent" access server at ang "Continent-AP" information cryptographic protection system ay isang module para sa secure na malayuang pag-access gamit ang GOST algorithm, at ang "Continent TLS VPN" ay isang system para sa pagbibigay ng secure na malayuang pag-access sa mga web application gamit din ang GOST mga algorithm ng pag-encrypt.

Ang Secret Net Studio ay kumpletong solusyon upang protektahan ang mga workstation at server sa data, aplikasyon, antas ng network, operating system at peripheral equipment, na bumubuo rin ng "Security Code". Ang Jinn-Client ay idinisenyo para sa proteksyon ng cryptographic na impormasyon para sa paglikha ng electronic signature at pinagkakatiwalaang visualization ng mga dokumento, at ang Jinn-Server ay isang software at hardware complex para sa pagbuo ng legal na makabuluhang electronic document management system.

Ang SCrypt cryptographic library, na gumagamit din ng bagong sensor, ay binuo ng Security Code upang gawing mas madaling ilapat ang mga cryptographic algorithm sa iba't ibang produkto. Ito ay isang solong program code na nasuri para sa mga error. Sinusuportahan ng library ang cryptographic hashing, electronic signature, at encryption algorithm.

Ano ang ginagawa ng “Security Code”?

"Security code" - kumpanyang Ruso, na bumubuo ng software at hardware. Ito ay itinatag noong 2008. Ang saklaw ng produkto ay ang proteksyon ng mga sistema ng impormasyon at nagdadala sa kanila sa pagsunod sa mga pamantayan sa internasyonal at industriya, kabilang ang proteksyon ng kumpidensyal na impormasyon, kabilang ang mga lihim ng estado. Ang "Security Code" ay may siyam na lisensya Serbisyong pederal para sa Technical and Export Control (FSTEC) ng Russia, ang Federal Security Service (FSB) ng Russia at ang Ministry of Defense.

Ang mga kawani ng kumpanya ay binubuo ng humigit-kumulang 300 mga espesyalista na ibinebenta ng 900 na awtorisadong mga kasosyo sa lahat ng mga rehiyon ng Russia at mga bansa ng CIS. Base ng kliyente Kasama sa "Kodigo sa Seguridad" ang humigit-kumulang 32 libong mga organisasyon ng gobyerno at komersyal.

Mga deterministikong PRNG

Walang deterministikong algorithm ang maaaring makabuo ng ganap na random na mga numero, maaari lamang itong tantiyahin ang ilang mga katangian ng mga random na numero. Tulad ng sinabi ni John von Neumann, " sinumang may kahinaan para sa mga pamamaraan ng aritmetika sa pagkuha ng mga random na numero ay makasalanan nang walang anumang pagdududa».

Ang anumang PRNG na may limitadong mga mapagkukunan ay maaga o huli ay napupunta sa mga cycle - nagsisimula itong ulitin ang parehong pagkakasunud-sunod ng mga numero. Ang haba ng mga cycle ng PRNG ay nakasalalay sa generator mismo at mga average na humigit-kumulang 2n/2, kung saan ang n ay ang laki ng panloob na estado sa mga bit, bagaman ang mga linear congruent at LFSR generator ay may pinakamataas na cycle ng pagkakasunud-sunod ng 2n. Kung ang isang PRNG ay maaaring mag-converge sa mga cycle na masyadong maikli, ang PRNG ay magiging predictable at hindi magagamit.

Karamihan sa mga simpleng arithmetic generator, bagama't napakabilis, ay dumaranas ng maraming malubhang disadvantages:

  • Masyadong maikli ang panahon/panahon.
  • Ang magkakasunod na halaga ay hindi independyente.
  • Ang ilang mga bit ay "mas random" kaysa sa iba.
  • Hindi pantay na one-dimensional na pamamahagi.
  • Pagbabalik-tanaw.

Sa partikular, ang algorithm ng mainframe ay naging napakahirap, na nagtaas ng mga pagdududa tungkol sa bisa ng mga resulta ng maraming pag-aaral na gumamit ng algorithm na ito.

PRNG na may entropy source o RNG

Kung paanong may pangangailangan na bumuo ng madaling mauulit na pagkakasunud-sunod ng mga random na numero, mayroon ding pangangailangan na bumuo ng ganap na hindi mahuhulaan o ganap na random na mga numero. Ang ganitong mga generator ay tinatawag mga generator ng random na numero(RNG - Ingles) random na numero generator, RNG). Dahil ang mga naturang generator ay kadalasang ginagamit upang makabuo ng mga natatanging simetriko at walang simetrya na mga key para sa pag-encrypt, ang mga ito ay kadalasang binuo mula sa kumbinasyon ng isang cryptographic PRNG at panlabas na pinagmulan entropy (at ito mismo ang kumbinasyong ito na ngayon ay karaniwang nauunawaan bilang RNG).

Halos lahat ng pangunahing tagagawa ng chip ay nagbibigay ng mga hardware RNG na may iba't ibang entropy source na ginagamit iba't ibang pamamaraan upang i-clear ang mga ito ng hindi maiiwasang predictability. Gayunpaman, sa ngayon, ang bilis kung saan ang mga random na numero ay nakolekta ng lahat ng umiiral na microchips (ilang libong bits bawat segundo) ay hindi tumutugma sa bilis ng mga modernong processor.

Sa mga personal na computer, ang mga may-akda ng software ng RNG ay gumagamit ng mas mabilis na pinagmumulan ng entropy, gaya ng ingay ng sound card o processor clock cycle counter. Bago naging posible na basahin ang mga halaga ng counter ng orasan, ang koleksyon ng entropy ay ang pinaka-mahina na punto ng RNG. Ang problemang ito ay hindi pa rin ganap na naresolba sa maraming device (hal. smart card), na sa gayon ay nananatiling mahina. Maraming mga RNG ang gumagamit pa rin ng mga tradisyonal (hindi napapanahong) paraan ng pagkolekta ng entropy, tulad ng pagsukat ng mga reaksyon ng gumagamit (paggalaw ng mouse, atbp.), tulad ng sa, halimbawa, o pakikipag-ugnayan sa pagitan ng mga thread, tulad ng sa Java secure random.

Mga halimbawa ng RNG at entropy source

Ilang halimbawa ng mga RNG kasama ang kanilang mga entropy source at generator:

Pinagmulan ng entropy PRNG Mga kalamangan Bahid
/dev/random sa Linux CPU clock counter, gayunpaman, nakolekta lamang sa panahon ng mga pagkaantala ng hardware LFSR, na may output na na-hash sa pamamagitan ngIto ay "nag-iinit" sa napakatagal na panahon, maaaring "ma-stuck" ng mahabang panahon, o gumagana tulad ng isang PRNG ( /dev/urandom)
Yarrow mula kay Bruce Schneier Mga tradisyunal (hindi napapanahong) pamamaraan AES-256 atFlexible na disenyong lumalaban sa crypto Nagtatagal ng mahabang oras upang "mag-init", napakaliit na panloob na estado, ay masyadong nakadepende sa lakas ng cryptographic ng mga napiling algorithm, mabagal, naaangkop na eksklusibo para sa pagbuo ng key
Generator ni Leonid Yuryev Ang ingay ng sound card ? Malamang na isang mahusay at mabilis na mapagkukunan ng entropy Walang independiyente, kilalang crypto-strong PRNG, na eksklusibong available bilang Windows
Microsoft Built in sa Windows, hindi natigil Maliit na panloob na estado, madaling hulaan
Komunikasyon sa pagitan ng mga thread Wala pang ibang pagpipilian sa Java, mayroong isang malaking panloob na estado Mabagal na koleksyon ng entropy
Chaos ni Ruptor Processor clock counter, patuloy na kinokolekta Ang pag-hash ng 4096-bit na panloob na estado batay sa isang non-linear na variant ng Marsaglia generator Hanggang sa pinakamabilis sa lahat, ang malaking panloob na estado, ay "natigil"
RRAND mula kay Ruptor Counter ng orasan ng processor Pag-encrypt ng panloob na estado gamit ang isang stream cipherNapakabilis, panloob na estado ng di-makatwirang laki na mapagpipilian, walang "natigil"

PRNG sa cryptography

Ang isang uri ng PRNG ay mga PRBG - mga generator ng pseudo-random bits, pati na rin ang iba't ibang stream cipher. Ang mga PRNG, tulad ng mga stream cipher, ay binubuo ng isang panloob na estado (karaniwang mula sa 16 bits hanggang ilang megabytes), isang function upang simulan ang panloob na estado gamit ang isang key o binhi(Ingles) binhi), mga function ng pag-update ng panloob na estado, at mga function ng output. Ang mga PRNG ay nahahati sa simpleng arithmetic, sirang cryptographic at malakas na cryptographic. Ang kanilang pangkalahatang layunin ay upang makabuo ng mga pagkakasunud-sunod ng mga numero na hindi maaaring makilala mula sa random sa pamamagitan ng mga pamamaraan ng computational.

Bagama't maraming malalakas na PRNG o stream cipher ang nag-aalok ng higit pang "random" na mga numero, ang mga naturang generator ay mas mabagal kaysa sa kumbensyonal na arithmetic generator at maaaring hindi angkop para sa anumang uri ng pananaliksik na nangangailangan ng processor na maging libre para sa mas kapaki-pakinabang na mga kalkulasyon.

Para sa mga layuning militar at sa mga kundisyon sa larangan, tanging ang mga lihim na kasabay na cryptographic strong PRNGs (stream ciphers) ay hindi ginagamit; Ang mga halimbawa ng mga kilalang crypto-strong PRNG ay ang ISAAC, SEAL, Snow, ang napakabagal na theoretical algorithm ng Bloom, Bloom at Shub, pati na rin ang mga counter na may mga cryptographic hash function o malakas na block ciphers sa halip na isang output function.

PRNG ng hardware

Bukod sa legacy, kilalang LFSR generators na malawakang ginagamit bilang hardware PRNG noong ika-20 siglo, sa kasamaang-palad, kakaunti ang nalalaman tungkol sa modernong hardware PRNGs (stream ciphers), dahil karamihan sa mga ito ay binuo para sa layuning militar at pinananatiling lihim. . Halos lahat ng umiiral na komersyal na hardware PRNG ay patented at pinananatiling lihim din. Ang mga PRNG ng hardware ay nililimitahan ng mahigpit na mga kinakailangan para sa natupok na memorya (kadalasan ay ipinagbabawal ang paggamit ng memorya), bilis (1-2 clock cycle) at lugar (ilang daang FPGA - o

Dahil sa kakulangan ng mahuhusay na PRNG ng hardware, napipilitang gamitin ng mga tagagawa ang mas mabagal, ngunit kilalang block cipher na magagamit (Computer Review No. 29 (2003)

  • Yuri Lifshits. Kurso "Mga modernong problema ng cryptography" Lecture 9: Pseudorandom generators
  • L. Barash. AKS algorithm para sa pagsuri ng mga numero para sa primality at paghahanap para sa pseudorandom number generator constants
  • Zhelnikov Vladimir. Mga pseudorandom na pagkakasunud-sunod ng mga numero // Cryptography mula sa papyrus hanggang sa computer M.: ABF, 1996.
  • random.org (English) - online na serbisyo para sa pagbuo ng mga random na numero
  • Mga Cryptographic na Random na Numero
  • Teorya at Practice ng Random Number Generation
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Pagsusuri ng Linux Random Number Generator
  • Isang Statistical Test Suite para sa Random at Pseudorandom Number Generators para sa Cryptographic Applications NIST SP 800-22
  • Mga deterministikong PRNG

    Walang deterministikong algorithm ang maaaring makabuo ng ganap na random na mga numero, maaari lamang itong tantiyahin ang ilang mga katangian ng mga random na numero. Tulad ng sinabi ni John von Neumann, " sinumang may kahinaan para sa mga pamamaraan ng aritmetika sa pagkuha ng mga random na numero ay makasalanan nang walang anumang pagdududa».

    Ang anumang PRNG na may limitadong mga mapagkukunan ay maaga o huli ay napupunta sa mga cycle - nagsisimula itong ulitin ang parehong pagkakasunud-sunod ng mga numero. Ang haba ng mga cycle ng PRNG ay nakasalalay sa generator mismo at mga average na humigit-kumulang 2n/2, kung saan ang n ay ang laki ng panloob na estado sa mga bit, bagaman ang mga linear congruent at LFSR generator ay may pinakamataas na cycle ng pagkakasunud-sunod ng 2n. Kung ang isang PRNG ay maaaring mag-converge sa mga cycle na masyadong maikli, ang PRNG ay magiging predictable at hindi magagamit.

    Karamihan sa mga simpleng arithmetic generator, bagama't napakabilis, ay dumaranas ng maraming malubhang disadvantages:

    • Masyadong maikli ang panahon/panahon.
    • Ang magkakasunod na halaga ay hindi independyente.
    • Ang ilang mga bit ay "mas random" kaysa sa iba.
    • Hindi pantay na one-dimensional na pamamahagi.
    • Pagbabalik-tanaw.

    Sa partikular, ang algorithm ng mainframe ay naging napakahirap, na nagtaas ng mga pagdududa tungkol sa bisa ng mga resulta ng maraming pag-aaral na gumamit ng algorithm na ito.

    PRNG na may entropy source o RNG

    Kung paanong may pangangailangan na bumuo ng madaling mauulit na pagkakasunud-sunod ng mga random na numero, mayroon ding pangangailangan na bumuo ng ganap na hindi mahuhulaan o ganap na random na mga numero. Ang ganitong mga generator ay tinatawag mga generator ng random na numero(RNG - Ingles) random na numero generator, RNG). Dahil ang mga naturang generator ay kadalasang ginagamit upang makabuo ng mga natatanging simetriko at walang simetrya na mga key para sa pag-encrypt, ang mga ito ay kadalasang binuo mula sa kumbinasyon ng isang malakas na cryptographic na PRNG at isang panlabas na pinagmumulan ng entropy (at ito mismo ang kumbinasyong ito na ngayon ay karaniwang nauunawaan bilang isang RNG).

    Halos lahat ng mga pangunahing tagagawa ng chip ay nagbibigay ng mga hardware RNG na may iba't ibang pinagmumulan ng entropy, gamit ang iba't ibang paraan upang linisin ang mga ito ng hindi maiiwasang predictability. Gayunpaman, sa ngayon, ang bilis kung saan ang mga random na numero ay nakolekta ng lahat ng umiiral na microchips (ilang libong bits bawat segundo) ay hindi tumutugma sa bilis ng mga modernong processor.

    Sa mga personal na computer, ang mga may-akda ng software ng RNG ay gumagamit ng mas mabilis na pinagmumulan ng entropy, gaya ng ingay ng sound card o processor clock cycle counter. Bago naging posible na basahin ang mga halaga ng counter ng orasan, ang koleksyon ng entropy ay ang pinaka-mahina na punto ng RNG. Ang problemang ito ay hindi pa rin ganap na naresolba sa maraming device (hal. smart card), na sa gayon ay nananatiling mahina. Maraming mga RNG ang gumagamit pa rin ng mga tradisyonal (hindi napapanahong) paraan ng pagkolekta ng entropy, tulad ng pagsukat ng mga reaksyon ng gumagamit (paggalaw ng mouse, atbp.), tulad ng sa, halimbawa, o pakikipag-ugnayan sa pagitan ng mga thread, tulad ng sa Java secure random.

    Mga halimbawa ng RNG at entropy source

    Ilang halimbawa ng mga RNG kasama ang kanilang mga entropy source at generator:

    Pinagmulan ng entropy PRNG Mga kalamangan Bahid
    /dev/random sa Linux CPU clock counter, gayunpaman, nakolekta lamang sa panahon ng mga pagkaantala ng hardware LFSR, na may output na na-hash sa pamamagitan ngIto ay "nag-iinit" sa napakatagal na panahon, maaaring "ma-stuck" ng mahabang panahon, o gumagana tulad ng isang PRNG ( /dev/urandom)
    Yarrow mula kay Bruce Schneier Mga tradisyunal (hindi napapanahong) pamamaraan AES-256 atFlexible na disenyong lumalaban sa crypto Nagtatagal ng mahabang oras upang "mag-init", napakaliit na panloob na estado, ay masyadong nakadepende sa lakas ng cryptographic ng mga napiling algorithm, mabagal, naaangkop na eksklusibo para sa pagbuo ng key
    Generator ni Leonid Yuryev Ang ingay ng sound card ? Malamang na isang mahusay at mabilis na mapagkukunan ng entropy Walang independiyente, kilalang crypto-strong PRNG, na eksklusibong available bilang Windows
    Microsoft Built in sa Windows, hindi natigil Maliit na panloob na estado, madaling hulaan
    Komunikasyon sa pagitan ng mga thread Wala pang ibang pagpipilian sa Java, mayroong isang malaking panloob na estado Mabagal na koleksyon ng entropy
    Chaos ni Ruptor Processor clock counter, patuloy na kinokolekta Ang pag-hash ng 4096-bit na panloob na estado batay sa isang non-linear na variant ng Marsaglia generator Hanggang sa pinakamabilis sa lahat, ang malaking panloob na estado, ay "natigil"
    RRAND mula kay Ruptor Counter ng orasan ng processor Pag-encrypt ng panloob na estado gamit ang isang stream cipherNapakabilis, panloob na estado ng di-makatwirang laki na mapagpipilian, walang "natigil"

    PRNG sa cryptography

    Ang isang uri ng PRNG ay mga PRBG - mga generator ng pseudo-random bits, pati na rin ang iba't ibang stream cipher. Ang mga PRNG, tulad ng mga stream cipher, ay binubuo ng isang panloob na estado (karaniwang mula sa 16 bits hanggang ilang megabytes), isang function upang simulan ang panloob na estado gamit ang isang key o binhi(Ingles) binhi), mga function ng pag-update ng panloob na estado, at mga function ng output. Ang mga PRNG ay nahahati sa simpleng arithmetic, sirang cryptographic at malakas na cryptographic. Ang kanilang pangkalahatang layunin ay upang makabuo ng mga pagkakasunud-sunod ng mga numero na hindi maaaring makilala mula sa random sa pamamagitan ng mga pamamaraan ng computational.

    Bagama't maraming malalakas na PRNG o stream cipher ang nag-aalok ng higit pang "random" na mga numero, ang mga naturang generator ay mas mabagal kaysa sa kumbensyonal na arithmetic generator at maaaring hindi angkop para sa anumang uri ng pananaliksik na nangangailangan ng processor na maging libre para sa mas kapaki-pakinabang na mga kalkulasyon.

    Para sa mga layuning militar at sa mga kundisyon sa larangan, tanging ang mga lihim na kasabay na cryptographic strong PRNGs (stream ciphers) ay hindi ginagamit; Ang mga halimbawa ng mga kilalang crypto-strong PRNG ay ang ISAAC, SEAL, Snow, ang napakabagal na theoretical algorithm ng Bloom, Bloom at Shub, pati na rin ang mga counter na may mga cryptographic hash function o malakas na block ciphers sa halip na isang output function.

    PRNG ng hardware

    Bukod sa legacy, kilalang LFSR generators na malawakang ginagamit bilang hardware PRNG noong ika-20 siglo, sa kasamaang-palad, kakaunti ang nalalaman tungkol sa modernong hardware PRNGs (stream ciphers), dahil karamihan sa mga ito ay binuo para sa layuning militar at pinananatiling lihim. . Halos lahat ng umiiral na komersyal na hardware PRNG ay patented at pinananatiling lihim din. Ang mga PRNG ng hardware ay nililimitahan ng mahigpit na mga kinakailangan para sa natupok na memorya (kadalasan ay ipinagbabawal ang paggamit ng memorya), bilis (1-2 clock cycle) at lugar (ilang daang FPGA - o

    Dahil sa kakulangan ng mahuhusay na PRNG ng hardware, napipilitang gamitin ng mga tagagawa ang mas mabagal, ngunit kilalang block cipher na magagamit (Computer Review No. 29 (2003)

  • Yuri Lifshits. Kurso "Mga modernong problema ng cryptography" Lecture 9: Pseudorandom generators
  • L. Barash. AKS algorithm para sa pagsuri ng mga numero para sa primality at paghahanap para sa pseudorandom number generator constants
  • Zhelnikov Vladimir. Mga pseudorandom na pagkakasunud-sunod ng mga numero // Cryptography mula sa papyrus hanggang sa computer M.: ABF, 1996.
  • random.org (English) - online na serbisyo para sa pagbuo ng mga random na numero
  • Mga Cryptographic na Random na Numero
  • Teorya at Practice ng Random Number Generation
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Pagsusuri ng Linux Random Number Generator
  • Isang Statistical Test Suite para sa Random at Pseudorandom Number Generators para sa Cryptographic Applications NIST SP 800-22
  • Ang software ng halos lahat ng mga computer ay may built-in na function para sa pagbuo ng isang sequence ng pseudo-random quasi-uniformly distributed na mga numero. Gayunpaman, para sa pagmomodelo ng istatistika, ang mga mas mataas na kinakailangan ay inilalagay sa random na pagbuo ng numero. Ang kalidad ng mga resulta ng naturang pagmomolde ay direktang nakasalalay sa kalidad ng generator ng pantay na ibinahagi na mga random na numero, dahil ang mga numerong ito ay mga mapagkukunan din (inisyal na data) para sa pagkuha ng iba pang mga random na variable na may ibinigay na batas sa pamamahagi.

    Sa kasamaang palad, ang mga perpektong generator ay hindi umiiral, at ang listahan ng kanilang mga kilalang pag-aari ay napunan ng isang listahan ng mga disadvantages. Ito ay humahantong sa panganib ng paggamit ng isang masamang generator sa isang eksperimento sa computer. Samakatuwid, bago magsagawa ng eksperimento sa computer, kinakailangang suriin ang kalidad ng function ng random na pagbuo ng numero na binuo sa computer, o pumili ng naaangkop na algorithm ng pagbuo ng random na numero.

    Upang magamit sa computational physics, ang generator ay dapat magkaroon ng mga sumusunod na katangian:

      Ang computational efficiency ay ang pinakamaikling posibleng oras ng pagkalkula para sa susunod na cycle at ang dami ng memory para sa pagpapatakbo ng generator.

      Malaking haba L random na pagkakasunud-sunod ng mga numero. Ang panahong ito ay dapat magsama ng hindi bababa sa hanay ng mga random na numero na kinakailangan para sa isang istatistikal na eksperimento. Bilang karagdagan, kahit na ang paglapit sa dulo ng L ay nagdudulot ng panganib, na maaaring humantong sa mga maling resulta ng isang eksperimento sa istatistika.

    Ang criterion para sa sapat na haba ng isang pseudorandom sequence ay pinili mula sa mga sumusunod na pagsasaalang-alang. Ang pamamaraan ng Monte Carlo ay binubuo ng mga paulit-ulit na pagkalkula ng mga parameter ng output ng isang simulate system sa ilalim ng impluwensya ng mga parameter ng input na nagbabago sa mga ibinigay na batas sa pamamahagi. Ang batayan para sa pagpapatupad ng pamamaraan ay ang pagbuo ng mga random na numero na may uniporme pamamahagi sa pagitan kung saan nabuo ang mga random na numero na may ibinigay na mga batas sa pamamahagi. Susunod, ang posibilidad ng simulate na kaganapan ay kinakalkula bilang ratio ng bilang ng mga pag-uulit ng mga eksperimento ng modelo na may matagumpay na kinalabasan sa bilang ng kabuuang pag-uulit ng mga eksperimento sa ilalim ng ibinigay na mga paunang kundisyon (parameter) ng modelo.

    Para sa isang maaasahang, sa isang istatistikal na kahulugan, pagkalkula ng posibilidad na ito, ang bilang ng mga pag-uulit ng eksperimento ay maaaring matantya gamit ang formula:

    saan
    - function na kabaligtaran sa normal na distribution function, - kumpiyansa posibilidad ng pagkakamali Mga sukat ng posibilidad.

    Samakatuwid, upang ang pagkakamali ay hindi lumampas sa pagitan ng kumpiyansa na may posibilidad na may kumpiyansa, halimbawa =0.95 kinakailangan na ang bilang ng mga pag-uulit ng eksperimento ay hindi bababa sa:

    (2.2)

    Halimbawa, para sa isang 10% na error ( =0.1) nakukuha namin
    , at para sa isang 3% na error ( =0.03) nakuha na natin
    .

    Para sa iba pang mga paunang kundisyon ng modelo, isang bagong serye ng mga pag-uulit ng mga eksperimento ang dapat isagawa sa ibang pseudo-random na pagkakasunud-sunod. Samakatuwid, ang alinman sa pseudo-random na sequence generation function ay dapat mayroong parameter na nagbabago nito (halimbawa, R 0 ), o ang haba nito ay dapat na hindi bababa sa:

    saan K - bilang ng mga paunang kundisyon (mga punto sa kurba na tinutukoy ng pamamaraang Monte Carlo), N - bilang ng mga pag-uulit ng eksperimento ng modelo sa ilalim ng ibinigay na mga paunang kondisyon, L - haba ng pseudorandom sequence.

    Pagkatapos ang bawat serye ng N isasagawa ang mga pag-uulit ng bawat eksperimento sa sarili nitong segment ng pseudo-random sequence.

      Reproducibility. Tulad ng nakasaad sa itaas, ito ay kanais-nais na magkaroon ng isang parameter na nagbabago sa henerasyon ng mga pseudo-random na numero. Kadalasan ito ay R 0 . Samakatuwid, ito ay napakahalaga na ang pagbabago 0 hindi nasira ang kalidad (ibig sabihin, mga istatistikal na parameter) ng random number generator.

      Magandang istatistikal na katangian. Ito ang pinaka mahalagang tagapagpahiwatig kalidad ng random number generator. Gayunpaman, hindi ito masusuri ng alinmang criterion o pagsubok, dahil Walang kinakailangan at sapat na pamantayan para sa randomness ng isang may hangganang pagkakasunod-sunod ng mga numero. Ang pinakamaraming masasabi tungkol sa isang pseudorandom na pagkakasunud-sunod ng mga numero ay ang "mukhang" random. Walang iisang istatistikal na pagsusulit ang maaasahang tagapagpahiwatig ng katumpakan. Sa pinakamababa, kinakailangang gumamit ng ilang mga pagsubok na sumasalamin sa pinakamahalagang aspeto ng kalidad ng generator ng random na numero, i.e. ang antas ng pagtatantya nito sa isang perpektong generator.

    Samakatuwid, bilang karagdagan sa pagsubok sa generator, napakahalaga na subukan ito gamit ang mga karaniwang problema na nagpapahintulot sa independiyenteng pagtatasa ng mga resulta sa pamamagitan ng analytical o numerical na pamamaraan.

    Masasabing ang ideya ng pagiging maaasahan ng mga pseudo-random na numero ay nilikha sa proseso ng paggamit ng mga ito, maingat na sinusuri ang mga resulta hangga't maaari.



     


    Basahin:



    Accounting para sa mga settlement na may badyet

    Accounting para sa mga settlement na may badyet

    Ang Account 68 sa accounting ay nagsisilbi upang mangolekta ng impormasyon tungkol sa mga ipinag-uutos na pagbabayad sa badyet, na ibinawas kapwa sa gastos ng negosyo at...

    Mga cheesecake mula sa cottage cheese sa isang kawali - mga klasikong recipe para sa malambot na cheesecake Mga cheesecake mula sa 500 g ng cottage cheese

    Mga cheesecake mula sa cottage cheese sa isang kawali - mga klasikong recipe para sa malambot na cheesecake Mga cheesecake mula sa 500 g ng cottage cheese

    Mga sangkap: (4 na servings) 500 gr. cottage cheese 1/2 tasa ng harina 1 itlog 3 tbsp. l. asukal 50 gr. mga pasas (opsyonal) kurot ng asin baking soda...

    Black pearl salad na may prun Black pearl salad na may prun

    Salad

    Magandang araw sa lahat ng nagsusumikap para sa pagkakaiba-iba sa kanilang pang-araw-araw na pagkain. Kung ikaw ay pagod na sa mga monotonous na pagkain at gusto mong masiyahan...

    Lecho na may mga recipe ng tomato paste

    Lecho na may mga recipe ng tomato paste

    Napakasarap na lecho na may tomato paste, tulad ng Bulgarian lecho, na inihanda para sa taglamig. Ito ay kung paano namin pinoproseso (at kumakain!) 1 bag ng mga sili sa aming pamilya. At sino ang gusto kong...

    feed-image RSS