Encryption
分組密碼操作加密和解密之間有什麼根本區別嗎?
是否有任何基本理由將分組密碼的一個方向指定為“加密”而另一個“解密”?還是這些隨意的選擇?或者可能是針對特定密碼設計的實際決策?
換句話說,如果 DES 或 AES 的設計者選擇將所謂的“加密”標記為“解密”,反之亦然,世界會有什麼不同嗎?
是否有不可區分的證明/論據 $ E_k(m0) $ 對比 $ E_k(m1) $ 雖然沒有這樣的 $ D_k(m0) $ 對比 $ D_k(m1) $ ?
也許 $ E $ 具有不同的性能特徵 $ D $ ,並且已經對一種操作與另一種操作的相對頻率做出了一些假設?
例如,對於 AES 加密顯然比解密更有效,並且已經做出了一些假設,即能夠快速加密比解密更重要(不知道為什麼會這樣……)
從密碼分析的角度來看,只有攻擊假設的標籤有所不同。所有現代分組密碼的設計都是為了防止 CPA(選擇明文攻擊)和 CCA(選擇密文攻擊)。對加密函式的 CPA 攻擊是對解密函式的 CCA 攻擊,反之亦然。
有一個論點是使加密功能在兩者中更快,因為某些模式(密碼塊連結)對於解密器是可並行的,但對於加密器是不可並行的。更快的加密現在可以更好地平衡操作的時鐘時間。其他模式根本不需要解密(計數器模式、輸出回饋模式)。分組密碼設計者喜歡設計適用於所有模式的設計,因此比解密更快的加密是合法的,但不是強制性的設計決策。