資源描述:
《RSA加解密算法》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、RSA加解密算法1實(shí)驗(yàn)?zāi)康牧私釸SA加解密算法2實(shí)驗(yàn)內(nèi)容編程實(shí)現(xiàn)RSA加解密算法3實(shí)驗(yàn)步驟3.1選擇素?cái)?shù)p,q選擇p,q,p,q都是素?cái)?shù),p≠q。由于P和q都是大素?cái)?shù),所以為了方便由程序自動(dòng)生成。//產(chǎn)生隨機(jī)素?cái)?shù)p和qvoidprime_random(int*p,int*q){inti,k;time_tt;p[0]=1;q[0]=3;//p[19]=1;//q[18]=2;p[MAX-1]=10;q[MAX-1]=11;do{t=time(NULL);srand((unsignedlong)t);for(i=1;i
2、[MAX-1]-1;i++){k=rand()%10;p[i]=k;}k=rand()%10;while(k==0){k=rand()%10;}p[p[MAX-1]-1]=k;}while((is_prime_san(p))!=1);printf("素?cái)?shù)p為:");for(i=0;i
3、+){k=rand()%10;q[i]=k;}}while((is_prime_san(q))!=1);printf("素?cái)?shù)q為:");for(i=0;i4、;printf("隨機(jī)產(chǎn)生一個(gè)與(p-1)*(q-1)互素的e:");do{t=time(NULL);srand((unsignedlong)t);for(i=0;i5、);return;}3.3確定d確定d使得de≡1mod?n。?n=p-1q-1//根據(jù)上面的p、q和e計(jì)算密鑰dvoidrsad(inte[MAX],intg[MAX],int*d){intr[MAX],n1[MAX],n2[MAX],k[MAX],w[MAX];inti,t[MAX],b1[MAX],b2[MAX],temp[MAX];mov(g,n1);mov(e,n2);for(i=0;i6、;b1[0]=0;//b1=0;b2[MAX-1]=1;b2[0]=1;//b2=1;while(1){for(i=0;i7、n1=n2;mov(r,n2);//n2=r;mov(b2,t);//t=b2;for(i=0;i8、計(jì)算得出的d:");for(i=0;i