資源描述:
《加密算法介紹》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、RSA加密算法介紹? 首先,找出三個數(shù),p,q,r, 其中p,q是兩個相異的質數(shù),r是與(p-1)(q-1)互質的數(shù)?! ,q,r這三個數(shù)便是privatekey。接著,找出m,使得rm==1mod(p-1)(q-1).....這個m一定存在,因為r與(p-1)(q-1)互質,用輾轉相除法就可以得到了.....再來,計算n=pq.......m,n這兩個數(shù)便是publickey?! 【幋a過程是,若資料為a,將其看成是一個大整數(shù),假設a=n的話,就將a表成s進位(s<=n,通常取s=2^t),則每一位數(shù)均小於
2、n,然後分段編碼......接下來,計算b==a^mmodn,(0<=b若p,q是相異質數(shù),rm==1mod
3、(p-1)(q-1),a是任意一個正整數(shù),b==a^mmodpq,c==b^rmodpq,則c==amodpq證明的過程,會用到費馬小定理,敘述如下:m是任一質數(shù),n是任一整數(shù),則n^m==nmodm(換另一句話說,如果n和m互質,則n^(m-1)==1modm)運用一些基本的群論的知識,就可以很容易地證出費馬小定理的........<證明>因為rm==1mod(p-1)(q-1),所以rm=k(p-1)(q-1)+1,其中k是整數(shù)因為在modulo中是preserve乘法的(x==ymodzandu==vmodz=>xu==yvm
4、odz),所以,c==b^r==(a^m)^r==a^(rm)==a^(k(p-1)(q-1)+1)modpq1.如果a不是p的倍數(shù),也不是q的倍數(shù)時,則a^(p-1)==1modp(費馬小定理)=>a^(k(p-1)(q-1))==1modpa^(q-1)==1modq(費馬小定理)=>a^(k(p-1)(q-1))==1modq所以p,q均能整除a^(k(p-1)(q-1))-1=>pq
5、a^(k(p-1)(q-1))-1即a^(k(p-1)(q-1))==1modpq=>c==a^(k(p-1)(q-1)+1)==amodpq
6、2.如果a是p的倍數(shù),但不是q的倍數(shù)時,則a^(q-1)==1modq(費馬小定理)=>a^(k(p-1)(q-1))==1modq=>c==a^(k(p-1)(q-1)+1)==amodq=>q
7、c-a因p
8、a=>c==a^(k(p-1)(q-1)+1)==0modp=>p
9、c-a所以,pq
10、c-a=>c==amodpq3.如果a是q的倍數(shù),但不是p的倍數(shù)時,證明同上4.如果a同時是p和q的倍數(shù)時,則pq
11、a=>c==a^(k(p-1)(q-1)+1)==0modpq=>pq
12、c-a=>c==amodpqQ.E.D.這個定理說明a
13、經(jīng)過編碼為b再經(jīng)過解碼為c時,a==cmodn(n=pq)....但我們在做編碼解碼時,限制0<=a14、1585042342618102595143352719113605244366355473931231576254493830221466153453729211352820124III.把變換后的密鑰等分成兩部分,前28位記為C[0],后28位記為D[0].IV.計算子密鑰(共16個),從i=1開始。1.分別對C[i-1],D[i-1]作循環(huán)左移來生成C[i],D[i].(共16次)。每次循環(huán)左移位數(shù)如下表所示:i.輪12345678910111213141516位數(shù)11222222122222212.串聯(lián)C[i],D[i],得
15、到一個56位數(shù),然后對此數(shù)作如下變換以產(chǎn)生48位子密鑰K[i]。變換過程如下:1.1417112415328156211023191242681672720132415231374755304051453348444939563453