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

分享到微博請遵守國家法律
乌拉特中旗| 井冈山市| 东乌珠穆沁旗| 青龙| 余干县| 皋兰县| 榕江县| 通山县| 石台县| 皋兰县| 庆城县| 疏勒县| 印江| 玛曲县| 林甸县| 北流市| 龙州县| 建瓯市| 五常市| 磐石市| 房山区| 杂多县| 若尔盖县| 仁化县| 延川县| 页游| 麦盖提县| 天镇县| 江孜县| 青田县| 金堂县| 曲阳县| 孟津县| 红桥区| 滦南县| 荣昌县| 无锡市| 沿河| 黄石市| 芷江| 大姚县|