Ana içeriğe geç

OneKey Pro için Rastgelelik Üretimi ve Değerlendirmesi

Bugün güncellendi

Sistem Ortamı Gereksinimleri: Java Runtime (İsteğe bağlı: JDK)

Generating TRNG from the Device

Önyükleyici moduna girin.

  1. "Ayrıntıları Görüntüle"ye tıklayın.

  2. Onay ekranı görünene kadar "Build ID"ye tekrar tekrar tıklayın, ardından devam etmek için "Tamam"a tıklayın.

  3. İşlemin tamamlanmasını bekleyin.

  4. Ana sayfaya dönmek için herhangi bir yere tıklayın.

  5. Cihazı yeniden başlatın ve ardından Önyükleyici moduna tekrar girin.

  6. Oluşturulan rastgele veriler, "ONEKEY DATA" sürücüsü içindeki "TRNG_Test_Data" klasöründe bulunabilir.

  7. Rastgele Sayı Testi İçin CC EAL6+

BSI AIS 20-31 Testing

Orijinal test yazılımı Almanca'dır, biz bunu İngilizce'ye çevirdik. (Ekli belgelere bakınız.)

  • Download the test suite from: BSI Website

  • The original testing software is in German, which we have translated into English. (See attachments.)

cd AIS_31_testsuit_English

  1. Değerlendiriciyi derleyin:javac Evaluator.java

  2. Compile the evaluator:

    • javac Evaluator.java

java -classpath AIS_31_testsuit_English/ Evaluator

pro-trng-evaluation.png
  • Run the testing software with the following command:

    • java -classpath AIS_31_testsuit_English/ Evaluator

  • Enter the absolute path of the data to be tested

    • For example: Data/TRNG_Test_Data_EXAMPLE/batch_2.bin

  • Configure as follows:

    • Output: Detailed

    • Sonuçlar

    • P0

    • P1 (ÖZET)

TEST BAŞLATILDI.[17:26:25] TEST PAKETİ: P1/T1-T5[17:26:25] DOSYA ADI: Data/TRNG_Test_Data_EXAMPLE/batch_1.bin_rest[17:26:25] ÇIKTI DETAYLARI: Açık.[17:26:25] VERİ FORMATI: 1 dosya baytı 8 rastgele bit içerir.[17:26:25] TEST TÜRÜ: Normal test.[17:26:25] RND BİT GENİŞLİĞİ: 8 bit.[17:26:25] Dosya okunuyor.[17:26:25] BitStream dosyası RAM'e kopyalanıyor[17:26:26] Dosya verileri ByteStream'e dönüştürülüyor[17:26:26] Kalan dosya yazılıyor: Data/TRNG_Test_Data_EXAMPLE/batch_1.bin_rest_rest[17:26:42] 5220000 öğe RAM'e kopyalandı.[17:26:42] Dosya okundu.[17:26:42] T1 (Monobit testi) testini çalıştırma; Kriter P1.i(ii)[17:26:42] Bir sayısı: 9931[17:26:42] Kabul edilebilir aralık: [9655; 10345][17:26:42] T1 testi geçti.[17:26:42] T2 (Poker testi) testini çalıştırma; Kriter P1.i(ii)[17:26:42] Test boyutu = 16.857600000000275[17:26:42] T2 testi geçti.[17:26:42] T3 (Çalışma testi) testini çalıştırma; Kriter P1.i(ii)[17:26:42] 0-Runs[1] = 2477; Kabul edilebilir aralık: [2267; 2733][17:26:42] 1-Runs[1] = 2486; Kabul edilebilir aralık: [2267; 2733][17:26:42] 0-Runs[2] = 1266; Kabul edilebilir aralık: [1079; 1421][17:26:42] 1-Runs[2] = 1266; Kabul edilebilir aralık: [1079; 1421][17:26:42] 0-Runs[3] = 611; Kabul edilebilir aralık: [502; 748][17:26:42] 1-Runs[3] = 631; Kabul edilebilir aralık: [502; 748][17:26:42] 0-Runs[4] = 301; Kabul edilebilir aralık: [223; 402][17:26:42] 1-Runs[4] = 296; Kabul edilebilir aralık: [223; 402][17:26:42] 0-Runs[5] = 148; Kabul edilebilir aralık: [90; 223][17:26:42] 1-Runs[5] = 165; Kabul edilebilir aralık: [90; 223][17:26:42] 0-Runs[6] = 182; Kabul edilebilir aralık: [90; 223][17:26:42] 1-Runs[6] = 141; Kabul edilebilir aralık: [90; 223][17:26:42] T3 testi geçti.[17:26:42] T4 (Uzun Çalışma testi) testini çalıştırma; Kriter P1.i(ii)[17:26:42] T4 testi geçti.[17:26:42] T5 (Otomatik korelasyon testi) testini çalıştırma; Kriter P1.i(ii)[17:26:42] 2500'den maksimum Z_tau sapması: 132[17:26:42] Kaymalar için oluştu: [17:26:42] Kayma: 1307[17:26:42] Otomatik korelasyon testi Kayma: 1307 ile tekrar çalıştırılıyor, Bitler 10.000 - 14.999[17:26:42] Z_1307 = 2507[17:26:42] T5 testi geçti.[17:26:42] Çalışma başarıyla tamamlandı, test için kalan dosya seçildi.

