Algorithm-Design
數據相關的旋轉比固定旋轉有什麼優勢嗎?
有許多 ARX 密碼,但大多數使用固定旋轉。
我知道與固定旋轉相比,數據相關的是:
專利(過期)- 更難實現恆定時間
- 硬體更貴
- 更難分析
- 攻擊者可以在一定程度上控制旋轉
數據相關的旋轉比固定旋轉有什麼優勢嗎?
與固定旋轉相比,數據相關旋轉提高了對差分和線性密碼分析的抵抗力。固定旋轉對(xor-)微分特徵的機率沒有影響(除了有助於擴散),而數據相關旋轉也會引入旋轉量的差異,從而降低機率。Scott Contini 在 2000 年發表的一篇論文量化了這一優勢。
使用數據依賴輪換對密碼的成功攻擊集中在試圖避免輪換數量的差異,或者將它們固定到某個值;RC5就是這種情況。後來的設計(如 RC6 和 MARS)通過使用更複雜的函式作為旋轉的輸入使這變得更加困難。這是一篇有趣的論文,研究了在 RC6 中改變複雜函式的效果,以及它如何影響密碼的整體安全性。
也就是說,您列出的缺點超過了潛在的優點,並且新設計中通常不使用數據相關的旋轉。