rumah - Dinding kering
Penderia nombor rawak. Orang Rusia telah menghasilkan penjana nombor rawak biologi "pertama di dunia". Bagaimana dia bekerja? Apakah yang dilakukan oleh “Kod Keselamatan”?

Terdapat tiga asas yang berbeza cara yang berbeza mendapatkan nombor yang digunakan secara rawak: fizikal, jadual dan algoritma.

Percubaan pertama untuk mencipta penjana nombor rawak fizikal dipercayai bermula sejak 3500 SM. dan dikaitkan dengan permainan papan senet, hiburan sosial Mesir purba. Menurut pembinaan semula moden peraturan permainan, empat kayu rata, sebelahnya berwarna putih dan sebelah lagi hitam, digunakan untuk menentukan jumlah mata yang dijaringkan oleh setiap pemain dan susunan pergerakan dalam permainan ini. Kayu dibaling pada masa yang sama dan, bergantung pada gabungan warna yang jatuh, kemungkinan tambahan untuk pemain ditentukan. Pada awal abad ke-20. jujukan nombor rawak telah disimulasikan secara manual - dengan membaling syiling atau dadu, meletakkan bermain kad, rolet, mengeluarkan bola dari balang, dsb. Penderia fizikal (perkakasan) moden ialah peranti khas, menjana nombor rawak berdasarkan perubahan bunyi rawak asal semula jadi atau buatan (bunyi terma, kesan pukulan dalam tiub vakum, pereputan radioaktif, dsb.). Contohnya, kereta ERNIE 4 (peralatan penunjuk nombor rawak elektronik),

  • 1 Kadangkala, walaupun jarang, taburan yang ditentukan oleh jadual 0 1 ... 8 9 dianggap standard
  • 0.1 0.1 ... 0.1 0.1/ yang digunakan untuk menentukan nombor kemenangan dalam loteri bulanan British, sebagai sumber pembolehubah rawak menggunakan bunyi terma transistor. Kaedah fizikal untuk mendapatkan jujukan nombor rawak mempunyai ciri-ciri yang menjadi kelemahan untuk model simulasi. Ini termasuk, pertama sekali, keperluan untuk langkah-langkah khas untuk memastikan kestabilan sumber isyarat ditukar kepada nombor rawak, dan kemustahilan untuk menghasilkan semula urutan nombor rawak yang terhasil.