Each test will have a clear conclusion. The report will mention "Test xx passed."

Ana Sayfa (Kaynak ve İkililer): Dieharder Resmi Sitesi

Kurulum

P1 (TL;DR)

Ubuntu'da Dieharder, resmi depolardan doğrudan kurulabilir:

P2

sudo apt install dieharder

Dieharder (Linux Only)

Değerlendirme

Homepage (Source and Binaries): Dieharder Official Site

Rastgele sayı üreteci verilerinizi değerlendirmek için aşağıdaki komutu kullanın:

  • dieharder -a -f Data/TRNG_Test_Data_EXAMPLE/batch_2.bin -p 10000 -k 2

  • Her bir testin net bir sonucu olacaktır. Rapor "Test xx geçti." şeklinde bir ifade içerecektir.

Sonucu Kontrol Et

  • To evaluate your random number generator data, use the following command:

    • dieharder -a -f Data/TRNG_Test_Data_EXAMPLE/batch_2.bin -p 10000 -k 2

2018-36-INF-3198.pdf

Dieharder outputs clear test results. A "PASS" indicates the data meets the criteria, while a small number of "WEAK" results can generally be ignored due to the inherent margin of error in testing methods.

2018-36-ST_Lite.pdf

#=============================================================================## dieharder version 3.31.1 Copyright 2003 Robert G. Brown ##=============================================================================# rng_name | filename |rands/second| mt19937|Data/TRNG_Test_Data_EXAMPLE/batch_2.bin| 3.02e+08 |#=============================================================================# test_name |ntup| tsamples |psamples| p-value |Assessment#=============================================================================# diehard_birthdays| 0| 100| 100|0.10212980| PASSED diehard_operm5| 0| 1000000| 100|0.43350080| PASSED diehard_rank_32x32| 0| 40000| 100|0.18356279| PASSED diehard_rank_6x8| 0| 100000| 100|0.26738553| PASSED diehard_bitstream| 0| 2097152| 100|0.50366652| PASSED diehard_opso| 0| 2097152| 100|0.29301752| PASSED diehard_oqso| 0| 2097152| 100|0.51848348| PASSED diehard_dna| 0| 2097152| 100|0.11079065| PASSED diehard_count_1s_str| 0| 256000| 100|0.75364018| PASSED diehard_count_1s_byt| 0| 256000| 100|0.84484993| PASSED diehard_parking_lot| 0| 12000| 100|0.59549008| PASSED diehard_2dsphere| 2| 8000| 100|0.79405887| PASSED diehard_3dsphere| 3| 4000| 100|0.15636471| PASSED diehard_squeeze| 0| 100000| 100|0.07344321| PASSED diehard_sums| 0| 100| 100|0.04236979| PASSED diehard_runs| 0| 100000| 100|0.29853092| PASSED diehard_runs| 0| 100000| 100|0.94361604| PASSED diehard_craps| 0| 200000| 100|0.97112172| PASSED diehard_craps| 0| 200000| 100|0.81518652| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.96914597| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.66252771| PASSED sts_monobit| 1| 100000| 100|0.25335770| PASSED sts_runs| 2| 100000| 100|0.76610634| PASSED sts_serial| 1| 100000| 100|0.99906599| WEAK sts_serial| 2| 100000| 100|0.84267868| PASSED sts_serial| 3| 100000| 100|0.56502434| PASSED sts_serial| 3| 100000| 100|0.29549437| PASSED sts_serial| 4| 100000| 100|0.15277658| PASSED sts_serial| 4| 100000| 100|0.78789431| PASSED sts_serial| 5| 100000| 100|0.54153910| PASSED sts_serial| 5| 100000| 100|0.95656480| PASSED sts_serial| 6| 100000| 100|0.67941344| PASSED sts_serial| 6| 100000| 100|0.02222963| PASSED sts_serial| 7| 100000| 100|0.93378063| PASSED sts_serial| 7| 100000| 100|0.51126121| PASSED sts_serial| 8| 100000| 100|0.99301136| PASSED sts_serial| 8| 100000| 100|0.94658377| PASSED sts_serial| 9| 100000| 100|0.77767419| PASSED sts_serial| 9| 100000| 100|0.68542670| PASSED sts_serial| 10| 100000| 100|0.30778639| PASSED sts_serial| 10| 100000| 100|0.41977953| PASSED sts_serial| 11| 100000| 100|0.02684849| PASSED sts_serial| 11| 100000| 100|0.36026188| PASSED sts_serial| 12| 100000| 100|0.91429978| PASSED sts_serial| 12| 100000| 100|0.11223234| PASSED sts_serial| 13| 100000| 100|0.85751671| PASSED sts_serial| 13| 100000| 100|0.67034430| PASSED sts_serial| 14| 100000| 100|0.94937608| PASSED sts_serial| 14| 100000| 100|0.74004649| PASSED sts_serial| 15| 100000| 100|0.70378039| PASSED sts_serial| 15| 100000| 100|0.23488205| PASSED sts_serial| 16| 100000| 100|0.43514053| PASSED sts_serial| 16| 100000| 100|0.72498715| PASSED rgb_bitdist| 1| 100000| 100|0.62493231| PASSED rgb_bitdist| 2| 100000| 100|0.27977952| PASSED rgb_bitdist| 3| 100000| 100|0.14363718| PASSED rgb_bitdist| 4| 100000| 100|0.33965132| PASSED rgb_bitdist| 5| 100000| 100|0.75987567| PASSED rgb_bitdist| 6| 100000| 100|0.26392475| PASSED rgb_bitdist| 7| 100000| 100|0.21486496| PASSED rgb_bitdist| 8| 100000| 100|0.42792654| PASSED rgb_bitdist| 9| 100000| 100|0.97964771| PASSED rgb_bitdist| 10| 100000| 100|0.83424911| PASSED rgb_bitdist| 11| 100000| 100|0.01916156| PASSED rgb_bitdist| 12| 100000| 100|0.73187911| PASSED rgb_minimum_distance| 2| 10000| 1000|0.26866265| PASSED rgb_minimum_distance| 3| 10000| 1000|0.05398963| PASSED rgb_minimum_distance| 4| 10000| 1000|0.67617596| PASSED rgb_minimum_distance| 5| 10000| 1000|0.92449868| PASSED rgb_permutations| 2| 100000| 100|0.13542408| PASSED rgb_permutations| 3| 100000| 100|0.97409413| PASSED rgb_permutations| 4| 100000| 100|0.38750909| PASSED rgb_permutations| 5| 100000| 100|0.89404505| PASSED rgb_lagged_sum| 0| 1000000| 100|0.10501506| PASSED rgb_lagged_sum| 1| 1000000| 100|0.44416101| PASSED rgb_lagged_sum| 2| 1000000| 100|0.82801028| PASSED rgb_lagged_sum| 3| 1000000| 100|0.74798672| PASSED rgb_lagged_sum| 4| 1000000| 100|0.21233273| PASSED rgb_lagged_sum| 5| 1000000| 100|0.86174207| PASSED rgb_lagged_sum| 6| 1000000| 100|0.05065469| PASSED rgb_lagged_sum| 7| 1000000| 100|0.00778678| PASSED rgb_lagged_sum| 8| 1000000| 100|0.57018734| PASSED rgb_lagged_sum| 9| 1000000| 100|0.36740461| PASSED rgb_lagged_sum| 10| 1000000| 100|0.06184514| PASSED rgb_lagged_sum| 11| 1000000| 100|0.51783867| PASSED rgb_lagged_sum| 12| 1000000| 100|0.57474017| PASSED rgb_lagged_sum| 13| 1000000| 100|0.60681229| PASSED rgb_lagged_sum| 14| 1000000| 100|0.95652310| PASSED rgb_lagged_sum| 15| 1000000| 100|0.72221499| PASSED rgb_lagged_sum| 16| 1000000| 100|0.13168642| PASSED rgb_lagged_sum| 17| 1000000| 100|0.31100779| PASSED rgb_lagged_sum| 18| 1000000| 100|0.60154425| PASSED rgb_lagged_sum| 19| 1000000| 100|0.71959521| PASSED rgb_lagged_sum| 20| 1000000| 100|0.26005749| PASSED rgb_lagged_sum| 21| 1000000| 100|0.63006056| PASSED rgb_lagged_sum| 22| 1000000| 100|0.42985597| PASSED rgb_lagged_sum| 23| 1000000| 100|0.64170832| PASSED rgb_lagged_sum| 24| 1000000| 100|0.67583741| PASSED rgb_lagged_sum| 25| 1000000| 100|0.09133906| PASSED rgb_lagged_sum| 26| 1000000| 100|0.85510913| PASSED rgb_lagged_sum| 27| 1000000| 100|0.79743340| PASSED rgb_lagged_sum| 28| 1000000| 100|0.75564162| PASSED rgb_lagged_sum| 29| 1000000| 100|0.20620996| PASSED rgb_lagged_sum| 30| 1000000| 100|0.22741111| PASSED rgb_lagged_sum| 31| 1000000| 100|0.20847532| PASSED rgb_lagged_sum| 32| 1000000| 100|0.32156204| PASSED rgb_kstest_test| 0| 10000| 1000|0.10484097| PASSED dab_bytedistrib| 0| 51200000| 1|0.74332305| PASSED dab_dct| 256| 50000| 1|0.32411120| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.46943262| PASSED dab_filltree| 32| 15000000| 1|0.10082205| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.59124233| PASSED dab_filltree2| 1| 5000000| 1|0.86619677| PASSED Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.59267579| PASSED dieharder -a -f Data/TRNG_Test_Data_EXAMPLE/batch_2.bin -p 10000 -k 2 401.62s user 0.02s system 99% cpu 6:41.65 total

Additional Documentation

CC EAL Certificates and Reports

References

Bu cevap sorunuzu yanıtladı mı?