密码体制

来自testwiki
跳转到导航 跳转到搜索

密碼學中,密码体制Template:Lang-en)是一套密碼學算法,用以提供某種安全性,如機密性(對應算法稱為加密)。 [1]

典型的密碼體制有三部分:密钥生成加密解密。而「密碼」(Template:LangTemplate:Lang)一詞,有時則僅指加密與解密這對算法。相比之下,密碼體制則包含密钥生成算法,所以有時用作強調其重要性。故「密碼體制」常用於討論公鑰技巧,而「密碼」和「密碼體制」皆會用於討論對稱密鑰加密技巧。

嚴格定義

密码学中,密码体制是满足以下条件的五元组 (𝒫,𝒞,𝒦,,𝒟)

  1. 𝒫表示所有可能的明文有限集,稱為明文空間
  2. 𝒞表示所有可能的密文的有限集,稱為密文空間
  3. 𝒦表示所有可能的密钥的有限集,即密钥空间
  4. 对任意k𝒦,均存在一个确定的加密規则Ek,是𝒫𝒞的函數。是該些加密函數組成的集合。
  5. 同樣对任意k𝒦,均存在確定的解密規則Dk,是𝒞𝒫的函數。𝒟為該些解密函數的集合。
  6. 最後,對每個公鑰e𝒦,存在私鑰d𝒦使得Dd(Ee(p))=p對全部p𝒫成立。[2]

以上定義中,並未分辨加密法是對稱密鑰加密還是公开密钥加密。若僅考慮加密與解密鑰相等的情況,則末三個條件可改寫為:

对任意k𝒦,均存在一个确定的加密法则,Ek和对应解密法则Dk𝒟;并对每一组Ek:𝒫𝒞Dk:𝒞𝒫,都对任意明文p𝒫Dk(Ek(p))=p[3]

末一項保证了使用加密方式对明文进行加密後,也可用相应的解密方式对密文进行解密,得到原本的明文。該條件推出,加密方式必须是一个单射函数,即不同明文加密后不可对应相同密文。如果密文空间和明文空间一样,那么这个加密方式就是一个置换

古典例子有凱撒密碼,其加密方式是字母表的一個置換。現代例子則有RSA密码体制。

参考

Template:密码学