我應該如何對待像 Spritz 這樣的新密碼版本?
我一直在查看論文和 Spritz 的原始碼——由 Ronald L. Rivest 和 Jacob Schuldt 編寫的類似 RC4 的海綿狀流密碼和散列函式。
該論文指出
我們還進行了廣泛的模擬以尋找可檢測的統計偏差,並選擇了在我們的實驗中沒有檢測到偏差的候選者。在將此密碼用於關鍵應用程序之前,建議進行進一步的密碼分析審查。
由於這是我第一次見證“新”密碼算法的誕生,我不知道如何看待 Spritz。主要是因為它的一部分使用了 RC4,它似乎以其可檢測的偏差而聞名,與狀態改組有關。但是其中還有“海綿狀”功能,這讓我想起了我讀過的關於 SHA-3 的內容……但是這種變化是否足夠有趣,甚至可以考慮觸摸它?
我不是什麼分析師,但我簡單的C計時函式告訴我 Spritz 比 RC4 慢。可能甚至比 AES 還要慢。(我不得不承認我的 AES 實現並不是最快的。)似乎還沒有人對 Spritz 進行密碼分析。偏向 RC4 的遙遠聲音也不能提供舒適感。
這留下了三個基本選項供我選擇:
- 完全忽略它並等到有人提供了使用它的充分理由(不使用它的充分理由似乎是:與 RC4 相關,速度慢,…)
- 在嘗試我的第一個嬰兒步驟時玩得開心
- 退出並等待,因為可能有十幾個聰明的人已經將它從四面八方拉開,以確定它是否安全。
那麼,我應該如何對待像 Spritz 這樣的新密碼版本?
其實我希望答案是***“玩得開心”**。如果是這種情況,您能否給我一些提示,說明哪種分析/攻擊/破解最適合嘗試像 Spritz 這樣的密碼?我剛剛開始學習線性和差分密碼分析,但如果有機會,我願意並且能夠擴展我的知識。我不需要清單,只要一兩個提示……輕輕一推,而不是一腳。♥
沒有人可以告訴你不要“玩得開心”,但我強烈建議你首先研究對其他密碼的攻擊。Spritz (Rivest & Schuldt) 幸運地提到了對其前身 RC4 的大量研究。在我看來,這使它成為一個很好的起點。
有必要了解所使用的語言學和數學結構。在沒有很好地理解這些概念的情況下跳入密碼分析不會給你任何合理的結果。
如果您的主要能力是創建一個快速/安全的密碼算法實現,那就去做吧。在最壞的情況下,會發現攻擊或算法永遠不會受到廣泛歡迎。
在您自己的心態之外,我看不出 1) 和 3) 之間的巨大差異。同樣,沒有人可以告訴你不要退出:)