五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

分享到微博請遵守國家法律
晋城| 四会市| 军事| 睢宁县| 白城市| 尤溪县| 河津市| 齐河县| 图片| 台前县| 逊克县| 西安市| 理塘县| 靖州| 鱼台县| 宜昌市| 桃源县| 宝坻区| 罗平县| 搜索| 尚义县| 河池市| 盐池县| 瓦房店市| 平果县| 台中县| 乐陵市| 宕昌县| 唐河县| 永川市| 泽州县| 永昌县| 新河县| 潜江市| 新民市| 明光市| 什邡市| 句容市| 广水市| 乐亭县| 西畴县|