公鑰密碼體制
一個系統中,n個用戶之間要進行保密通信,為了確保安全性,兩兩用戶之間的密鑰不能一樣。這種方式下,需要系統提供C2 n=n×(n-1)/2把共享密鑰。這樣密鑰的數量就大幅增加了,隨之而來的產生、存儲、分配、管理密鑰的成本也大幅增加。而使用公鑰密碼體制可以大大減少密鑰的數量,降低密鑰的管理難度。
在公鑰密碼體制中,加密和解密采用兩把不同的鑰匙,分別為公鑰和私鑰。公鑰可以公開,而私鑰需要嚴格保密。這種密碼系統需要使用單向陷門函數來構造。
單向函數y=f(x)滿足下面兩個條件:
(1)已知x,要計算y很容易;
(2)已知y,要計算出x很難。
常見的單向函數有SM3、SHA-1、MD5。單向函數的加密效率高,但加密后不能還原。
單向陷門函數y=f(x)滿足下面三個條件:
(1)函數f具有陷門。比如,陸遜受困于諸葛亮的八陣圖,他只有在諸葛亮老丈人帶著走了生門才撿回一命。這里的生門就是陷門。
(2)已知x&#