Jadual nombor rawak tidak mempunyai kelemahan ini. Mari kita terangkan apa yang dimaksudkan dengan jadual nombor rawak. Anggaplah kita telah melaksanakan N eksperimen bebas, hasilnya mereka memperoleh nombor rawak a, a 2, osdg. Menulis nombor ini (dalam susunan rupa dan dalam bentuk jadual segi empat tepat) akan memberikan apa yang dipanggil jadual nombor rawak. Ia digunakan seperti berikut. Semasa pengiraan, kita mungkin memerlukan sama ada digit rawak atau nombor rawak. Jika nombor rawak diperlukan, maka kita boleh mengambil sebarang nombor daripada jadual ini. Perkara yang sama berlaku untuk kes nombor rawak integer - untuk setiap digit anda boleh memilih mana-mana digit. Jika kita memerlukan nombor rawak 0 k daripada digit seterusnya сс, dan 2 , ос/, dan andaikan bahawa 8 = (Hoco^.-.o^. Dalam kes ini, dalam kes jadual "ideal" digit rawak , kita boleh memilih digit daripadanya secara rawak, mungkin berturut-turut, anda boleh menggunakan mana-mana algoritma pemilihan yang tidak bergantung pada nilai nombor jadual, bermula dari mana-mana tempat dalam jadual, baca ke mana-mana arah.

Jadual pertama nombor rawak diperoleh menggunakan rolet. Jadual sedemikian telah diterbitkan beberapa kali dalam bentuk buku. Salah satu jadual paling terkenal, diterbitkan pada tahun 1927, mengandungi lebih 40,000 nombor rawak "diambil secara rawak daripada laporan banci."

Rujukan sejarah

Leonard Tippett (Leonard Henry Caleb Tippett, 1902-1985) - Ahli statistik Inggeris, pelajar K. Pearson dan R. Fisher. Pada tahun 1965-1966 - Presiden Persatuan Statistik Diraja. Beberapa keputusan penting dalam teori nilai ekstrem dikaitkan dengan namanya, contohnya taburan Fisher-Tippett dan teorem Fisher-Tippett-Gnedenko.

Kemudian, peranti khas (mesin) telah direka bentuk yang menghasilkan nombor rawak secara mekanikal. Mesin pertama sedemikian digunakan pada tahun 1939 oleh M. J. Kendall dan B. Babington-Smith untuk mencipta jadual yang mengandungi 100 ribu digit rawak. Pada tahun 1955 syarikat itu Perbadanan RAND menerbitkan jadual terkenal yang mengandungi sejuta digit rawak yang diperoleh oleh mesin lain jenis ini. Penggunaan praktikal jadual nombor rawak pada masa ini terhad, sebagai peraturan, kepada masalah di mana kaedah pemilihan rawak digunakan

sampel, contohnya, dalam kajian sosiologi atau semasa menjalankan kawalan penerimaan statistik terhadap kualiti produk sekeping untuk pelbagai tujuan.

Ini menarik

Di Rusia, GOST 18321-73 (ST SEV 1934-79) berkuat kuasa, menetapkan peraturan untuk memilih unit produk untuk pensampelan semasa menjalankan kawalan kualiti penerimaan statistik, kaedah analisis dan peraturan statistik proses teknologi untuk semua jenis produk sekeping untuk tujuan industri dan teknikal serta barangan pengguna. Ia menyatakan, khususnya, bahawa apabila memilih unit produk untuk sampel, "jadual nombor rawak digunakan mengikut ST SEV 546-77."

memohon berulang kali; semua nombor mudah untuk menghasilkan semula; dan bekalan nombor dalam urutan sedemikian adalah terhad. Walau bagaimanapun, urutan nombor pseudorandom mempunyai kelebihan yang jelas berbanding jadual: terdapat formula mudah untuk mengira nombor pseudorandom, manakala hanya 3-5 arahan dibelanjakan untuk mendapatkan setiap nombor, dan program pengiraan mengambil hanya beberapa sel dalam memandu.

Terdapat banyak algoritma untuk mendapatkan urutan nombor pseudorandom pelaksanaan algoritma sedemikian, yang dipanggil sensor (penjana) nombor pseudorandom, diterangkan secara terperinci dalam literatur khusus. Mari kita tunjukkan beberapa algoritma yang paling terkenal.

  • Tippett L. Nombor persampelan rawak. London: Cambridge University Press, 1927.
  • Lihat: Knuth D.E. The Art of Programming. ed ke-3. M.: Williams, 2000. T. 2. Ch. 3.Nombor rawak.

19/09/2017, Sel, 13:18, waktu Moscow , Teks: Valeria Shmyrova

Syarikat Kod Keselamatan, pemaju kompleks kriptografi Benua, menerima paten untuk penderia nombor rawak biologi. Ini adalah tepat penderia biologi, kerana rawak adalah berdasarkan reaksi pengguna terhadap imej yang ditunjukkan kepadanya. Syarikat itu memberi jaminan bahawa teknologi sedemikian belum dipatenkan di dunia sebelum ini.

Mendapatkan paten

Syarikat Kod Keselamatan menerima paten untuk teknologi penderia nombor rawak biologi. Menurut pemaju, apabila mencipta teknologi, "pendekatan baru untuk menyelesaikan masalah menjana nombor rawak menggunakan komputer dan seseorang" telah digunakan. Pembangunan ini telah digunakan dalam beberapa produk, termasuk Continent-AP, Secret Net Studio, Continent TLS dan Jinn, serta dalam perpustakaan kriptografi SCrypt.

Seperti yang dijelaskan oleh wakil syarikat kepada CNews, kerja pada sensor telah berjalan selama tiga tahun sekarang. Ia terdiri daripada bahagian saintifik, bahagian pelaksanaan dan bahagian eksperimen. Tiga orang bertanggungjawab untuk bahagian saintifik syarikat itu; seluruh pasukan pengaturcara mengambil bahagian dalam pembangunan, dan ujian dan eksperimen telah dijalankan oleh seluruh pasukan, yang berjumlah beberapa ratus orang.

Keupayaan teknologi

Penderia baharu boleh menjana urutan rawak pada peranti peribadi - tiada peranti tambahan atau alat tambah perkakasan diperlukan. Ia boleh digunakan dalam penyulitan data dan di mana-mana kawasan di mana terdapat keperluan untuk urutan binari rawak. Menurut pembangun, dengan bantuannya, kunci penyulitan dibuat dengan lebih pantas peranti mudah alih. Sifat ini boleh digunakan untuk menyulitkan data atau menjana Tandatangan elektronik.

Seperti yang dijelaskan Alisa Koreneva, penganalisis sistem "Kod Keselamatan", sensor syarikat menjana urutan rawak berdasarkan kelajuan dan ketepatan tindak balas tangan pengguna terhadap perubahan dalam imej pada skrin PC atau tablet. Tetikus atau skrin sentuh digunakan untuk input. Ia kelihatan seperti ini: bulatan bergerak secara huru-hara merentasi skrin, beberapa parameternya berubah dari semasa ke semasa. Pada masa tertentu pengguna bertindak balas terhadap perubahan dalam imej. Dengan mengambil kira keunikan kemahiran motornya, ini ditunjukkan dalam jisim bit rawak.

Anda boleh menjana urutan nombor rawak berdasarkan tindak balas manusia secara spontan

Di luar kriptografi, sensor boleh digunakan untuk menjana nombor rawak masuk permainan komputer atau untuk memilih pemenang pertandingan.

Kebaharuan saintifik

Seperti yang dijelaskan oleh syarikat kepada CNews, ramai kaedah yang diketahui pembinaan penderia nombor rawak terletak sama ada undang-undang fizikal dan fenomena, atau algoritma deterministik. Urutan boleh dijana menggunakan komputer - dalam kes ini, ketidakstabilan beberapa bahagian komputer dan ketidakpastian gangguan perkakasan diambil sebagai asas untuk rawak.

Kebaharuan teknologi Kod Keselamatan terletak pada fakta bahawa sumber rawak ialah reaksi seseorang terhadap imej yang berubah-ubah yang dipaparkan pada paparan peranti. Itulah sebabnya nama ciptaan itu mengandungi perkataan "biologi". Syarikat itu melaporkan bahawa ia mahupun Rospatent tidak menemui analog teknologi yang dipatenkan di Rusia atau di dunia. Walau bagaimanapun, secara umum teknik sedemikian diketahui: sebagai contoh, urutan boleh dijana berdasarkan tindakan pengguna seperti klik atau pergerakan tetikus atau ketukan kekunci pada papan kekunci.

Menurut Koreneva, pasukan pembangunan menganalisis cara yang berbeza menghasilkan urutan rawak. Ternyata, dalam banyak kes, tiada anggaran yang munasabah bagi prestasi penjanaan, atau sifat statistik bagi jujukan yang dijana, atau kedua-duanya. Ini disebabkan oleh kesukaran untuk mewajarkan teknologi yang telah dicipta. Kod Keselamatan mendakwa bahawa penyelidikannya telah menghasilkan anggaran yang munasabah bagi kadar penjanaan, dapat mewajarkan ciri-ciri kebarangkalian dan sifat statistik yang baik, dan telah menganggarkan entropi yang disumbangkan oleh tindakan manusia.

Produk yang menggunakan teknologi

"Benua" ialah kompleks perkakasan dan perisian yang direka untuk penyulitan data. Digunakan dalam sektor awam Rusia, sebagai contoh, dalam Perbendaharaan. Terdiri daripada tembok api dan alatan untuk mencipta VPN. Ia dicipta oleh syarikat NIP Informzashita, dan kini sedang dibangunkan oleh Security Code LLC.

Khususnya, pelayan capaian "Benua" dan sistem perlindungan kriptografi maklumat "Benua-AP" ialah modul untuk capaian jauh selamat menggunakan algoritma GOST, dan "VPN TLS Benua" ialah sistem untuk menyediakan akses jauh selamat kepada aplikasi web juga menggunakan GOST algoritma penyulitan.

Secret Net Studio ialah penyelesaian menyeluruh untuk melindungi stesen kerja dan pelayan pada data, aplikasi, peringkat rangkaian, sistem operasi dan peralatan persisian, yang turut membangunkan "Kod Keselamatan". Jinn-Client direka bentuk untuk perlindungan maklumat kriptografi untuk mencipta tandatangan elektronik dan visualisasi dokumen yang dipercayai, dan Jinn-Server ialah kompleks perisian dan perkakasan untuk membina sistem pengurusan dokumen elektronik yang penting dari segi undang-undang.

Pustaka kriptografi SCrypt, yang turut menggunakan sensor baharu, telah dibangunkan oleh Kod Keselamatan untuk memudahkan penggunaan algoritma kriptografi dalam pelbagai produk. Ini ialah kod program tunggal yang telah disemak untuk ralat. Perpustakaan menyokong pencincangan kriptografi, tandatangan elektronik dan algoritma penyulitan.

Apakah yang dilakukan oleh “Kod Keselamatan”?

"Kod keselamatan" - syarikat Rusia, yang membangunkan perisian dan perkakasan. Ia diasaskan pada tahun 2008. Skop produk adalah perlindungan sistem maklumat dan membawanya kepada pematuhan piawaian antarabangsa dan industri, termasuk perlindungan maklumat sulit, termasuk rahsia negara. "Kod Keselamatan" mempunyai sembilan lesen Perkhidmatan persekutuan untuk Kawalan Teknikal dan Eksport (FSTEC) Rusia, Perkhidmatan Keselamatan Persekutuan (FSB) Rusia dan Kementerian Pertahanan.

Kakitangan syarikat terdiri daripada kira-kira 300 pakar yang dijual oleh 900 rakan kongsi sah di semua wilayah Rusia dan negara-negara CIS. Pangkalan pelanggan"Kod Keselamatan" merangkumi kira-kira 32 ribu organisasi kerajaan dan komersial.

PRNG yang menentukan

Tiada algoritma deterministik boleh menjana nombor rawak sepenuhnya, ia hanya boleh menganggarkan beberapa sifat nombor rawak. Seperti yang dikatakan oleh John von Neumann, " sesiapa yang mempunyai kelemahan untuk kaedah aritmetik untuk mendapatkan nombor rawak adalah berdosa tanpa sebarang keraguan».

Mana-mana PRNG dengan sumber terhad lambat laun berjalan dalam kitaran - ia mula mengulangi urutan nombor yang sama. Panjang kitaran PRNG bergantung kepada penjana itu sendiri dan purata kira-kira 2n/2, di mana n ialah saiz keadaan dalaman dalam bit, walaupun penjana kongruen linear dan LFSR mempunyai kitaran maksimum tertib 2n. Jika PRNG boleh menumpu kepada kitaran yang terlalu pendek, PRNG menjadi boleh diramal dan tidak boleh digunakan.

Kebanyakan penjana aritmetik mudah, walaupun sangat pantas, mengalami banyak kelemahan yang serius:

  • Tempoh/tempoh terlalu singkat.
  • Nilai berturut-turut tidak bebas.
  • Sesetengah bit adalah "kurang rawak" daripada yang lain.
  • Taburan satu dimensi tidak sekata.
  • Kebolehbalikan.

Khususnya, algoritma kerangka utama ternyata sangat lemah, yang menimbulkan keraguan tentang kesahihan hasil banyak kajian yang menggunakan algoritma ini.

PRNG dengan sumber entropi atau RNG

Sama seperti terdapat keperluan untuk menjana urutan nombor rawak yang boleh diulang dengan mudah, terdapat juga keperluan untuk menjana nombor yang tidak dapat diramalkan atau hanya rawak sepenuhnya. Penjana sedemikian dipanggil penjana nombor rawak(RNG - Inggeris) penjana nombor rawak, RNG). Oleh kerana penjana sedemikian paling kerap digunakan untuk menjana kunci simetri dan asimetri yang unik untuk penyulitan, ia paling kerap dibina daripada gabungan PRNG kriptografi dan sumber luar entropi (dan kombinasi inilah yang kini biasanya difahami sebagai RNG).

