Timing-Attack
更複雜的算法更容易被定時攻擊破解嗎?
是否存在增加加密算法的複雜性會使使用定時攻擊更容易破解的點?
還是這裡根本沒有聯繫?
定時攻擊依賴的操作並不總是需要相同的時間來執行,具體取決於處理的數據。例如,在實現SHA-256的典型軟體平台(例如 PC)上,所有操作都是 32 位加法或旋轉或按位組合,無論實際操作數值如何,都需要恆定時間來執行。因此,SHA-256 在很大程度上不受時間攻擊,因為處理時間(低至納秒)僅取決於輸入消息的長度,而不取決於構成消息的位的值。從外部觀察 SHA-256 計算的攻擊者將不會了解散列消息,除了可能對消息長度的估計。另一方面,一個簡單的RSA實現將洩漏資訊,因為模冪會產生依賴於數據和依賴於鍵的成本(從程序員的角度來看,如果程式碼充滿了“
if
”,則該程式碼對從輸入數據和鍵計算的值進行操作)。算法的“複雜性”與該問題幾乎無關。您可以從沒有時間相關問題的操作中創建一個非常複雜的算法。複雜性本身就是一件壞事,因為它使分析更加複雜(很難知道結果是否安全)並且意味著更高的實現成本(在開發時間,並且通常在程式碼大小和執行速度)。