RSA密碼體制回個
發布:2018-09-03 18:05:56 瀏覽:4050
幫4章常用信慮加密術介紹103
的長度,RSA算法把每一塊明文轉化為與密鑰長度相同的密文塊密鑰越長,加密效果越好但加密解密的開銷也越大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA
的一個比較知名的應用是SsL,在美國和加拿大SSL用128位它地區(包括中國)通用的則是40位版本。ジA算法,由于出口限制;在其
公用密鑰的優點就在于,也許你并不認識某一實體,但只要你的服務器認為該實體的CA
(CertifiedAuthority)是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求
的。例如信用卡購物,服務方對自己的資源可根據客戶CA的發行機構的可靠程度來授權。
目前國內外尚沒有可以被廣泛信賴的CA。美國Natescape公司的產品支持公用密鑰,但把
Natescape公司作為CA。由外國公司充當CA在我國是一件不可想像的事情。
來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起實際
傳輸的數據加密、解密。另外,公鑰加密也用來對專用密鑰進行加密。,縣回?同全
4.3.2RSA密碼體制回個平公面足人出為3不圖出是
的方法,稱作MIT體制,后來被廣泛稱之為RSA體制。它既可用加密,又可用于數字簽字,易MT三位年請數學家R:Rive,AShamir和しいAdleman發現了一種用數論構造雙鑰
懂且易于實現,是目前仍然安全并且逐步被廣泛應用的一種體制。國際上一些標準化組織ISO、ITU及SWIFT等均已接受RSA體制作為標準。在1erme中所采用的PGP(Pretty
數論中大整數分解的困難性。量的GoodPrivacy)也將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位十進制數字。可用明文集:)=nbomy六想,
注意,(x,n)≠1是很危險的,參看下面安全性分析。x∈Az的概率為5口p(n)/h=(pl-1)(p2-1)plp2=1-1pl-142+1iplp2→1油露的當
密文:c=xemodnSTIn=nT-FBaIIAP
解密:x=dmod0)黑示一的中陷門函數: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=xmodn=857mod143=123廠的公開密鑰(n,0)=(04,1,于是S算出加密值
密鑰(n,d)=(143,123)計算123103mod143,得到的值就是明文(值)85,實現了解密。其中的將c發給Y。Y在收到“密文”(即經加密的報文)c=123后,利用只有Y自己知道的秘密
計算用一般公式來表達,是cdmodn=(x)dmodn=xmodn學,學キ同
根據初等數論中的歐拉(Euer)定理,應用x=modn;得:?面溶內四的
所以立可以得到X發給他的真正信息x=85主在學aッズxmodn口公。AD式
全性何在?回答是,只要n足夠大,例如,有512bit,或1024bit甚至2048bitinip1*pP2中的自然,我們要間,在Y向公眾提供了公開密鑰,密文c又是通過公開的途徑傳送的,其安
pl和p2的位數差不多大小,任何人只知道公開密銀(n,e),目前是無法算出移密密鑰(n,d
的。其困難在手從乗積n難以找出它的兩個巨大的質數因子。合y上面例子中的n=143,只是示意用的,用來說明RSA公開密鑰密碼系統的計算過程,從
找出p2非常簡便,而逆運算卻難而又難,這是一種“單向性”運算。相應的函數稱為“單向函數的質數因子11和13是毫不困難的。對于巨大的質數l和P2,計算乘積=pl
任何單向函數都可以作為某一種公開密鑰密碼系統的基礎,而單向函數的安全性也就是這種
公開密鑰密碼系統的安全性。劑的公開密鑰密碼系統的一大優點是不僅可以用于信息的保密通訊,而且可以用于信息發送活會尋A2
者的身份驗證(Authentication),或數字簽名(DigitalSignature)。我們仍用例子來作示意說明
編碼值),必須讓Ⅹ確信該信息是真實的,是由Y本人所發的。為此,Y使用自己的秘密密鑰要向X發送信息m(表示他身份的,可以是他的身份證號碼,或其名字的漢字的某一種
(n,d)計算x=mdmodn建立了一個“數字簽名”,通過公開的通訊途徑發給X。X則使用Y
的公開密鑰(n,e)對收到的x值進行計算:デabB,文:xemodn=(md)emodn=m完遺張十00
這樣,X經過驗證,知道信息x確實代表了Y的身份,只有他本人才能發出這一信息,因
算出他的秘密密鑰來冒充他的“簽名”。為只有他自己知道秘密密鑰(n,d)。其他任何人即使知道Y的公開密鑰(n,e),也無法猜出或
相應密文y=xemodn。對于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公開密鑰密碼系統這個“盾”。數學