Hampir semua pengeluar cip utama membekalkan RNG perkakasan dengan pelbagai sumber entropi menggunakan pelbagai kaedah untuk membersihkan mereka daripada kebolehramalan yang tidak dapat dielakkan. Walau bagaimanapun, pada masa ini, kelajuan di mana nombor rawak dikumpul oleh semua mikrocip sedia ada (beberapa ribu bit sesaat) tidak sepadan dengan kelajuan pemproses moden.

Dalam komputer peribadi, pengarang perisian RNG menggunakan sumber entropi yang lebih pantas, seperti bunyi kad bunyi atau kaunter kitaran jam pemproses. Sebelum menjadi mungkin untuk membaca nilai pembilang jam, pengumpulan entropi adalah titik paling terdedah bagi RNG. Masalah ini masih belum diselesaikan sepenuhnya dalam banyak peranti (cth kad pintar), yang dengan itu kekal terdedah. Banyak RNG masih menggunakan kaedah tradisional (lapuk) untuk mengumpul entropi, seperti mengukur tindak balas pengguna (pergerakan tetikus, dll.), seperti dalam, sebagai contoh, atau interaksi antara benang, seperti dalam rawak selamat Java.

Contoh sumber RNG dan entropi

Beberapa contoh RNG dengan sumber dan penjana entropinya:

