Entropy

GitHub 上的 NIST 工具是否可靠地測量熵?

  • March 31, 2018

在那個 Git 東西上有一個名為SP800-90B_EntropyAssessment的假定 NIST 工具。它的設計目的是按照 NIST對用於隨機比特生成的熵源的建議進行使用。本質上,這些工具測量來自熵數據源的數據集中的熵。它意味著輸出 0 - 8 位/字節,(但要注意 Python 測試需要很多小時才能完成)。

我不知道這個 Git 儲存庫是否得到了美國商務部的正式批准,或者這些工具是否是業餘愛好者在午休時間編寫的。

  • C++ IID 工具根本無法編譯 ( bzlib.h: No such file or directory)
  • C++ 非 IID 工具提供了包含的 1.2MB $ \pi $ 對 0.08 位/字節的熵進行排序,該熵基於Compression Test Estimate. 這是我測量它的十分之一,並且很難與常數是完全隨機的科學共識相一致。期望值應該是 ~1 位/字節,給出或採用最小熵變異數。
  • 不清楚他們是否 $ \pi $ 序列是 IID 或非 IID,因為它是一種奇怪的文件格式,並且 IID 的定義對於馬爾可夫序列的度數是模糊的。
  • 對於測試和數據源的某些組合,您可以獲得 > 8 位/字節的熵,這表明熵生成器非常好或驗證不佳的程式碼(肯定缺少assert語句)。

有沒有人有這個工具的經驗?我從來沒有讀過任何提到使用它來估計它們的熵的 TRNG 論文。我讀過很多。也許我誤解了該工具的作用。可以依靠這個工具來正確、安全地測量熵嗎?

C++ IID 工具根本不編譯(bzlib.h:沒有這樣的文件或目錄)

從程式碼:

#include "bzlib.h" // sudo apt-get install libbz2-dev

作者建議從包管理器安裝 bzip2 開發包,因為預設情況下不安裝。他們的命令將適用於基於 Debian 的發行版。

您只需要安裝軟體包。

對我來說,安裝工作sudo eopkg install bzip2-devel我在 Solus 上),但它會因作業系統和發行版而異。搜尋 bzip2 開發包。

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