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

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

Adalah dipercayai bahawa percubaan pertama untuk mencipta penjana fizikal nombor rawak bermula pada 3500 SM. dan dikaitkan dengan permainan papan senet, hiburan sekular Mesir purba. Menurut pembinaan semula moden peraturan permainan, empat kayu rata digunakan untuk menentukan jumlah mata yang dijaringkan oleh setiap pemain dan urutan pergerakan dalam permainan ini, satu sisi berwarna putih, satu lagi - hitam. Kayu dibaling pada masa yang sama dan, bergantung pada gabungan warna yang jatuh, mereka menentukan peluang tambahan untuk pemain. Pada awal abad XX. jujukan nombor rawak disimulasikan secara manual - dengan membaling syiling atau dadu, meletakkan kad permainan, menggunakan roda rolet, mengeluarkan bola dari tempayan, dsb. Penderia fizikal (perkakasan) moden ialah peranti khas yang 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 diberikan oleh jadual dirujuk sebagai standard 0 1 ... 8 9
  • 0.1 0.1 ... 0.1 0.1 / dengan bantuan yang mana nombor kemenangan dalam Loteri British bulanan ditentukan, menggunakan bunyi terma transistor sebagai sumber pembolehubah rawak. Kaedah fizikal untuk mendapatkan jujukan nombor rawak mempunyai ciri-ciri yang merupakan kelemahan bagi model simulasi. Ini termasuk, pertama sekali, keperluan untuk langkah khas untuk memastikan kestabilan sumber isyarat, ditukar kepada nombor rawak, dan kemustahilan untuk menghasilkan semula urutan nombor rawak yang terhasil.

