信息安全——非对称密码体制
經典密碼(包括現代對稱密碼)都建立在基本的替代和置換工具的基礎上。公鑰密碼體制是基于數學中的單向陷門函數。
公鑰密碼體制采用了兩個不同的秘鑰這對在公開的網絡上進行保密通信、秘鑰分配、數字簽名和認證有著深遠的影響。
一 非對稱密碼體制特性
加密和解密由不同的秘鑰完成。
加密:X->Y:Y=EKU(X)
解密:Y->X:X=DKR(Y)=DKR(EKU(X))
知道加密算法,從加密秘鑰得到解密秘鑰在計算上是不可行的。
兩個秘鑰中任何一個都可以用作加密而另一個用作解密。
二 非對稱加密的應用范圍
用戶擁有自己的秘鑰對KU、KR。公鑰KU公開,私鑰KR保密。
2.1 實現保密
A->B:Y=EKUb(X) ? ——用B的公鑰加密B:DKRb(Y)=X ? ? ? ? ? ——用B的私鑰解密
2.2 實現鑒別
A->ALL:Y=DKRa(X) ?——用A的私鑰加密
ALL:EKUa(Y)=X ? ? ? ?——用A的公鑰解密
2.3 鑒別+保密
A->B:Z=EKUb( DKRa(X) ) ? ?——先用a的私鑰加密,再用b的公鑰加密。
B:EKUa(DKRb(Z))=X? ? ? ? ? ? ? ——先用b的私鑰解密,再用a的公鑰解密。
總結:要實現保密,則必須用b的私鑰才能解密;要實現鑒別,則必須用a的私鑰加密。
三 常見非對稱加密算法
數學基礎:單向陷門函數——已知x,易于計算f(x),已知f(x)卻難以計算x,然而,一旦給出f(x)和一些秘密信息y(秘密陷門)就很容易計算x。
計算f(x)相當于加密,利用陷門y求f(x)中的x則相當于解密。
3.1 Diffie Hellman算法
用于秘鑰交換。步驟如下:
(1)n與g為公開的兩個大素數,可事先商定。
(2)雙方各選一個較大值x和y。
(3)A計算出g的x次方 mod n,發給B。
(4)B計算出g的y次方 mod n,發給A。
(5)雙方利用以上信息計算出共享秘鑰。
例子:
(1)Alice選定:n=47,g=3,x=8,計算出:g的x次方mod n=28 mod 47。所以Alice傳遞給Bob的信息是:{47,3,28}?
(2)Bob選定y=10,計算出:g的y次方mod n=17 mod 47。所以Bob傳遞給Alice{17}
(3)Alice計算共享秘鑰:(g的y次方mod n)的y次方=(17的8次方)mod 47=4 mod 47。
(4)Bob計算共享秘鑰:(g的x次方mod n)的x次方=(28的10次方)mod 47=4 mod 47。
(5)得出共享秘鑰為4。
安全隱患——中間人攻擊
截獲信息將x和y改為z。
3.2 RSA算法
數學基礎:大整數因子分解——任何大于1的整數總可以唯一分解成素因數乘積的形式。
算法步驟:
(1)選擇一對不同的素數p和q,計算n=pq和f(n)=(p-1)(q-1)。
(2)隨機找一個與f(n)互素的數e,計算其逆d,即d*e=1 mod f(n)。
(3)公鑰:n,e。
(4)私鑰:n,d。
(5)加密:c=m的e次方 mod n。
(6)解密:m=c的d次方 mod n。
例子:
(1)取兩個素數:p=11和q=13,n=pq=143,f(n)=(p-1)(q-1)=10*12=120。
(2)隨機找一個與f(n)互素的數e=7,計算其逆d=103。
(3)公鑰:{143,7}。
(4)私鑰:{143,103}。
(5)明文m=85,密文c=85的7次方 mod 143=123。
(6)解密:m=123的103次方 mod 143=85。
安全性分析:
RSA秘鑰安全性依賴于p,q。獲取p,q的問題為數學上的大數分解。就目前計算機水平而言,n取1024位是安全的,取2048位是絕對安全的。
缺點分析:
(1)速度慢,比DES慢100倍,一般來說只用于少量數據加密。
(2)產生秘鑰麻煩,受到素數產生技術的限制,難以做到一次一密。
(3)若分組大小為k,n需要滿足:2的k次方<n<2的k+1次方。為了保證安全性,需要使n盡可能大,所以分組長度也跟著增大,不僅運算代價高,而且不利于數據格式的標準化。
備注:基本RSA公鑰密碼存在很多缺陷,實際中使用其改進型,n一般取1024位,e常用3,7,65573等。
3.3 其它常見公鑰體制算法公鑰算法總是要基于一個數學上的難題。
ElGamal算法——美國數字簽名標準DSS——數據加密,數字簽名——素域乘法群離散對數難題。
橢圓曲線算法(ECC)——數字簽名(快)——有限域上的橢圓曲線離散對數問題。
四 各種算法應用范圍
RSA::加解密,數字簽名,秘鑰交換
Dieffie-Hellman:秘鑰交換
DSS:數字簽名,也可加密?
ECC:數字簽名
總結
以上是生活随笔為你收集整理的信息安全——非对称密码体制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git速成
- 下一篇: Stealing Harry Potte