Aes

對分組密碼進行蒙特卡羅測試的原因是什麼?

  • September 22, 2019

NIST 指定需要實施來為 AES 競爭的 ECB 和 CBC 模式創建 Monte Carlo 測試向量。

這些測試的原因是什麼?我唯一能想到的是,它是在特定模式下對分組密碼的一些隨機測試。但是,在這種情況下,ECB 和 CBC 之間的差異無關緊要。

在我看來,這是一種測試實現錯誤的奇怪方法。你會期望邊界檢查之類的東西,但只是一遍又一遍地執行加密實際上可能不會達到正確的結果。其他測試也涵蓋了奇怪的鍵/輸入值。

最後,讓算法生成它自己的輸入似乎很危險。如果分組密碼的行為與指定的不同,則輸入可能是錯誤的。那麼為什麼使用分組密碼作為 DRBG 而不是另一種指定/測試的算法呢?

像往常一樣,政府部門只是重複他們現有的規則。因此,他們結合了早期測試文件中的蒙地卡羅測試,這次是從 1980 年開始。如果您遵循 Maarten 連結的塵土飛揚,您最終會到達NBS 特別出版物 500-20,驗證 NBS 數據加密標準的硬體實現的正確性. 這是兩個相關的摘錄。

本出版物描述了 NBS 測試台的設計和操作,該測試台用於驗證聯邦資訊處理數據加密標準 (DES) 的硬體實現。

由於測試集是眾所周知的,因此使用偽隨機數據執行了一系列額外的測試,以驗證該設備並非只是為了通過測試集而設計的。此外,一系列成功的蒙地卡羅測試提供了一些保證,即不存在會導致設備掛起或以其他方式故障的異常輸入組合,原因並非直接由於算法的實施。雖然 DES 測試集的目的是確保商業設備準確地執行 DES 算法,但需要蒙特卡羅測試來保證商業設備不是為了滿足公佈的測試而專門建構的。

因此,它可以測試 AES 的未來硬體實現。

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