密碼學中,密碼體制(英語: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.