實(shí)驗(yàn)二rsa公鑰密碼體制

實(shí)驗(yàn)二rsa公鑰密碼體制

ID:24157628

大?。?01.85 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2018-11-13

實(shí)驗(yàn)二rsa公鑰密碼體制_第1頁(yè)
實(shí)驗(yàn)二rsa公鑰密碼體制_第2頁(yè)
實(shí)驗(yàn)二rsa公鑰密碼體制_第3頁(yè)
實(shí)驗(yàn)二rsa公鑰密碼體制_第4頁(yè)
資源描述:

《實(shí)驗(yàn)二rsa公鑰密碼體制》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)

1、實(shí)胗工,完公翎密鵒加、解密技術(shù)一,實(shí)獪fl的通過(guò)編寫RSA算法(小素?cái)?shù))程序,并運(yùn)行此程序?qū)?shí)驗(yàn)數(shù)據(jù)進(jìn)行加密和解密操作,使學(xué)生進(jìn)一步掌握RSA公鑰密碼體制。工、實(shí)臉要求(1)用VC++寫出加密、解密程序代碼。(要求完成加密和解密,明文僅限為英文字母、數(shù)字、空格和標(biāo)點(diǎn)符號(hào)):(2)運(yùn)行自己編寫的程序,輸入素?cái)?shù)p=7,q=13:明文為最多兩位整數(shù)學(xué)號(hào):如2,23等,得出和應(yīng)的密文,并對(duì)其解密,驗(yàn)證解密后得到的明文是否與輸入的學(xué)號(hào)相Mo三、相襄知識(shí)1976年,W.DiffieM.E.Heilman提出了公鑰密碼學(xué)的思想。在公鑰密碼體制中,加密密鑰和

2、解密密鑰是不一樣的,加密密鑰可以公幵傳播而不危及密碼體制的安全性。公鑰密碼體制主要有三種:RSA公鑰密碼體制、EIGamal公鑰密碼體制、Menezes-Vanstone公鑰密碼體制。本次實(shí)驗(yàn)內(nèi)容是關(guān)于RSA公鑰密碼體制。RSA公鑰密碼體制的安全性是基于大整數(shù)的素分解問(wèn)題的難解性。其有自身的優(yōu)缺點(diǎn),優(yōu)點(diǎn)是加密密鑰可以公幵傳播,缺點(diǎn)是運(yùn)算速度較慢。算法描述:(本次試驗(yàn)只要求對(duì)小素?cái)?shù)實(shí)現(xiàn)RSA算法)1.密鑰的產(chǎn)生1)找出兩個(gè)相異的素?cái)?shù)P和Q,$N=PXQ,1=(P-1)(Q—1)。2)找出與M互素的整數(shù)E,且1〈E〈M利用歐氏算法計(jì)算出整數(shù)D,

3、使DXE=1MODMo歐氏算法:①nl-M,n2-E,bl-0,b2-l;②k=[nl/n2],r*-nl-k*n2;③如果1^0,則nl^-n2,n2<-r,t<-b2,b2—bl-k*b2,bl—t;轉(zhuǎn)第②步;④如果n2#l,則E模M不存在逆元;⑤如果n2=l,則E模M的逆元為b2modM為什么有:E模M的逆元為b2modM根據(jù)課本屮定理5.6,只要E,M互素且1〈E

4、a2(0)nl(0)+b2(0)n2(0)假設(shè)時(shí)成立,則有nl(j)=al(j)nl(O)+bl(j)n2(0)n2(j)=a2(j)nl(0)+b2(j)n2(0)當(dāng)i=j+l時(shí)有:nl(j+l)=n2(j)=a2(j)nl(0)+b2(j)n2(0)n2(j+l)=nl(j)-q(j)n2(j):al(j)nl(0)+bl(j)n2(0)-q(j){a2(j)nl(0)+b2(j)n2(0)}=(al(j)-q(j)a2(j))nl(0)+(bl(j)-q(j)b2(j))n2(0)這樣循環(huán)下去,直到q(i)=0,n2(i)=l則b2(i

5、)滿足:b2(i)氺E+a本M=1令:b2=b2(i)modM,則b2*EmodM=1故:b2是E關(guān)于模M的逆元3)丟棄P和Q,公開(kāi)E,D和N。E和N即加密密鑰,D和N即解密密鑰。2.明文加密字符a屬于明文集A,進(jìn)行c=a"EMODN運(yùn)算。c就是密文數(shù)據(jù)的一個(gè)字符塊,將所有密文塊合并起來(lái),就得到丫密文數(shù)據(jù)C。3.密文解密C-字符塊c屬于密文C,進(jìn)行a=cFilesBicrosoftVisualStudioMyProjectsgfgsdgsD

6、ebuggf.卜****RSA加密瑕密才程的'演示障輸入小整數(shù)萌文:3入兩個(gè)小素?cái)?shù)P,q:35計(jì)算后得到:卜=15sn=8睛輸入與卯互素的小整數(shù)。時(shí)7/*RSAalgorithm*/#include^include#include^include#include〈stdio.h>〈iostream〉〈math.h>usingnamespacestd;intgcd(intx,inty)/*求xy的最大公因子*/{intt;while(y)t=x,x=y,y=t%y;returnx;longcmp(longa

7、)/*求與a互素的數(shù)*/{longx,y;for(longi=3;i〈a;i++){y=i;x=gcd(i,a);/*如果兩個(gè)數(shù)的最大公因子為1則這兩個(gè)數(shù)互素*/if(x==l)break;}returny;}intniyuan(intsn,inte){intd,nl,n2,b2=l,bl=0,k,r,t;nl=sn;n2=e;while(1){k=nl/n2;r=nl-k氺n2;if(r!=0)nl=n2;n2=r;t=b2;b2=bl_k氺b2;bl=t;else{break;if(n2!=l){cout〈〈"e關(guān)于模sn的逆元不存在。"

8、<

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。