Sumber entropi PRNG Kelebihan Kecacatan
/dev/random pada Linux Kaunter jam CPU, bagaimanapun hanya dikumpulkan semasa gangguan perkakasan LFSR, dengan output dicincang melaluiIa "panas" untuk masa yang sangat lama, boleh "terperangkap" untuk masa yang lama, atau berfungsi seperti PRNG ( /dev/urandom)
Yarrow oleh Bruce Schneier Kaedah tradisional (lapuk). AES-256 danReka bentuk tahan kripto yang fleksibel Mengambil masa yang lama untuk "memanaskan", keadaan dalaman yang sangat kecil, bergantung terlalu banyak pada kekuatan kriptografi algoritma yang dipilih, perlahan, terpakai secara eksklusif untuk penjanaan kunci
Penjana oleh Leonid Yuryev Bunyi kad bunyi ? Kemungkinan besar sumber entropi yang baik dan pantas Tiada PRNG bebas kripto yang terkenal, tersedia secara eksklusif sebagai Windows
Microsoft Dibina dalam Windows, tidak tersekat Keadaan dalaman yang kecil, mudah diramal
Komunikasi antara benang Belum ada pilihan lain di Jawa, terdapat keadaan dalaman yang besar Pengumpulan entropi perlahan
Kekacauan oleh Ruptor Kaunter jam pemproses, dikumpul secara berterusan Hashing keadaan dalaman 4096-bit berdasarkan varian bukan linear penjana Marsaglia Sehingga yang paling cepat, keadaan dalaman yang besar, "terperangkap"
RRAND daripada Ruptor Kaunter kitaran CPU Menyulitkan keadaan dalaman dengan sifir strimSangat pantas, keadaan dalaman saiz sewenang-wenangnya untuk dipilih, tiada "terperangkap"