Jadual nombor rawak adalah bebas daripada kelemahan ini. Mari kita terangkan apa yang dimaksudkan dengan jadual nombor rawak. Katakan kita telah melaksanakan N eksperimen bebas, yang menghasilkan nombor rawak a, a 2, osdr. Menulis nombor ini (mengikut susunan penampilan 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 nombor rawak atau nombor rawak. Jika nombor rawak diperlukan, maka kita boleh mengambil sebarang nombor daripada jadual ini. Perkara yang sama berlaku untuk kes integer rawak - sebarang digit boleh dipilih untuk setiap digit. Jika kita memerlukan nombor rawak 0 k digit berturut-turut cc, a 2, ao /, dan andaikan bahawa 8 = (Hoco ^ .- boleh berturut-turut, anda boleh menggunakan mana-mana algoritma pemilihan yang tidak bergantung pada nilai daripada digit jadual, mulakan dari mana-mana 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 yang menjana nombor rawak secara mekanikal. Mesin pertama seperti itu digunakan pada tahun 1939 oleh M.J. Kendall dan B. Babington-Smith untuk mencipta jadual yang mengandungi 100,000 digit rawak. Pada tahun 1955 syarikat itu Perbadanan RAND menerbitkan jadual terkenal dengan sejuta digit rawak yang diperoleh oleh mesin lain jenis ini. Aplikasi praktikal jadual nombor rawak pada masa ini terhad, sebagai peraturan, kepada masalah yang menggunakan kaedah pemilihan rawak.

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

Memang menarik

Di Rusia, GOST 18321-73 (ST SEV 1934-79) berkuat kuasa, yang menetapkan peraturan untuk memilih unit produk dalam sampel semasa kawalan kualiti penerimaan statistik, kaedah analisis statistik dan peraturan proses teknologi untuk semua jenis bahagian. produk untuk tujuan perindustrian dan barangan pengguna. Di dalamnya, khususnya, ditunjukkan bahawa apabila memilih unit pengeluaran dalam sampel "jadual nombor rawak mengikut ST SEV 546-77 digunakan".

memohon semula; semua nombor mudah dihasilkan semula; dan bekalan nombor dalam urutan sedemikian adalah terhad. Walau bagaimanapun, urutan nombor pseudo-rawak mempunyai kelebihan yang jelas berbanding jadual: terdapat formula mudah untuk mengira nombor pseudo-rawak, manakala mendapatkan setiap nombor hanya memerlukan 3-5 arahan, dan program pengiraan mengambil hanya beberapa sel dalam pemanduan.

Terdapat banyak algoritma untuk mendapatkan jujukan nombor pseudo-rawak; pelaksanaan algoritma sedemikian, yang dipanggil sensor (penjana) nombor rawak pseudo, diterangkan secara terperinci dalam literatur khas. Berikut adalah beberapa algoritma yang paling terkenal.

  • Tippett L. Nombor persampelan rawak. London: Cambridge University Press, 1927.
  • Lihat: D.E. Knut, Seni Pengaturcaraan. 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 tidak dipatenkan di dunia sebelum ini.

Mendapatkan paten

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

Wakil syarikat menjelaskan kepada CNews bahawa kerja pada sensor itu telah berjalan untuk tahun ketiga. Ia terdiri daripada bahagian saintifik, pelaksanaan dan bahagian eksperimen. Tiga orang bertanggungjawab untuk bahagian saintifik syarikat, seluruh pasukan pengaturcara mengambil bahagian dalam pembangunan, dan ujian dan eksperimen telah dijalankan oleh seluruh pasukan, iaitu beberapa ratus orang.

Keupayaan teknologi

Penderia baharu boleh menjana urutan rawak pada peranti peribadi tanpa memerlukan instrumen tambahan atau alat tambah perkakasan. Ia boleh digunakan dalam penyulitan data dan di mana-mana kawasan di mana terdapat keperluan untuk urutan binari rawak. Menurut pembangun, ia mencipta kunci penyulitan dengan lebih pantas pada peranti mudah alih. Sifat ini boleh digunakan untuk menyulitkan data atau menjana tandatangan elektronik.

Seperti yang dijelaskan Alisa Koreneva, penganalisis sistem "Kod Keselamatan", penderia yang dicipta oleh syarikat menjana urutan rawak berdasarkan kelajuan dan ketepatan tindak balas tangan pengguna terhadap perubahan imej pada skrin PC atau tablet. Tetikus atau skrin sentuh digunakan untuk input. Ia kelihatan seperti ini: bulatan bergerak secara huru-hara pada skrin, beberapa parameternya berubah dari semasa ke semasa. Pada masa tertentu, pengguna bertindak balas terhadap perubahan dalam imej. Memandangkan kemahiran motornya, ini dicerminkan 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 dalam permainan komputer atau untuk memilih pemenang pertandingan.

Kebaharuan saintifik

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

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

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

Produk menggunakan teknologi

"Benua" ialah kompleks perisian perkakasan yang direka untuk penyulitan data. Digunakan dalam sektor awam Rusia, sebagai contoh, dalam Perbendaharaan. Terdiri daripada firewall dan kit alat penciptaan VPN. Ia dicipta oleh NIP "Informzashita", kini ia dibangunkan oleh "Kod Keselamatan" LLC.

Khususnya, pelayan akses Continent dan sistem penyulitan maklumat Continent-AP ialah modul capaian jauh yang selamat menggunakan algoritma GOST, dan Continent TLS VPN ialah sistem untuk menyediakan akses jauh selamat kepada aplikasi web menggunakan algoritma penyulitan GOST.

Secret Net Studio ialah penyelesaian komprehensif untuk melindungi stesen kerja dan pelayan di peringkat data, aplikasi, rangkaian, sistem pengendalian dan persisian, yang turut membangunkan "Kod Keselamatan". Jinn-Client direka bentuk untuk perlindungan kriptografi maklumat 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.

Perpustakaan kriptografi SCrypt, yang juga menggunakan sensor baharu, telah dibangunkan oleh "Kod Keselamatan" untuk memudahkan penggunaan algoritma kriptografi dalam pelbagai produk. Ia adalah satu kod program yang telah lulus semakan ralat. Perpustakaan ini menyokong algoritma kriptografi untuk pencincangan, tandatangan elektronik, penyulitan.

Perkara yang dilakukan oleh Kod Keselamatan

Kod Keselamatan ialah 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, sehingga rahsia negara. Kod Keselamatan memegang sembilan lesen daripada Perkhidmatan Persekutuan untuk Kawalan Teknikal dan Eksport (FSTEC) Rusia, Perkhidmatan Keselamatan Persekutuan (FSB) Rusia dan Kementerian Pertahanan.

Syarikat itu menggaji kira-kira 300 pakar; 900 rakan kongsi yang diberi kuasa di semua wilayah Rusia dan di negara-negara CIS terlibat dalam penjualan produk. Pangkalan pelanggan Kod Keselamatan berjumlah kira-kira 32 ribu organisasi kerajaan dan komersial.

PRNG deterministik

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 tanpa syak lagi berdosa».

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

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

  • Period / period 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 kebolehpercayaan hasil banyak kajian menggunakan algoritma ini.

PRNG dengan sumber entropi atau RNG

Seiring dengan keperluan sedia ada untuk menjana jujukan nombor rawak yang boleh dibuat semula dengan mudah, terdapat juga keperluan untuk menjana nombor yang tidak dapat diramalkan atau hanya rawak sepenuhnya. Penjana sedemikian dipanggil penjana nombor rawak(RNG - eng. 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 dan sumber luar entropi (dan gabungan inilah yang kini biasanya difahami sebagai RNG) .

Hampir semua pengeluar cip mikro utama membekalkan RNG perkakasan dengan sumber entropi yang berbeza, menggunakan kaedah berbeza untuk membersihkannya daripada kebolehramalan yang tidak dapat dielakkan. Walau bagaimanapun, pada masa ini kelajuan mengumpul nombor rawak 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 kiraan jam pemproses. Sebelum menjadi mungkin untuk membaca nilai kaunter jam, pengumpulan entropi adalah titik paling terdedah RNG. Masalah ini masih belum diselesaikan sepenuhnya dalam banyak peranti (cth kad pintar) yang masih terdedah dengan cara ini. Banyak RNG masih menggunakan kaedah tradisional (lapuk) untuk mengumpul entropi, seperti mengukur tindak balas pengguna (pergerakan tetikus, dll.), seperti, sebagai contoh, dalam, atau interaksi antara benang, seperti, sebagai contoh, dalam rawak selamat Java.

Contoh sumber RNG dan entropi

Beberapa contoh RNG dengan sumber dan penjana entropinya:

Sumber entropi PRNG Martabat keburukan
/ dev / rawak pada Linux Kaunter kitaran pemproses, tetapi hanya dikumpulkan semasa gangguan perkakasan LFSR, dengan pencincangan keluaran melaluiIa "panas" untuk masa yang sangat lama, ia boleh "terperangkap" untuk masa yang lama, atau ia berfungsi sebagai PRNG ( / dev / urandom)
Yarrow oleh Bruce Schneier Kaedah tradisional (tidak digunakan lagi). AES -256 danReka bentuk kriptografi yang fleksibel "Memanaskan" untuk masa yang lama, keadaan dalaman yang sangat kecil, bergantung terlalu banyak pada kekuatan kriptografi algoritma yang dipilih, perlahan, terpakai secara eksklusif untuk penjanaan kunci
Penjana Leonid Yuriev Bunyi kad bunyi ? Kemungkinan besar sumber entropi yang baik dan pantas Tiada bebas, dikenali sebagai PRNG yang kukuh dari segi kriptografi, tersedia secara eksklusif sebagai Windows
Microsoft Dibina dalam Windows, tidak "terperangkap" Keadaan dalaman yang kecil, mudah diramal
Interaksi antara benang Java tidak mempunyai pilihan lain lagi, keadaan dalaman yang besar Pengumpulan entropi perlahan
Kekacauan oleh Ruptor Kaunter kitaran pemproses, dikumpul secara berterusan Hashing keadaan dalaman 4096-bit berdasarkan varian tak linear penjana Marsaglia Sehingga yang terpantas, keadaan dalaman yang hebat, tidak "terjebak"
RRAND oleh Ruptor Kaunter kitaran pemproses Menyulitkan keadaan dalaman dengan sifir strimSangat cepat, keadaan dalaman saiz sewenang-wenangnya mengikut pilihan, tidak "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 daripada saiz 16 bit hingga beberapa megabait), fungsi untuk memulakan keadaan dalaman dengan kunci, atau benih(eng. benih), fungsi kemas kini keadaan dalaman dan fungsi output. PRNG dibahagikan kepada aritmetik mudah, kriptografi rosak dan kriptografi. Tujuan umum mereka adalah untuk menghasilkan urutan nombor yang tidak dapat dibezakan daripada nombor 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 di lapangan, hanya PRNG kuat kriptografi segerak terperingkat (sifir aliran) digunakan, sifir blok tidak digunakan. Contoh PRNG kuat kriptografi yang terkenal ialah ISAAC, SEAL, Snow, algoritma teori Blum, Blum dan Shub yang sangat perlahan, serta pembilang dengan fungsi cincang kriptografi atau sifir blok yang kuat secara kriptografi dan bukannya fungsi output.

PRNG perkakasan

Selain daripada penjana LFSR yang lapuk dan 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 direka untuk tujuan ketenteraan dan dirahsiakan. . Hampir semua PRNG perkakasan komersial sedia ada dipatenkan dan juga dirahsiakan. PRNG perkakasan dihadkan oleh keperluan ketat untuk memori yang digunakan (kebiasaannya penggunaan memori adalah dilarang), kelajuan (1-2 kitaran jam) dan kawasan (beberapa ratus FPGA - atau

Disebabkan kekurangan PRNG perkakasan yang baik, pengilang terpaksa menggunakan sifir blok yang lebih perlahan tetapi diketahui secara meluas yang tersedia di tangan (Computer Review # 29 (2003)

  • Yuri Lifshits. Kursus "Masalah moden kriptografi" Kuliah 9: Penjana pseudo-rawak
  • L. Barash. Algoritma AKS untuk menyemak nombor untuk kesederhanaan dan mencari pemalar untuk penjana nombor pseudo-rawak
  • Zhelnikov Vladimir. Urutan nombor pseudo-rawak // Kriptografi dari papirus ke komputer M .: ABF, 1996.
  • random.org (eng.) - perkhidmatan dalam talian untuk menjana nombor rawak
  • Nombor Rawak Kriptografi
  • Teori dan Amalan Penjanaan Nombor Rawak (eng.)
  • 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 deterministik

    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 tanpa syak lagi berdosa».

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

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

    • Period / period 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 kebolehpercayaan hasil banyak kajian menggunakan algoritma ini.

    PRNG dengan sumber entropi atau RNG

    Seiring dengan keperluan sedia ada untuk menjana jujukan nombor rawak yang boleh dibuat semula dengan mudah, terdapat juga keperluan untuk menjana nombor yang tidak dapat diramalkan atau hanya rawak sepenuhnya. Penjana sedemikian dipanggil penjana nombor rawak(RNG - eng. 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 dan sumber luar entropi (dan gabungan inilah yang kini biasanya difahami sebagai RNG) .

    Hampir semua pengeluar cip mikro utama membekalkan RNG perkakasan dengan sumber entropi yang berbeza, menggunakan kaedah berbeza untuk membersihkannya daripada kebolehramalan yang tidak dapat dielakkan. Walau bagaimanapun, pada masa ini kelajuan mengumpul nombor rawak 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 kiraan jam pemproses. Sebelum menjadi mungkin untuk membaca nilai kaunter jam, pengumpulan entropi adalah titik paling terdedah RNG. Masalah ini masih belum diselesaikan sepenuhnya dalam banyak peranti (cth kad pintar) yang masih terdedah dengan cara ini. Banyak RNG masih menggunakan kaedah tradisional (lapuk) untuk mengumpul entropi, seperti mengukur tindak balas pengguna (pergerakan tetikus, dll.), seperti, sebagai contoh, dalam, atau interaksi antara benang, seperti, sebagai contoh, dalam rawak selamat Java.

    Contoh sumber RNG dan entropi

    Beberapa contoh RNG dengan sumber dan penjana entropinya:

    Sumber entropi PRNG Martabat keburukan
    / dev / rawak pada Linux Kaunter kitaran pemproses, tetapi hanya dikumpulkan semasa gangguan perkakasan LFSR, dengan pencincangan keluaran melaluiIa "panas" untuk masa yang sangat lama, ia boleh "terperangkap" untuk masa yang lama, atau ia berfungsi sebagai PRNG ( / dev / urandom)
    Yarrow oleh Bruce Schneier Kaedah tradisional (tidak digunakan lagi). AES -256 danReka bentuk kriptografi yang fleksibel "Memanaskan" untuk masa yang lama, keadaan dalaman yang sangat kecil, bergantung terlalu banyak pada kekuatan kriptografi algoritma yang dipilih, perlahan, terpakai secara eksklusif untuk penjanaan kunci
    Penjana Leonid Yuriev Bunyi kad bunyi ? Kemungkinan besar sumber entropi yang baik dan pantas Tiada bebas, dikenali sebagai PRNG yang kukuh dari segi kriptografi, tersedia secara eksklusif sebagai Windows
    Microsoft Dibina dalam Windows, tidak "terperangkap" Keadaan dalaman yang kecil, mudah diramal
    Interaksi antara benang Java tidak mempunyai pilihan lain lagi, keadaan dalaman yang besar Pengumpulan entropi perlahan
    Kekacauan oleh Ruptor Kaunter kitaran pemproses, dikumpul secara berterusan Hashing keadaan dalaman 4096-bit berdasarkan varian tak linear penjana Marsaglia Sehingga yang terpantas, keadaan dalaman yang hebat, tidak "terjebak"
    RRAND oleh Ruptor Kaunter kitaran pemproses Menyulitkan keadaan dalaman dengan sifir strimSangat cepat, keadaan dalaman saiz sewenang-wenangnya mengikut pilihan, tidak "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 daripada saiz 16 bit hingga beberapa megabait), fungsi untuk memulakan keadaan dalaman dengan kunci, atau benih(eng. benih), fungsi kemas kini keadaan dalaman dan fungsi output. PRNG dibahagikan kepada aritmetik mudah, kriptografi rosak dan kriptografi. Tujuan umum mereka adalah untuk menghasilkan urutan nombor yang tidak dapat dibezakan daripada nombor 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 di lapangan, hanya PRNG kuat kriptografi segerak terperingkat (sifir aliran) digunakan, sifir blok tidak digunakan. Contoh PRNG kuat kriptografi yang terkenal ialah ISAAC, SEAL, Snow, algoritma teori Blum, Blum dan Shub yang sangat perlahan, serta pembilang dengan fungsi cincang kriptografi atau sifir blok yang kuat secara kriptografi dan bukannya fungsi output.

    PRNG perkakasan

    Selain daripada penjana LFSR yang lapuk dan 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 direka untuk tujuan ketenteraan dan dirahsiakan. . Hampir semua PRNG perkakasan komersial sedia ada dipatenkan dan juga dirahsiakan. PRNG perkakasan dihadkan oleh keperluan ketat untuk memori yang digunakan (kebiasaannya penggunaan memori adalah dilarang), kelajuan (1-2 kitaran jam) dan kawasan (beberapa ratus FPGA - atau

    Disebabkan kekurangan PRNG perkakasan yang baik, pengilang terpaksa menggunakan sifir blok yang lebih perlahan tetapi diketahui secara meluas yang tersedia di tangan (Computer Review # 29 (2003)

  • Yuri Lifshits. Kursus "Masalah moden kriptografi" Kuliah 9: Penjana pseudo-rawak
  • L. Barash. Algoritma AKS untuk menyemak nombor untuk kesederhanaan dan mencari pemalar untuk penjana nombor pseudo-rawak
  • Zhelnikov Vladimir. Urutan nombor pseudo-rawak // Kriptografi dari papirus ke komputer M .: ABF, 1996.
  • random.org (eng.) - perkhidmatan dalam talian untuk menjana nombor rawak
  • Nombor Rawak Kriptografi
  • Teori dan Amalan Penjanaan Nombor Rawak (eng.)
  • 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 dikenakan ke atas penjanaan nombor rawak. Kualiti hasil pemodelan sedemikian secara langsung bergantung pada kualiti penjana nombor rawak teragih seragam, sejak 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 ditambah dengan senarai kekurangan. 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 yang sesuai untuk menjana nombor rawak.

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

      Kecekapan pengiraan ialah masa pengiraan yang sesingkat mungkin untuk kitaran seterusnya dan jumlah memori untuk penjana berfungsi.

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

    Kriteria untuk panjang yang mencukupi bagi urutan pseudo-rawak dipilih daripada pertimbangan berikut. Kaedah Monte Carlo terdiri dalam berbilang ulangan pengiraan parameter output sistem model, yang berada di bawah pengaruh parameter input yang turun naik dengan undang-undang pengedaran yang diberikan. Kaedah ini berdasarkan penjanaan nombor rawak dengan seragam taburan dalam selang, dari mana nombor rawak dengan undang-undang taburan tertentu terbentuk. Seterusnya, kebarangkalian peristiwa yang dimodelkan 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 dengan formula:

    di mana
    ialah fungsi songsang bagi fungsi taburan normal, - kebarangkalian ralat sulit pengukuran kebarangkalian.

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

    (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 untuk menjana 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 ialah panjang jujukan rawak semu.

    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 dalam R 0 tidak merosakkan kualiti (iaitu parameter statistik) penjana nombor rawak.

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

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

    Kita boleh mengatakan bahawa idea tentang kebolehpercayaan nombor pseudo-rawak dicipta dalam proses menggunakannya, dengan pengesahan keputusan yang teliti apabila mungkin.



     


    Baca:



    Menentukan jantina kanak-kanak mengikut degupan jantung

    Menentukan jantina kanak-kanak mengikut degupan jantung

    Ia sentiasa mengujakan. Bagi semua wanita, ia membangkitkan pelbagai emosi dan pengalaman, tetapi tiada seorang pun daripada kita merasakan situasi dalam darah dingin dan ...

    Cara membuat diet untuk kanak-kanak dengan gastritis: cadangan umum

    Cara membuat diet untuk kanak-kanak dengan gastritis: cadangan umum

    Untuk rawatan gastrik berkesan dan berjaya, kanak-kanak mesti diberi makan dengan betul. Cadangan ahli gastroenterologi akan membantu ...

    Apakah cara yang betul untuk berkelakuan dengan seorang lelaki sehingga dia jatuh cinta?

    Apakah cara yang betul untuk berkelakuan dengan seorang lelaki sehingga dia jatuh cinta?

    Sebut rakan bersama. Menyebut rakan bersama dalam perbualan boleh membantu anda mewujudkan ikatan peribadi dengan lelaki itu, walaupun anda tidak begitu baik ...

    Bogatyrs tanah Rusia - senarai, sejarah dan fakta menarik

    Bogatyrs tanah Rusia - senarai, sejarah dan fakta menarik

    Mungkin tiada orang seperti itu di Rusia yang tidak akan mendengar tentang wira. Wira yang datang kepada kami dari lagu-lagu legenda Rusia kuno - epik, sentiasa ...

    suapan-imej Rss