陷門原指bug漏洞,這裡卻巧妙的成為非對稱密碼演算法的科學方法。這種非對稱密碼演算法比rsa早7年。單向陷門函式(trapdoor one-way function) ,滿足下列條件的函式fff:這種陷門單向演算法函式可以實現公鑰加密,但無法做資料簽名,還不是完善的非對稱演算法。
(1)正向計算容易,即如果知道了金鑰pxpx
px和訊息x
xx,容易計算y=f
px(x
)y=f_px (x)
y=fpx
(x)。
(2)在不知道金鑰sksk
sk的情況下,反向計算不可行,即如果只知道訊息y
yy而不知道金鑰sksk
sk,則計算x=f
sk−1
(y
)x=f_^ (y)
x=fsk−
1(y
)是不可行的(所謂計算不可行,是指計算上相當複雜,在有限的時間和成本範圍內很難得到想要的結果,已無實際意義)。
(3)在知道金鑰sksk
sk的情況下,反向計算是容易的,即如果同時知道訊息y
yy和金鑰sk4
sk4sk
4,則計算x=f
sk−1
(y
)x=f_^ (y)
x=fsk−
1(y
)是容易的,這裡金鑰sksk
sk相當於陷門,它和pkpk
pk配對使用的。
也就是說,對於單向陷門函式,它是指除非知道某種附加的資訊,否則這樣的函式在乙個方向上計算容易,在另外的方向上要計算是不可行的;有了附加資訊,函式的逆就可以容易計算出來。
注:①僅滿足(1)(2)兩條的為單向函式,第(3)條為陷門性,其中的金鑰sksk
sk稱為陷門資訊。
②當用陷門函式f作為加密函式時,可以將pkpk
pk公開,此時加密金鑰pkpk
pk便稱為公開金鑰。f
ff函式的設計者將陷門資訊sksk
sk保密,用作解密金鑰,此時金鑰sksk
sk被稱作秘密金鑰。由於加密函式f
ff是公開的,任何人都可以將資訊x
xx加密成y=f
px(x
)y=f_px (x)
y=fpx
(x),然後傳送給目的接收者。(當然可通過不完全通道傳遞)。由於目的接收者擁有sksk
sk,自然可以解出x=f
sk−1
(y
)x=f_^ (y)
x=fsk−
1(y
)。③單向陷門函式的第(2)條性質表明竊聽者由截獲的密文y=f
px(x
)y=f_px (x)
y=fpx
(x)推測訊息的明文是不可行的。
RSA演算法公鑰與金鑰的產生
假設alice想要通過乙個不可靠的 接收bob的一條私人訊息。她可以用以下的方式來產生乙個公鑰和乙個私鑰 隨意選擇兩個大的質數p和q,p不等於q,計算n pq 根據尤拉函式,求得r p 1 q 1 選擇乙個小於 r 的整數 e,求得 e 關於模 r 的模反元素,命名為d 模反元素存在,當且僅當e與r...
對稱加密 單向加密和公鑰加密的概念和聯絡
下文主要從加密演算法的特徵 常用加密演算法和加密工具等方面,梳理和比較對稱加密 單向加密和公鑰加密的概念及其之間的聯絡。對稱加密 採用單鑰密碼的加密方法,同乙個金鑰可以同時用來加密和解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。常用的單向加密演算法 單向雜湊加密 單向加密又稱為不可逆加密演算法,...
RSA公鑰密碼演算法的原理及實現
rsa公鑰密碼演算法的原理及實現 一 公鑰密碼學概述。公開金鑰密碼演算法的提出是整個密碼學歷史上最大的而且也許是最唯一真正的變革。從最初一直到現代,幾乎所有密碼系統都建立在基本的替代和置換工具的基礎上。在用了數千年的本質上可以手算完成的演算法之後,常規的密碼學隨著轉輪加密 解密機的發展才出現了乙個重...