PRNG dalam kriptografi

Sejenis PRNG ialah PRBG - penjana bit pseudo-rawak, serta pelbagai sifir aliran. PRNG, seperti sifir aliran, terdiri daripada keadaan dalaman (biasanya bersaiz dari 16 bit hingga beberapa megabait), fungsi untuk memulakan keadaan dalaman dengan kunci atau benih(Bahasa Inggeris) benih), fungsi kemas kini keadaan dalaman dan fungsi output. PRNG dibahagikan kepada aritmetik mudah, kriptografi rosak dan kriptografi kuat. Tujuan umum mereka adalah untuk menghasilkan urutan nombor yang tidak boleh dibezakan daripada rawak dengan kaedah pengiraan.

Walaupun banyak PRNG atau sifir strim yang kuat menawarkan lebih banyak nombor "rawak", penjana sedemikian jauh lebih perlahan daripada penjana aritmetik konvensional dan mungkin tidak sesuai untuk sebarang jenis penyelidikan yang memerlukan pemproses bebas untuk pengiraan yang lebih berguna.

Untuk tujuan ketenteraan dan dalam keadaan lapangan, hanya PRNG kuat kriptografi segerak rahsia (sifir strim) tidak digunakan; Contoh PRNG kuat kripto yang terkenal ialah ISAAC, SEAL, Snow, algoritma teori Bloom, Bloom dan Shub yang sangat perlahan, serta pembilang dengan fungsi cincang kriptografi atau sifir blok yang kuat dan bukannya fungsi output.

PRNG perkakasan

