Randomness

NIST 隨機偏移結果

  • June 28, 2019

NIST 規定了所謂的隨機偏移測試和隨機偏移變體測試。從描述中我可以得出p值的數量在第一種情況下應該是8,在第二種情況下應該是18。但是結果表只為每個測試提供了一行。由於相關性,保留所有這些顯然是多餘的。但我不清楚,我應該從 8 個(或 18 個)字元串中選擇哪一個,為什麼只選擇一個。另外還有一個問題:如果只有一個沒有通過怎麼辦,那意味著什麼?

所以,這裡有幾件事。

第一種情況8個,第二種情況18個

是的,這是正確的,但前提是有足夠的樣本數據。最後兩個測試需要大量的數字。事實上,超過了建議的最低 10 x 1 百萬位。我不確切知道,NIST 也沒有確切地說。如果滿意,測試將返回類似於 NIST (p)NRG 套件結果解釋中列印輸出底部的內容,以下是無辜抄襲:-

 4  12   3  15  10   4   7   6   3   7  0.011440     70/71      RandomExcursions
 6   8   6   7   8   6   7  11   7   5  0.937294     70/71      RandomExcursions
 6   6   4   4   5  12   9   9   8   8  0.491599     71/71      RandomExcursions
 2   6   2  10   9  11   9   5   7  10  0.127498     71/71      RandomExcursions
 5   7   5   8   9   8   9   4   7   9  0.881013     71/71      RandomExcursions
 6   8   4   8  12   8   3   8   8   6  0.519816     69/71      RandomExcursions
 5   5   7   5   3   7  10   7   9  13  0.275709     70/71      RandomExcursions
 3   6  11   6  14   6   6   3   8   8  0.099089     71/71      RandomExcursions
 7  13   8   4   6   4   5   8  10   6  0.339044     71/71      RandomExcursionsVariant
11   9   6   6   8   7   7   1   6  10  0.362174     71/71      RandomExcursionsVariant
10   8   9   8   8   6   8   3   6   5  0.781926     70/71      RandomExcursionsVariant
 9   8   7   8   5  10   9   6   6   3  0.754127     71/71      RandomExcursionsVariant
 9  10   7   9   5   5   7   9   5   5  0.808725     70/71      RandomExcursionsVariant
 5  14   8   5   2   3  11  11   6   6  0.025193     70/71      RandomExcursionsVariant
 9   3   6   5  10   8   7   7   8   8  0.808725     70/71      RandomExcursionsVariant
 6   5   5   8  10   8   7   9   5   8  0.901761     69/71      RandomExcursionsVariant
 3   9   5  12   6   6   6  10   8   6  0.437274     71/71      RandomExcursionsVariant
 3   6   7   2  10  11   6  10   7   9  0.238562     71/71      RandomExcursionsVariant
 4  10   6  12   3  13   4   4   5  10  0.033552     71/71      RandomExcursionsVariant
 7   2  15   7   7   9   7   4   8   5  0.083381     71/71      RandomExcursionsVariant
 8   6  13   6   6   6   5   9   7   5  0.577844     71/71      RandomExcursionsVariant
 6  15   6   8   6   5   8   4   3  10  0.083381     71/71      RandomExcursionsVariant
11   4   7  10   6  10   3   8   6   6  0.437274     71/71      RandomExcursionsVariant
11   5   4  11   5   9  10   4   7   5  0.295803     69/71      RandomExcursionsVariant
10   5   8   6   4  13   4   7   8   6  0.339044     70/71      RandomExcursionsVariant
10   5   6   7   5  11   8   8   7   4  0.696376     71/71      RandomExcursionsVariant

由於相關性,顯然是多餘的

它們不相關,除非您的數據是 :-) 該套件採用您的樣本集並將其劃分為多個流/塊。每個測試都以不同的順序執行。這就是為什麼你需要這麼多數據。我通常使用至少 10 倍的 10 x 1 百萬位 (~10MB)。更多甚至更好。

如果只有其中一個沒有通過,那意味著什麼?

您的樣本是正確隨機的。或者在數學和哲學上學究氣,沒有足夠的證據表明您的樣本集不是獨立同分佈的。再次從那個例子: -

The minimum pass rate for each statistical test with the exception of the
random excursion (variant) test is approximately = 96 for a
sample size = 100 binary sequences.

The minimum pass rate for the random excursion (variant) test
is approximately = 67 for a sample size = 71 binary sequences.

因為隨機性非常討厭,所以沒有理論門檻值可以用作(是隨機的?)決策過程中的硬分界線。這個問題被多個獨立測試混淆了,這些測試可能在同一數據集上相互矛盾。

根據經驗,您傾向於查看結果並了解您得到什麼樣的感覺。極少數的測試失敗可能並不意味著任何不利因素。在另一個樣本集上重新執行測試可能會產生略有不同的結果。需要經驗。當您的 RNG 行為不端時,多個 p 值接近 0.0 或 1.0 時會非常明顯。NIST 使用 1% 的決策規則,但糟糕的 RNG 將超出此範圍。

引用自:https://crypto.stackexchange.com/questions/71635