Entropy

“隨機”的人類擊鍵會產生多少熵?

  • December 13, 2015

我想知道將人工輸入用作熵生成器。我們都知道人類在編造隨機數、密鑰或密碼方面很糟糕。但是,如果我們讓使用者“隨機”輸入一些垃圾會怎樣。只是砸鍵盤,可以這麼說。

這會產生多少隨機性,或者更確切地說,它會產生多少熵?

顯然,少於2 個日誌(鍵盤上的鍵數),但我會說每次擊鍵“幾”位感覺對嗎?一個鍵按下後,下一個鍵將是附近的一個鍵(用同一隻手的另一根手指)或鍵盤另一側的一個鍵(用另一隻手)。所以我粗略地猜測,每筆劃在 2 到 3 位之間。

有什麼見解嗎?

我的方法是根據經驗估計熵。Shannon 將術語“熵”用於描述通過通道的資訊流(與數據流相反)的不可約資訊內容。所以是資訊量。有些人不同意香農的定義,但讓我們忽略它們:-)

  1. 設置您的電腦以記錄您的鍵盤擊打聲。
  2. 在您認為使用者將完成熵生成過程的持續時間內粉碎。
  3. 重複100次。不要只是將鍵盤敲打 100 倍,因為您不會模擬敲打的實際開始和結束效果。
  4. 使用您能找到的最強壓縮器壓縮錄音。我發現諸如 fp8 之類的 PAQ8 衍生產品是最好的。它們似乎始終比 7zip 好 25%,我發現它始終比 zip 好。
  5. 生成的壓縮文件的大小是總熵估計。除以 100,嘿,你的每次鍵盤粉碎會話的熵。

為了防止未來壓縮技術的改進,您可以選擇將文件大小除以安全係數。我建議1.5。

推論:NIST 為一般科學用途提供有用的資訊,但要注意它們的密碼。文章中有關於 NSA 滲透 NIST 作為其人類智能計劃的一部分的文章。顯然,讓其中一部分反對另一部分不符合政府的利益。

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