RSA算法C語言代碼_第1頁
RSA算法C語言代碼_第2頁
RSA算法C語言代碼_第3頁
RSA算法C語言代碼_第4頁
RSA算法C語言代碼_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ttinclude<stdlib.h>ttinclude<stdio.h>ttinclude<string.h>ttinclude<math.h>ttinclude<time.h>chars[100],*c;intn,e,d,i,C,j,k=0,len;intstr[100],b[30];unsignedgcd(unsigneda,unsignedb){if(a%b==0)returnb;elsereturngcd(b,a%b);)voidEgcd(inta,intb,int&x,int&y){ //ax-by=lif(b=0I|a=0)(x=l;y=0;return;)if(a<b)(Egcd(a,b%a,x,y);x=(int)(b*y+l)/a;)else(Egcd(a%b,b,x,y);y二(int)(a*x-l)/b;)}voidRSA()(intp,q,N,Y;printf(〃請輸入素數(shù)p和q:〃);scanf(z,%d%d〃,&p,&q);n=p*q;N二(pT)*(qT);//printf(〃n=%dN=%d\nz,,n,N);〃初始化隨機(jī)數(shù)〃產(chǎn)生隨機(jī)整數(shù)〃初始化隨機(jī)數(shù)〃產(chǎn)生隨機(jī)整數(shù)e,e與N互質(zhì)while(1)(e=rand()%N;// printf(〃e二二%d\n〃,e);if(e=0)continue;if(gcd(N,e)==l)(break;//printf(,ze=%d\n/z,e);Egcd(e,N,d,Y);//printf(z/d=%dY=%d\n〃,d,Y);printf(〃公鑰PU={e=%d,n=%d}\n〃,e,n);printf(〃私鑰PR={d=%d,n=%d}\n〃,d,n);voidencrypt() 〃加密函數(shù){len=strlen(s);//hgprintf(z/len=%d\n/z,len);for(i=0;i<len;i++) 〃去掉s[100]中的空格(if(s[i]<97||s[i]>122)(b[k]=i;k++;for(j=i;j<len-l;j++){s[j]=s[j+l];)len一;))s[len]=W;〃結(jié)束符printf(〃密文是:〃);for(i=0;i<len;i++)c=l;//printf(〃shiji=%d\n〃,s[i]-97);for(intj=0;j<e;j++)C=(C*(s[i]-97))%n;//printf(〃C=%ld\n〃,C);}str[i]=C;printf(z,%d〃,str[i]);)printf(〃\n〃);voiddecrypt() 〃解密函數(shù)c二(char*)malloc(len*sizeof(int));for(i=0;i<len;i++)〃實現(xiàn)解密(C=l;for(intj=0;j<d;j++){C=(C*(str[i]))%n;//printf(〃C=%ld\n〃,C);}//printf(z/C=%d\nz,,C);c[i]=C+97;)c[i]=,\0"http://puts(c);for(intz=0;z〈k;z++) 〃加空格(for(i=0;i<len;i++)(if(i二二b[z])(for(j=len;j>i;j—)(c[j]=c[j-l];)c[i]=,';len++;b[z+l]=b[z+l]+(z+1);break;)c[len]='\0';printf(〃明文:〃);puts(c);intfunction()〃系統(tǒng)功能選擇頁面(intchoice;printf(,/==============================================================\n//);TOC\o"1-5"\h\zprintf(〃 歡迎進(jìn)入RSA算法 \n〃);printf(〃 1--加密 \n〃);printf(〃 2--解密 \n〃);printf(〃 3--退出 \n〃);printf(〃=================================\n〃);printf(〃請輸入要選擇的功能號:〃);scanf(〃%d〃,fechoice);returnchoice;intmain()intfunction();intfc;printfintfunction();intfc;printf(〃請輸入初始明文(小寫)gets(s);//puts(s);RSAO;while(1)fc=function();if(fc==l)encryp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論