Encryption
為什麼我們要使用多輪加密?
我了解 DES 和 AES 使用多輪加密來保護密文輸出,這樣做的真正原因是什麼?
是否有某個點執行多輪變得毫無意義,與安全性無關;當然,性能在某些時候會成為一個問題?
是否所有加密算法都需要多輪才能確保它們的安全?
多次使用相同的方案將允許有效的密碼分析。如果無法分析密碼,那麼這將被視為對安全性有害。密碼本身不需要太難。沒有鑰匙,它一定很難逆轉。這些輪次本身並沒有提供足夠的混亂來被認為是一個完整的密碼。
在重複相同方案的情況下進行輪次可以有效地實施,使程式碼大小更小,更容易防止側通道攻擊。
是的,所需的回合數可以限制為可用的最佳攻擊。通常,任何帶有輪數的密碼都會在多輪中成功(如果理論上)攻擊。問題是您不知道將來會設計哪些攻擊。
所以最終某種保證金是有序的;在未來證明算法和性能之間存在一個重要的平衡。將算法調整到多少輪通常需要討論。
可能建議至少有 3 個“備用回合”。這沒有考慮每輪的複雜性(Threefish 使用 80 個輕量級輪,而 AES 使用至少 10 個更複雜的輪)。當首先需要大量回合時,您會期望更多的“備用回合”。
通常塊密碼將使用輪,但流密碼可能使用不同的方式來生成密鑰流。RSA 等非對稱加密通常根本不使用輪次。
使用回合當然不是理論上的安全要求。