密碼學中,密码体制(英語:Cryptosystem)是一套密碼學算法,用以提供某種安全性,如機密性(對應算法稱為加密)。 [1]
典型的密碼體制有三部分:密钥生成、加密、解密。而「密碼」(cipher或cypher)一詞,有時則僅指加密與解密這對算法。相比之下,密碼體制則包含密钥生成算法,所以有時用作強調其重要性。故「密碼體制」常用於討論公鑰技巧,而「密碼」和「密碼體制」皆會用於討論對稱密鑰加密技巧。
密码学中,密码体制是满足以下条件的五元组 :
- 表示所有可能的明文的有限集,稱為明文空間。
- 表示所有可能的密文的有限集,稱為密文空間。
- 表示所有可能的密钥的有限集,即密钥空间。
- 对任意,均存在一个确定的加密規则,是的函數。是該些加密函數組成的集合。
- 同樣对任意,均存在確定的解密規則,是的函數。為該些解密函數的集合。
- 最後,對每個公鑰,存在私鑰使得對全部成立。[2]
以上定義中,並未分辨加密法是對稱密鑰加密還是公开密钥加密。若僅考慮加密與解密鑰相等的情況,則末三個條件可改寫為:
- 对任意,均存在一个确定的加密法则,和对应解密法则;并对每一组和,都对任意明文有。[3]
末一項保证了使用加密方式对明文进行加密後,也可用相应的解密方式对密文进行解密,得到原本的明文。該條件推出,加密方式必须是一个单射函数,即不同明文加密后不可对应相同密文。如果密文空间和明文空间一样,那么这个加密方式就是一个置换。
古典例子有凱撒密碼,其加密方式是字母表的一個置換。現代例子則有RSA密码体制。
- ^ Menezes, A.; Oorschot, P. van; Vanstone, S. Handbook of Applied Cryptography 5th. CRC Press. 1997. ISBN 0-8493-8523-7 (英语).
- ^ Buchmann, Johannes A. Introduction to Cryptography 2nd. Springer. 13 July 2004. ISBN 0-387-20756-2 (英语).
- ^ Douglas. R. Stinson; 冯登国(译). 密码学原理与实践 Cryptography: Theory and Practice 第二版. 电子工业出版社. 2003. ISBN 7505384651.