五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【密碼學(xué)基礎(chǔ)】使用歐幾里得算法求出RSA算法私鑰d

2023-08-17 21:55 作者:銅鑼燒愛吃關(guān)東煮  | 我要投稿

用C++遞歸實(shí)現(xiàn)UP所講解輾轉(zhuǎn)相除法(程序很爛,僅供參考)


#include<bits/stdc++.h>

using namespace std;


bool f1=0;//用于判斷函數(shù)是否第一次調(diào)用?

struct node //用于存儲函數(shù)生成的d,k?

{

unsigned long long d;

unsigned long long k;

bool f;

};


node fd(

unsigned long long e,

unsigned long long r)

{

//用于找到合適的私鑰d?

if(f1==1)//如果不是第一次調(diào)用?

{

//輾轉(zhuǎn)相除?

if(e>r)e%=r;

else r%=e;

if(e==1)

//假設(shè)k=0

return {1,0,0};

if(r==1)

//假設(shè)d=1

return {1,e-1,1};

}

else f1=1;

node rfd=fd(e,r);

if(rfd.f==0)

return {rfd.d,((e*rfd.d-1)/r),1};//計(jì)算上一個(gè)r?

if(rfd.f==1)

return {((1+r*rfd.k)/e),rfd.k,0};//計(jì)算上一個(gè)e

}


int main()

{

//按順序輸入e,r兩個(gè)參數(shù)?

unsigned long long e,r;

cin>>e>>r;

unsigned long long d;

d=fd(e,r).d;

//輸出生成的d以及判斷d是否合法?

cout<<"d="<<d<<endl;

cout<<"判斷:"<<((d*e)%r==1)<<endl;

system("pause > nul");

return 0;

}


【密碼學(xué)基礎(chǔ)】使用歐幾里得算法求出RSA算法私鑰d的評論 (共 條)

分享到微博請遵守國家法律
老河口市| 开阳县| 西乌珠穆沁旗| 黑河市| 奎屯市| 龙州县| 广州市| 马龙县| 云南省| 资兴市| 云霄县| 洞口县| 山阳县| 阳曲县| 柘荣县| 沐川县| 慈利县| 托克托县| 建阳市| 集安市| 吐鲁番市| 南雄市| 江川县| 古田县| 城步| 原阳县| 台东县| 孝感市| 晴隆县| 海门市| 平顺县| 泗阳县| 陇南市| 建始县| 云林县| 永德县| 全椒县| 吉林省| 葫芦岛市| 隆回县| 正定县|