密碼學規則 30 元胞自動機
Mathematica 的 Steven Wolfram 在 Mathematica 軟體中使用基於規則 30 的偽隨機數生成器,但我想知道基於規則 30 的偽隨機數生成器在密碼學上是否安全?任何人都可以權衡一下嗎?
…我想知道基於規則 30 的偽隨機生成器在密碼學上是否安全?
**不。**元胞自動機規則在密碼學上不是安全的;差遠了。
Rule30 的工作方式有點像 LFSR……它是一個元胞自動機規則(想想:有限狀態機),在重複模式(即使有不同的、擴展的重複——與 LFSR 的工作方式相反)、典型的有限狀態機行為等方面存在類似的問題,而是重複的短循環。
視覺化 Rule30 之類的東西可以以一種更“直接”的方式來展示這一點——在這種情況下,為什麼您不想將“元胞自動機”用於密碼學之類的事情變得相當明顯。
同時(自 80 年代以來)密碼工程比那些“老好東西”具有更好的建構塊。出於類似的原因,更現代的加密算法停止使用 LFSR 組合結構。
當然……您可以在密碼算法設計中使用 Rule30 - 但是解決元胞自動機問題的缺點和問題將使整個算法更容易受到攻擊。這將再次使整個算法從資源和速度的角度來看不太理想。
不同的說法:僅僅因為你可以,並不意味著它是有意義的。特別是,因為像 Rule30 這樣的東西無助於為您的算法增加安全性,因為它們本質上不是加密安全的……並且使元胞自動機規則加密安全與使 LFSR 加密安全相當。這是可以做到的,但問題總是會超過為密碼工程目的選擇這樣的組件所帶來的收益。
例如:當我們查看自 80 年代以來基於元胞自動機的幾種流密碼設計時,它表明——在大多數情況下——即使是使用 SAT 求解器的相當簡單的攻擊也已經比暴力攻擊更有效。這意味著它們中的大多數理論上在它們發布的那一天就被打破了(而實際的突破就在拐角處等待)。尤其是在查看元胞自動機時,這種 SAT 求解器攻擊只是冰山一角,它往往充滿了包括定時攻擊等在內的問題。
本文分析了 Rule 30 的隨機性,http://www.cs.indiana.edu/~dgerman/2005midwestNKSconference/dgelbm.pdf。另請注意,有些模式在重複填充規則 30 自動機的單元格時,會在有限多個時間步之後重複自身。(https://web.archive.org/web/20130808012847/http://www.iwriteiam.nl/Rule30.html)