Literature

Cryptonomicon 中的可能異常

  • February 28, 2017

在 Neal Stephenson 的 Cryptonomicon 的開頭,Avi 給了 Randy 兩串 16 個隨機十六進制數字作為加密密鑰:

AF  10  06  E9  99  BA  11  07  64  C1  89  E3  40  8C  72  55
67  81  A4  AE  FF  40  25  9B  43  0E  29  8D  56  60  E3  2F

如果您將十六進制更改為十進制並將小數更改為字母,模 25 沒有 J,就像勞倫斯在本書後面使用他的一次性便箋簿所做的那樣,您會得到:

z   k   f   h   c   l   r   g   z   s   m   b   o   p   o   k
c   d   o   y   m   o   m   e   r   o   q   q   l   v   b   w

第一個序列包含兩個 Os,第二個包含三個 Os。在給定 32 個選擇的情況下,從 25 個字母中隨機選擇至少 5 個 Os 的機率小於 1%,這使得這些數字看起來實際上並不是隨機的。

此外,每個序列中有六個素數:

E9  11  07  C1  89  E3
67  25  43  29  E3  2F

(所有以十六進制為底的素數)

這是什麼意思?

在 0 到 25 之間有 9 個素數,因此在這個區間內隨機選擇 16 個數字時有 6 個素數是完全合理的。此外,這只是字母的編碼:我們可以將字母與 1 到 26 或 8 到 33 之間的數字相關聯……因此檢查素數在這裡沒有任何意義。

此外,有五個 O 的機率可能很低,但這只是一個字母;你看過“some”字母出現五次的機率嗎?應該是很合理的。對我來說,你看到的模式沒有什麼可搜尋的:給定一個足夠小的隨機序列,總能找到許多這樣的模式。

我在這個隨機的字母序列生成器上嘗試了三次,才得到包含五個 n 的序列 pmrvkpehkyonfrkhxrnpnznbmnfmluwh。

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