




下載本文檔
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《收玉米》(教案)2024-2025學(xué)年數(shù)學(xué)一年級下冊
- 2025年股權(quán)投資協(xié)議業(yè)績對賭
- 2025年收購公司合同模板
- 三年級上冊數(shù)學(xué)教案-第3單元 長方形和正方形 1 長方形和正方形 第1課時(蘇教版)
- 2025年美發(fā)店合伙經(jīng)營合同
- 2025年公司銷售員合同模板
- (高清版)DB45∕T 560-2021 甘蔗中耕施肥培土機(jī)作業(yè)質(zhì)量
- Unit 2 An Accident Lesson 2 Let's practice(教學(xué)設(shè)計)-2024-2025學(xué)年北師大版(三起)英語六年級上冊
- 統(tǒng)編版四年級上冊語文第五單元習(xí)作 《生活萬花筒》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 期中重難點檢測卷(試題)-小學(xué)數(shù)學(xué)三年級上冊人教版(含解析)
- 鑄造廠總降壓變電所及廠區(qū)配電系統(tǒng)設(shè)計
- 點心主管工作職責(zé)
- 航拍中國優(yōu)秀課件
- 《做自己的心理醫(yī)生 現(xiàn)代人的心理困惑和自我療愈策略》讀書筆記思維導(dǎo)圖PPT模板下載
- 小學(xué)音樂組集體備課計劃
- 電力需求側(cè)自測題4科
- 稿件修改說明(模板)
- 血液透析安全注射臨床實踐專家共識解讀
- GB/T 41873-2022塑料聚醚醚酮(PEEK)樹脂
- SB/T 10940-2012商用制冰機(jī)
- GB/T 25945-2010鋁土礦取樣程序
評論
0/150
提交評論