幫4章常用信慮加密術介紹 103
的長度,RSA算法把每一塊明文轉化為與密鑰長度相同的密文塊密鑰越長,加密效果越好 但加密解密的開銷也越大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA
的一個比較知名的應用是SsL,在美國和加拿大SSL用128位 它地區(包括中國)通用的則是40位版本。ジA算法,由于出口限制;在其
公用密鑰的優點就在于,也許你并不認識某一實體,但只要你的服務器認為該實體的CA
( Certified Authority)是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求
的。例如信用卡購物,服務方對自己的資源可根據客戶CA的發行機構的可靠程度來授權。
目前國內外尚沒有可以被廣泛信賴的CA。美國 Natescape公司的產品支持公用密鑰,但把
Natescape公司作為CA。由外國公司充當CA在我國是一件不可想像的事情。
來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實 公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起 實際
傳輸的數據加密、解密。另外,公鑰加密也用來對專用密鑰進行加密。,縣回?同全
4.3.2RSA密碼體制回個 平公面足人出為3不圖 出是
的方法,稱作MIT體制,后來被廣泛稱之為RSA體制。它既可用加密,又可用于數字簽字,易 MT三位年請數學家R: Rive, A Shamir和しい Adleman發現了一種用數論構造雙鑰
懂且易于實現,是目前仍然安全并且逐步被廣泛應用的一種體制。國際上一些標準化組織 ISO、ITU及 SWIFT等均已接受RSA體制作為標準。在1erme中所采用的PGP( Pretty
數論中大整數分解的困難性。量的 Good Privacy)也將RSA作為傳送會話密鑰的數字簽字的標準算法。RSA算法的安全性基于
計算n=pl*p2,其歐拉函數值p(n)=(pl=1)(p2-1)。二向要 1.RSA密碼體制說明如下:獨立地選取兩大索數p1和2(各100-200位十進制數字),
隨機選一整數e,1≤e<p(n),(p(a),e)=1因而在模p(n)下,e有逆元d=e-'modg(n)
即e*d=1modg(m)取公鑰為n,e,密鑰為d(pl,p2不再需要,可以銷毀)。加密:將明文分組,各組在modn下可惟一地表示(以二元數字表示,選2的最大冪小于
Az=x:1≤x<n,(x,m)=反,母良 各組長達200位十進制數字。可用明文集:)= n bom y 六想,
注意,(x,n)≠1是很危險的,參看下面安全性分析。x∈Az的概率為5口 p(n)/h=(pl-1)(p2-1)plp2=1-1pl-142+1iplp2→1油露的當
密文:c= xe mod n ST In=n T-F Ba II AP
解密:x= d mod0)黑示一的中 陷門函數:z=(1,p2,d)。こュ?は?文個一的文個基す野
現在,用一個簡單的例子來說明gSA的工作原理:取兩個質數p1=11,p2=13,p1和p2
的乘積為n=pl*Pp2=143,算出另一個數qm)(p1-1)(p2-1)=120;再選取一個與q(n) =120互質的數例如で稱為”公開指數”う對手這個值,可以算出另ー個值d-10(稱
“秘藩指數?)滿足d=1(20)(也是7-193=72,除以120確實余1).(ao和d
d)這兩組數分別為“公開密鑰”和“移密密鑰"飛”的想
A秀同安會與控 設想X需要發送機密信息(明文,即未加密的報文)x=85給Y,X已經從公開媒體中得到
af-c=xmod n=857mod 143=123 廠的公開密鑰(n,0)=(04,1,于是S算出加密值
密鑰(n,d)=(143,123)計算123103mod143,得到的值就是明文(值)85,實現了解密。其中的 將c發給Y。Y在收到“密文”(即經加密的報文)c=123后,利用只有Y自己知道的秘密
計算用一般公式來表達,是 cd mod n=(x) d mod n=x mod n學,學キ同
根據初等數論中的歐拉(Euer)定理,應用x=modn;得:?面溶內四的
所以立可以得到X發給他的真正信息x=85主在學aッ ズ x mod n口公。AD式
全性何在?回答是,只要n足夠大,例如,有512bit,或1024bit甚至2048 bitini p1*pP2中的 自然,我們要間,在Y向公眾提供了公開密鑰,密文c又是通過公開的途徑傳送的,其安
pl和p2的位數差不多大小,任何人只知道公開密銀(n,e),目前是無法算出移密密鑰(n,d
的。其困難在手從乗積n難以找出它的兩個巨大的質數因子。合y上面例子中的n=143,只是示意用的,用來說明RSA公開密鑰密碼系統的計算過程,從
找出 p2非常簡便,而逆運算卻難而又難,這是一種“單向性”運算。相應的函數稱為“單向函數 的質數因子11和13是毫不困難的。對于巨大的質數l和P2,計算乘積=pl
任何單向函數都可以作為某一種公開密鑰密碼系統的基礎,而單向函數的安全性也就是這種
公開密鑰密碼系統的安全性。劑的 公開密鑰密碼系統的一大優點是不僅可以用于信息的保密通訊,而且可以用于信息發送 活會尋A2
者的身份驗證( Authentication),或數字簽名( Digital Signature)。我們仍用例子來作示意說明
編碼值),必須讓Ⅹ確信該信息是真實的,是由Y本人所發的。為此,Y使用自己的秘密密鑰 要向X發送信息m(表示他身份的,可以是他的身份證號碼,或其名字的漢字的某一種
(n,d)計算x= md mod n建立了一個“數字簽名”,通過公開的通訊途徑發給X。X則使用Y
的公開密鑰(n,e)對收到的x值進行計算:デabB,文: xe mod n=(md) e mod n=m完遺張十00
這樣,X經過驗證,知道信息x確實代表了Y的身份,只有他本人才能發出這一信息,因
算出他的秘密密鑰來冒充他的“簽名”。為只有他自己知道秘密密鑰(n,d)。其他任何人即使知道Y的公開密鑰(n,e),也無法猜出或
相應密文y= xe mod n。對于x≠x,必有y≠y。Zn中的任一元素(0,p1,p2除外)是一個明 RSA加密實質上是一種Zn+Zn上的單表代換!給定n=p1*p2和合法明文x∈Zn,其
文,但它也是與某個明文相對應的一個密文。因此,RSA是Zn+Zn的一種單表代換密碼,關
鍵在于n極大時,在不知陷門信息下;極難確定這種對應關系,而采用模指數算法又易于實現
種給定的代換,正由于這種一一對應性,使RSA不僅可以用于加寄也可以用于數字簽字。2.RSA的安全性。RSA公開密鑰密碼體制的安全性取決于從公開密鑰(n,e)計算出秘密
密鑰(n,d)的困難程度,而后者則等同于從n找出它的兩個質因數pl和p2。因此,尋求有效 的因數分解的算法就是尋求一把銳利的牙”,網站建設來擊穿RSA公開密鑰密碼系統這個“盾”。數學
本文地址:http://m.123beaconmarketing.com//article/3778.html