Encryption

用於加密和解密的不同密鑰的對稱密鑰算法

  • September 24, 2020

來自維基百科的對稱密鑰算法文章指出:

這些鍵可能是相同的,或者可能在兩個鍵之間進行簡單的轉換。

我不知道任何使用不同密鑰進行加密和解密的對稱密鑰密碼系統。這種算法有哪些例子?將它們稱為對稱密鑰算法是否正確?

(加密和解密)密鑰之間可能有一個簡單的轉換

這個答案給出了一個 AES 的例子,一個替換/置換密碼(但請注意,AES 在加密和解密之間還有一些其他差異)。

這也適用於常用形式的Feistel 密碼,其中最後一輪比其他密碼少(或多)交換。一個例子是DES的一個輕微變體,其密鑰為 16×48 位,由 16 輪中的每一輪的 48 位子密鑰組成。解密與加密完全相同,子密鑰的順序顛倒了。這不僅僅是理論上的:許多軟體中的 DES 實現正是這樣做的。

另一個例子是 Pohlig-Hellman 求冪密碼¹。它是在公共黃金時段上達成一致的 $ p $ 和 $ q=(p-1)/2 $ 素數,加密密鑰是奇數 $ k\in[1,q), $ , 並在區間上加密 $ [0,p), $ (或者 $ [1,p), $ 或更好 $ [2,p-2], $ ) 去 $ m\mapsto c=m^k\bmod p $ . 解密密鑰是 $ k’=k^{-1}\bmod(p-1) $ 然後解密 $ c\mapsto m=c^{k’}\bmod p, $ . 解密總是有效的證明來自費馬小定理。再次加密和解密完全相同,除了密鑰的相對簡單的轉換。

將它們稱為對稱密鑰算法是否正確?

是的。關鍵點是加密和解密密鑰都必須是保密的,以保持安全性。


¹ Stephen C. Pohlig、Martin E. Hellman: An Improvement Algorithm for Computing Logarithms over GP(p) and Its Cryptographic Significance,與 IEEE 的對應關係,發表於 IEEE ToIT,1978 年

引用自:https://crypto.stackexchange.com/questions/84091