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