Spritz的安全性分析?
最近, Ronald L. Rivest 和 Jacob Schuldt 發布了一種名為Spritz的新密碼。它應該是 RC4 的“替代品”。
與 RC4 有許多不同之處,Spritz 是“海綿狀的”,並且處理按鍵設置的方式也完全不同。但是在生成密鑰流或它自身的整個密碼結構方面仍然與 RC4 有許多相似之處。
針對 RC4 的結果很多,所以 Spritz 應該是一個有趣的分析話題。
我已經查看了一些針對 RC4 的攻擊,並且很好奇其中一些是否也可以應用於 Spritz。到目前為止,還有其他人分析過 Spritz 嗎?或者現在對 Spritz 的結果還為時過早?
從性能的角度來看,Spritz 真的很慢(與其他相關密碼相比,例如 Keccak 或 Salsa20、SHA-256)。他們為什麼不去表演?如果它那麼慢,沒有人會使用它。
我已經查看了一些針對 RC4 的攻擊,並且很好奇其中一些是否也可以應用於 Spritz。到目前為止,還有其他人分析過 Spritz 嗎?或者現在對 Spritz 的結果還為時過早?
沒有第三方分析。恐怕還為時過早。(即使您連結的論文也未發表。)答案當然可能隨時更改。
從性能的角度來看,Spritz 真的很慢(與其他相關密碼相比,例如 Keccak 或 Salsa20、SHA-256)。他們為什麼不去表演?如果它那麼慢,沒有人會使用它。
他們在論文中說,他們使用的是“簡單且未經優化的 Spritz 實現”。除了 Keccak 之外,其他算法的實現可能已經經歷了多年的優化工作。
查看實際數字,Spritz 生成密鑰流的速度約為 95 MB/s,而 AES 為 150+,Salsa20 和 RC4 為 290+。所以它更慢,但不是數量級。如果實施確實很差,那麼這種差距實際上*可以通過優化工作來彌補。*在許多應用程序中,這也不一定是什麼大不了的事。此外,硬體性能可能看起來完全不同,儘管我沒有看到任何暗示它必須的東西。
AES 可能會提出同樣的問題:如果像 Salsa20 這樣的流密碼具有兩倍的性能,我們為什麼要使用 AES CTR?當然,AES 的優勢在於它是一種較舊的設計,已經在密碼分析中佔有一席之地,但多功能性也可能發揮作用。作為分組密碼,AES 可用於多種用途,從MAC到磁碟加密,而流密碼基本上僅用於加密,並且需要 MAC 以防止延展性。
同樣,由於是海綿函式,Spritz和 Keccak 一樣,可以被視為更通用的原語,不僅提供加密,還提供雜湊函式和 MAC。這將使您能夠依賴更少的移動元件,有望避免錯誤和安全漏洞,也可能恢復一些性能。有一個簡單的算法也有幫助。
但是,Spritz 的散列函式性能要慢一個數量級以上,所以我不確定您是否真的想選擇它而不是 Keccak…