Selain daripada warisan, penjana LFSR terkenal yang digunakan secara meluas sebagai PRNG perkakasan pada abad ke-20, malangnya, sangat sedikit yang diketahui tentang PRNG perkakasan moden (sifir aliran), kerana kebanyakannya dibangunkan untuk tujuan ketenteraan dan dirahsiakan. . Hampir semua PRNG perkakasan komersial sedia ada dipatenkan dan juga dirahsiakan. PRNG perkakasan dihadkan oleh keperluan ketat untuk ingatan boleh guna (kebiasaannya penggunaan memori adalah dilarang), kelajuan (1-2 kitaran jam) dan kawasan (beberapa ratus FPGA - atau

Disebabkan kekurangan PRNG perkakasan yang baik, pengeluar terpaksa menggunakan sifir blok yang jauh lebih perlahan, tetapi terkenal yang tersedia di tangan (Computer Review No. 29 (2003)

  • Yuri Lifshits. Kursus "Masalah moden kriptografi" Kuliah 9: Penjana pseudorandom
  • L. Barash. Algoritma AKS untuk menyemak nombor untuk primaliti dan mencari pemalar penjana nombor pseudorandom
  • Zhelnikov Vladimir. Urutan nombor pseudorandom // Kriptografi dari papirus ke komputer M.: ABF, 1996.
  • random.org (Bahasa Inggeris) - perkhidmatan dalam talian untuk menjana nombor rawak
  • Nombor Rawak Kriptografi
  • Teori dan Amalan Penjanaan Nombor Rawak
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analisis Penjana Nombor Rawak Linux
  • Suite Ujian Statistik untuk Penjana Nombor Rawak dan Pseudorandom untuk Aplikasi Kriptografi NIST SP 800-22
  • PRNG yang menentukan

    Tiada algoritma deterministik boleh menjana nombor rawak sepenuhnya, ia hanya boleh menganggarkan beberapa sifat nombor rawak. Seperti yang dikatakan oleh John von Neumann, " sesiapa yang mempunyai kelemahan untuk kaedah aritmetik untuk mendapatkan nombor rawak adalah berdosa tanpa sebarang keraguan».

    Mana-mana PRNG dengan sumber terhad lambat laun berjalan dalam kitaran - ia mula mengulangi urutan nombor yang sama. Panjang kitaran PRNG bergantung kepada penjana itu sendiri dan purata kira-kira 2n/2, di mana n ialah saiz keadaan dalaman dalam bit, walaupun penjana kongruen linear dan LFSR mempunyai kitaran maksimum tertib 2n. Jika PRNG boleh menumpu kepada kitaran yang terlalu pendek, PRNG menjadi boleh diramal dan tidak boleh digunakan.

    Kebanyakan penjana aritmetik mudah, walaupun sangat pantas, mengalami banyak kelemahan yang serius:

    • Tempoh/tempoh terlalu singkat.
    • Nilai berturut-turut tidak bebas.
    • Sesetengah bit adalah "kurang rawak" daripada yang lain.
    • Taburan satu dimensi tidak sekata.
    • Kebolehbalikan.

    Khususnya, algoritma kerangka utama ternyata sangat lemah, yang menimbulkan keraguan tentang kesahihan hasil banyak kajian yang menggunakan algoritma ini.

    PRNG dengan sumber entropi atau RNG

    Sama seperti terdapat keperluan untuk menjana urutan nombor rawak yang boleh diulang dengan mudah, terdapat juga keperluan untuk menjana nombor yang tidak dapat diramalkan atau hanya rawak sepenuhnya. Penjana sedemikian dipanggil penjana nombor rawak(RNG - Inggeris) penjana nombor rawak, RNG). Memandangkan penjana sedemikian paling kerap digunakan untuk menjana kunci simetri dan asimetri yang unik untuk penyulitan, ia paling kerap dibina daripada gabungan PRNG yang kuat secara kriptografi dan sumber luar entropi (dan kombinasi inilah yang kini biasanya difahami sebagai RNG).

    Hampir semua pengeluar cip utama membekalkan RNG perkakasan dengan pelbagai sumber entropi, menggunakan pelbagai kaedah untuk membersihkannya daripada kebolehramalan yang tidak dapat dielakkan. Walau bagaimanapun, pada masa ini, kelajuan di mana nombor rawak dikumpul oleh semua mikrocip sedia ada (beberapa ribu bit sesaat) tidak sepadan dengan kelajuan pemproses moden.

    Dalam komputer peribadi, pengarang perisian RNG menggunakan sumber entropi yang lebih pantas, seperti bunyi kad bunyi atau kaunter kitaran jam pemproses. Sebelum menjadi mungkin untuk membaca nilai pembilang jam, pengumpulan entropi adalah titik paling terdedah bagi RNG. Masalah ini masih belum diselesaikan sepenuhnya dalam banyak peranti (cth kad pintar), yang dengan itu kekal terdedah. Banyak RNG masih menggunakan kaedah tradisional (lapuk) untuk mengumpul entropi, seperti mengukur tindak balas pengguna (pergerakan tetikus, dll.), seperti dalam, sebagai contoh, atau interaksi antara benang, seperti dalam rawak selamat Java.

    Contoh sumber RNG dan entropi

    Beberapa contoh RNG dengan sumber dan penjana entropinya:

    Sumber entropi PRNG Kelebihan Kecacatan
    /dev/random pada Linux Kaunter jam CPU, bagaimanapun hanya dikumpulkan semasa gangguan perkakasan LFSR, dengan output dicincang melaluiIa "panas" untuk masa yang sangat lama, boleh "terperangkap" untuk masa yang lama, atau berfungsi seperti PRNG ( /dev/urandom)
    Yarrow oleh Bruce Schneier Kaedah tradisional (lapuk). AES-256 danReka bentuk tahan kripto yang fleksibel Mengambil masa yang lama untuk "memanaskan", keadaan dalaman yang sangat kecil, bergantung terlalu banyak pada kekuatan kriptografi algoritma yang dipilih, perlahan, terpakai secara eksklusif untuk penjanaan kunci
    Penjana oleh Leonid Yuryev Bunyi kad bunyi ? Kemungkinan besar sumber entropi yang baik dan pantas Tiada PRNG bebas kripto yang terkenal, tersedia secara eksklusif sebagai Windows
    Microsoft Dibina dalam Windows, tidak tersekat Keadaan dalaman yang kecil, mudah diramal
    Komunikasi antara benang Belum ada pilihan lain di Jawa, terdapat keadaan dalaman yang besar Pengumpulan entropi perlahan
    Kekacauan oleh Ruptor Kaunter jam pemproses, dikumpul secara berterusan Hashing keadaan dalaman 4096-bit berdasarkan varian bukan linear penjana Marsaglia Sehingga yang paling cepat, keadaan dalaman yang besar, "terperangkap"
    RRAND daripada Ruptor Kaunter kitaran CPU Menyulitkan keadaan dalaman dengan sifir strimSangat pantas, keadaan dalaman saiz sewenang-wenangnya untuk dipilih, tiada "terperangkap"

    PRNG dalam kriptografi

    Sejenis PRNG ialah PRBG - penjana bit pseudo-rawak, serta pelbagai sifir aliran. PRNG, seperti sifir aliran, terdiri daripada keadaan dalaman (biasanya bersaiz dari 16 bit hingga beberapa megabait), fungsi untuk memulakan keadaan dalaman dengan kunci atau benih(Bahasa Inggeris) benih), fungsi kemas kini keadaan dalaman dan fungsi output. PRNG dibahagikan kepada aritmetik mudah, kriptografi rosak dan kriptografi kuat. Tujuan umum mereka adalah untuk menghasilkan urutan nombor yang tidak boleh dibezakan daripada rawak dengan kaedah pengiraan.

    Walaupun banyak PRNG atau sifir strim yang kuat menawarkan lebih banyak nombor "rawak", penjana sedemikian jauh lebih perlahan daripada penjana aritmetik konvensional dan mungkin tidak sesuai untuk sebarang jenis penyelidikan yang memerlukan pemproses bebas untuk pengiraan yang lebih berguna.

    Untuk tujuan ketenteraan dan dalam keadaan lapangan, hanya PRNG kuat kriptografi segerak rahsia (sifir strim) tidak digunakan; Contoh PRNG kuat kripto yang terkenal ialah ISAAC, SEAL, Snow, algoritma teori Bloom, Bloom dan Shub yang sangat perlahan, serta pembilang dengan fungsi cincang kriptografi atau sifir blok yang kuat dan bukannya fungsi output.

    PRNG perkakasan

    Selain daripada warisan, penjana LFSR terkenal yang digunakan secara meluas sebagai PRNG perkakasan pada abad ke-20, malangnya, sangat sedikit yang diketahui tentang PRNG perkakasan moden (sifir aliran), kerana kebanyakannya dibangunkan untuk tujuan ketenteraan dan dirahsiakan. . Hampir semua PRNG perkakasan komersial sedia ada dipatenkan dan juga dirahsiakan. PRNG perkakasan dihadkan oleh keperluan ketat untuk ingatan boleh guna (kebiasaannya penggunaan memori adalah dilarang), kelajuan (1-2 kitaran jam) dan kawasan (beberapa ratus FPGA - atau

    Disebabkan kekurangan PRNG perkakasan yang baik, pengeluar terpaksa menggunakan sifir blok yang jauh lebih perlahan, tetapi terkenal yang tersedia di tangan (Computer Review No. 29 (2003)

  • Yuri Lifshits. Kursus "Masalah moden kriptografi" Kuliah 9: Penjana pseudorandom
  • L. Barash. Algoritma AKS untuk menyemak nombor untuk primaliti dan mencari pemalar penjana nombor pseudorandom
  • Zhelnikov Vladimir. Urutan nombor pseudorandom // Kriptografi dari papirus ke komputer M.: ABF, 1996.
  • random.org (Bahasa Inggeris) - perkhidmatan dalam talian untuk menjana nombor rawak
  • Nombor Rawak Kriptografi
  • Teori dan Amalan Penjanaan Nombor Rawak
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Analisis Penjana Nombor Rawak Linux
  • Suite Ujian Statistik untuk Penjana Nombor Rawak dan Pseudorandom untuk Aplikasi Kriptografi NIST SP 800-22
  • Perisian hampir semua komputer mempunyai fungsi terbina dalam untuk menjana urutan nombor pseudo-rawak separa seragam. Walau bagaimanapun, untuk pemodelan statistik, peningkatan keperluan diletakkan pada penjanaan nombor rawak. Kualiti hasil pemodelan sedemikian secara langsung bergantung pada kualiti penjana nombor rawak yang diedarkan secara seragam, kerana nombor ini juga merupakan sumber (data awal) untuk mendapatkan pembolehubah rawak lain dengan undang-undang taburan yang diberikan.

    Malangnya, penjana yang ideal tidak wujud, dan senarai sifat mereka yang diketahui diisi semula dengan senarai kelemahan. Ini membawa kepada risiko menggunakan penjana yang buruk dalam percubaan komputer. Oleh itu, sebelum menjalankan eksperimen komputer, adalah perlu sama ada menilai kualiti fungsi penjanaan nombor rawak yang dibina ke dalam komputer, atau memilih algoritma penjanaan nombor rawak yang sesuai.

    Untuk digunakan dalam fizik pengiraan, penjana mesti mempunyai sifat berikut:

      Kecekapan pengiraan ialah masa pengiraan yang paling singkat untuk kitaran seterusnya dan jumlah memori untuk menjalankan penjana.

      Panjang besar L urutan nombor rawak. Tempoh ini mesti termasuk sekurang-kurangnya set nombor rawak yang diperlukan untuk eksperimen statistik. Di samping itu, walaupun menghampiri penghujung L menimbulkan bahaya, yang boleh membawa kepada keputusan yang salah bagi eksperimen statistik.

    Kriteria untuk panjang yang mencukupi bagi urutan pseudorandom dipilih daripada pertimbangan berikut. Kaedah Monte Carlo terdiri daripada pengiraan berulang bagi parameter keluaran sistem simulasi di bawah pengaruh parameter input yang turun naik dengan undang-undang pengedaran yang diberikan. Asas untuk melaksanakan kaedah tersebut ialah penjanaan nombor rawak dengan seragam taburan dalam selang dari mana nombor rawak dengan undang-undang taburan tertentu terbentuk. Seterusnya, kebarangkalian kejadian simulasi dikira sebagai nisbah bilangan ulangan eksperimen model dengan hasil yang berjaya kepada bilangan jumlah ulangan eksperimen di bawah keadaan awal (parameter) model yang diberikan.

    Untuk pengiraan kebarangkalian ini yang boleh dipercayai, dalam erti kata statistik, bilangan ulangan eksperimen boleh dianggarkan menggunakan formula:

    di mana
    - fungsi songsang kepada fungsi taburan normal, - keyakinan kebarangkalian kesilapan Pengukuran kebarangkalian.

    Oleh itu, agar kesilapan tidak melampaui selang keyakinan dengan kebarangkalian keyakinan, contohnya =0.95 adalah perlu bahawa bilangan ulangan eksperimen tidak kurang daripada:

    (2.2)

    Sebagai contoh, untuk ralat 10% ( =0.1) kita dapat
    , dan untuk ralat 3% ( =0.03) kita sudah dapat
    .

    Untuk keadaan awal model yang lain, satu siri pengulangan eksperimen baharu harus dijalankan pada urutan pseudo-rawak yang berbeza. Oleh itu, sama ada fungsi penjanaan jujukan pseudo-rawak mesti mempunyai parameter yang mengubahnya (contohnya, R 0 ), atau panjangnya mestilah sekurang-kurangnya:

    di mana K - bilangan keadaan awal (titik pada lengkung ditentukan oleh kaedah Monte Carlo), N - bilangan ulangan eksperimen model di bawah keadaan awal yang diberikan, L - panjang jujukan pseudorandom.

    Kemudian setiap siri N ulangan setiap eksperimen akan dijalankan pada segmennya sendiri bagi urutan pseudo-rawak.

      Kebolehulangan. Seperti yang dinyatakan di atas, adalah wajar untuk mempunyai parameter yang mengubah penjanaan nombor pseudo-rawak. Biasanya ini adalah R 0 . Oleh itu, adalah sangat penting bahawa perubahan 0 tidak merosakkan kualiti (iaitu parameter statistik) penjana nombor rawak.

      Sifat statistik yang baik. Ini yang paling banyak penunjuk penting kualiti penjana nombor rawak. Walau bagaimanapun, ia tidak boleh dinilai oleh mana-mana satu kriteria atau ujian, kerana Tiada kriteria yang diperlukan dan mencukupi untuk rawak urutan nombor terhingga. Perkara yang paling boleh dikatakan tentang urutan nombor pseudo-rawak ialah ia "kelihatan" rawak. Tiada ujian statistik tunggal adalah penunjuk ketepatan yang boleh dipercayai. Sekurang-kurangnya, perlu menggunakan beberapa ujian yang mencerminkan aspek terpenting kualiti penjana nombor rawak, i.e. tahap penghampirannya kepada penjana yang ideal.

    Oleh itu, sebagai tambahan kepada menguji penjana, adalah sangat penting untuk menyemaknya menggunakan masalah standard yang membolehkan penilaian bebas keputusan melalui kaedah analitik atau berangka.

    Boleh dikatakan bahawa idea tentang kebolehpercayaan nombor pseudo-rawak dicipta dalam proses menggunakannya, dengan berhati-hati menyemak keputusan apabila mungkin.



     


    Baca:



    Perakaunan untuk penyelesaian dengan belanjawan

    Perakaunan untuk penyelesaian dengan belanjawan

    Akaun 68 dalam perakaunan berfungsi untuk mengumpul maklumat mengenai pembayaran mandatori kepada belanjawan, ditolak kedua-duanya dengan mengorbankan perusahaan dan...

    Kek keju dari keju kotej dalam kuali - resipi klasik untuk kek keju gebu Kek keju dari 500 g keju kotej

    Kek keju dari keju kotej dalam kuali - resipi klasik untuk kek keju gebu Kek keju dari 500 g keju kotej

    Bahan-bahan: (4 hidangan) 500 gr. keju kotej 1/2 cawan tepung 1 telur 3 sudu besar. l. gula 50 gr. kismis (pilihan) secubit garam baking soda...

    Salad mutiara hitam dengan prun Salad mutiara hitam dengan prun

    salad

    Hari yang baik kepada semua mereka yang berusaha untuk variasi dalam diet harian mereka. Jika anda bosan dengan hidangan yang membosankan dan ingin menyenangkan...

    Lecho dengan resipi pes tomato

    Lecho dengan resipi pes tomato

    Lecho yang sangat lazat dengan pes tomato, seperti lecho Bulgaria, disediakan untuk musim sejuk. Beginilah cara kami memproses (dan makan!) 1 beg lada dalam keluarga kami. Dan siapa yang akan saya...

    imej suapan RSS