Aes
哪個更強:Threefish 1024 位、SHACAL-2 512 位或 AES-256?
我在 Google Store 中找到了一些 App,其中只有 PRO 版本的功能:Threefish 1024-bit和 SHACAL-2 512-bit。同時,AES-256 在免費版本的應用程序中可用。
於是得出結論,Threefish 1024位和SHACAL-2 512位算法更強,我稍微研究了一下發現AES-256是2001年發明的,Threefish 1024是2008年發明的,SHACAL-2 512也是發明的2001 年。
SHACAL-2 512 - 我讀到這個算法有點像“部分被黑了 50%”,但現在被認為是可靠且不可破解的。
Threefish 1024 位- 在發明該算法的作者看來,它比 AES 更有效。而且它的安全指數是 2.9,而 AES 的安全指數只有 1.7(越大越好)。
SHACAL-2和Threefish都不比AES “更”安全,因為它們都是“meh cannot break”的情況。
所有三種密碼都是完整的,並且所有三種密碼都使用大於 128 位*的密鑰,這意味著密鑰大小中的較大數字沒有任何價值,除了給人們留下更大的印象並且公司能夠浪費計算時間。另請注意,在最罕見的情況下,實際上是加密(尤其不太可能是塊密碼)被破壞,而是實現,尤其是數據處理實現。
現在對每個密碼進行一些討論:
- **SHACAL-2。**它基於 SHA-2 的壓縮功能,據我所知,將其轉換為分組密碼是“我們這樣做是因為我們可以”的情況。它的實際部署絕對可以忽略不計,而且密碼分析結果很少,所以我不會比 AES 更信任它。
- **三魚。*Threefish 是 Skein送出給SHA-3 競賽的分組密碼。它背後有一些知名的名字,並且是一個非常有用的工具塊密碼,具有大塊大小,特別是針對相關密鑰攻擊和邊通道攻擊進行了強化。如果您沒有可用的 AES 的良好實現並且您在 64 位平台上,*那麼我實際上更喜歡 Threefish 而不是 AES您沒有可用的硬體加速 AES。這是因為 Threefish 只使用加法、旋轉和 XOR (ARX),這使得它很容易安全地實現並具有可靠的性能。分析方面,它在 SHA-3 比賽期間和之後的比賽中看到了很多,但由於 Skein 沒有被選中,所以從那以後它就沒有看到太多的分析。
- **AES。**AES 是一種出色的分組密碼,它經受住了近二十年的密集密碼分析。它不僅沒有被打破,而且我們還想出瞭如何安全地實現它,並且它現在擁有廣泛的硬體支持,使其成為性能和安全方面的最佳選擇(如果可用)。如果不是,使用更現代的基於 ARX 的密碼也是合適的,但尤其是在現代手機上,應該可以使用安全的 AES 實現。
關於這個主題,另請參閱Matthew Green 的強制性部落格文章。
- 如果你相信大型量子電腦會在某個時候存在,你需要 256 位對稱密鑰來強制 $ 2^{128} $ 三種密碼都支持的量子操作(感謝Grover 算法)。