亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rsa.cpp

?? RSA對(duì)稱、非對(duì)稱加密解密算法
?? CPP
字號(hào):
#include "stdafx.h"
#include "RSA.h"
#include<stdlib.h>
#include<time.h>


unsigned long gcd(unsigned long a,unsigned long b);

CRSA::CRSA(void)
{
}

CRSA::~CRSA(void)
{
}
/*
CBigInt CRSA::Gen_Prime(int len)
{
	srand((unsigned) time(NULL));
	unsigned long tmp,i;
	string temp;
	
		i=len/8;
		this->number.Clear0();
		this->number.m_nLength=i+1;
		for(;i>0;i--)
		{
			tmp=rand()%9973;
			tmp*=9973;
			tmp+=rand()%9973;
			this->number.m_ulvalue[i]=tmp;
		}
		while((tmp=rand()%9973)%2==0)
		{
		}
		tmp+=(rand()%9973)*9973;
		this->number.m_ulvalue[0]=tmp;
		while(1)
		{
			this->number.OutPutToStr(temp,10);
			if(this->prime_check(0))
			{
				cout<<temp<<"是素?cái)?shù)"<<endl;
				return this->number;
			}
			cout<<temp<<"是合數(shù)"<<endl;
			this->number.Add(2);
		}
}
*/

CBigInt CRSA::Gen_Prime(int len)
{
	
	unsigned long temp,bigint_len=len/8+1,chengshu,isprime;
	string result,tmp_str1,tmp_str2;
	CBigInt b,gcdreturn,randtmp;
	int gen_prime=0,count;
	this->number.Rand(bigint_len);
	b.Seed(this->number);

	do
	{
		
		//this->number.OutPutToStr(result,10);
		
		do
		{
			b.Mov(b.Rand64());
			do
			{
				randtmp.Mov(b.Rand64());
				b.Mov(b.Mul(randtmp));

			}while(b.m_nLength<bigint_len);
		
		b.Mov(b.Mod(this->number));
		//b.OutPutToStr(tmp_str1,10);
		//cout<<result<<" "<<tmp_str1<<" ";
		}while(b.Cmp(0)==0);

		
		gcdreturn.Mov(b.Euc(this->number));

		//gcdreturn.OutPutToStr(tmp_str2,10);
		//cout<<tmp_str2<<endl;

		this->number.Mov(this->number.Div(gcdreturn));
		b.Mov(b.Div(gcdreturn));
		this->number.Mov(this->number.Add(b));
		count=0;
		gen_prime=0;
		while((isprime=this->prime_check(0))==0)
		{
			this->number.OutPutToStr(result,10);
			if(isprime)
			{
				//cout<<result<<"素?cái)?shù)"<<endl;
				break;
			}
			else
			{
			//cout<<result<<"不是一個(gè)素?cái)?shù)"<<endl;
			count++;
			if(count==20)
			{
				gen_prime=1;
				break;
			}
			}
			this->number.Mov(this->number.Add(b));
			//cout<<"+1"<<endl;
		}
	}
	while(gen_prime);
	
	//this->number.OutPutToStr(result,10);
	//cout<<result<<"是一個(gè)素?cái)?shù)"<<endl;

	return this->number;

}

void CRSA::Gen_Public_Pravite(int len,CBigInt& public_key,CBigInt& private_key,CBigInt& n)
{
	CBigInt p,q,by_n,test,tmp;
	p.Mov(Gen_Prime(len/2));
	q.Mov(Gen_Prime(len/2));
	n.Mov(p.Mul(q));
	p.Mov(p.Sub(1));
	q.Mov(q.Sub(1));
	by_n.Mov(p.Mul(q));//by_n=(p-1)*(q-1)
	p.~CBigInt();q.~CBigInt();
	do
	{
	test.Rand(len);
	test.Mov(test.Mod(by_n));
	}
	while(test.Cmp(0)==0);
	tmp.Mov(test.Euc(by_n));
	public_key.Mov(test.Div(tmp));
	private_key.Euc(by_n,private_key);
}
void CRSA::Gen_Public_Pravite(int len,string& public_key,string& private_key,string& result_n)
{
	CBigInt p,q,n,by_n,public_k,private_k,test,tmp;
	p.Mov(Gen_Prime(len/2));
	q.Mov(Gen_Prime(len/2));
	n.Mov(p.Mul(q));
	p.Mov(p.Sub(1));
	q.Mov(q.Sub(1));
	by_n.Mov(p.Mul(q));//by_n=(p-1)*(q-1)
	p.~CBigInt();q.~CBigInt();
	do
	{
	test.Rand(len);
	test.Mov(test.Mod(by_n));
	}
	while(test.Cmp(0)==0);
	tmp.Mov(test.Euc(by_n));
	public_k.Mov(test.Div(tmp));
	public_k.Euc(by_n,private_k);
	public_k.OutPutToStr(public_key,10);
	private_k.OutPutToStr(private_key,10);
	n.OutPutToStr(result_n,10);
}
unsigned long gcd(unsigned long a,unsigned long b)
{
	if(b==0)
		return a;
	else
		return gcd(b,a%b);
}

string CRSA::Encryp(std::string mingwen, std::string public_key, std::string n)
{
	CBigInt m,e,mod,result;
	string temp;
	m.InPutFromStr(mingwen,10);
	e.InPutFromStr(public_key,10);
	mod.InPutFromStr(n,10);
	result.Mov(m.Mon(e,mod));
	result.OutPutToStr(temp,10);
	return temp;
}

CBigInt CRSA::Encryp(CBigInt mingwen, CBigInt public_key, CBigInt n)
{
	CBigInt result;
	result.Mov(mingwen.Mon(public_key,n));
	return result;
}

string CRSA::Decrypt(std::string miwen, std::string private_key, std::string n)
{
	CBigInt c,d,mod,result;
	string temp;
	c.InPutFromStr(miwen,10);
	d.InPutFromStr(private_key,10);
	mod.InPutFromStr(n,10);
	result.Mov(c.Mon(d,mod));
	result.OutPutToStr(temp,10);
	return temp;
}
CBigInt CRSA::Decrypt(CBigInt miwen, CBigInt private_key, CBigInt n)
{
	CBigInt result;
	result.Mov(miwen.Mon(private_key,n));
	return result;
}

string CRSA::Sign(std::string text, std::string private_key, std::string n)
{
	CBigInt c,d,mod,result;
	string temp;
	c.InPutFromStr(text,10);
	d.InPutFromStr(private_key,10);
	mod.InPutFromStr(n,10);
	result.Mov(c.Mon(d,mod));
	result.OutPutToStr(temp,10);
	return temp;
}

CBigInt CRSA::Sign(CBigInt text, CBigInt private_key, CBigInt n)
{
	CBigInt result;
	result.Mov(text.Mon(private_key,n));
	return result;
}

string CRSA::Sign_Check(std::string text, std::string public_key, std::string n)
{
	CBigInt m,e,mod,result;
	string temp;
	m.InPutFromStr(text,10);
	e.InPutFromStr(public_key,10);
	mod.InPutFromStr(n,10);
	result.Mov(m.Mon(e,mod));
	result.OutPutToStr(temp,10);
	return temp;
}

CBigInt CRSA::Sign_Check(CBigInt text, CBigInt public_key, CBigInt n)
{
	CBigInt result;
	result.Mov(text.Mon(public_key,n));
	return result;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av午夜电影| 91黄色小视频| 亚洲大片免费看| 国产日产欧美一区| 91精品午夜视频| 91小视频在线观看| 极品少妇xxxx偷拍精品少妇| 亚洲黄色尤物视频| 欧美国产国产综合| 精品女同一区二区| 欧美群妇大交群的观看方式| 成人91在线观看| 国产精品一二三| 久久国产综合精品| 亚洲一区在线观看网站| 中文在线一区二区| 日韩欧美另类在线| 91精品欧美综合在线观看最新 | 狠狠色狠狠色合久久伊人| 亚洲综合一区二区精品导航| 国产精品福利av| 国产日韩影视精品| 久久午夜羞羞影院免费观看| 欧美精品免费视频| 欧美伊人久久大香线蕉综合69| av影院午夜一区| 盗摄精品av一区二区三区| 美女高潮久久久| 欧美96一区二区免费视频| 亚洲一区日韩精品中文字幕| 亚洲日穴在线视频| 自拍偷自拍亚洲精品播放| 欧美韩国日本综合| 国产亚洲欧洲997久久综合 | 欧美军同video69gay| 欧洲一区二区av| 欧美制服丝袜第一页| 欧美性视频一区二区三区| 色欧美日韩亚洲| 欧洲精品在线观看| 欧美日韩免费电影| 欧美巨大另类极品videosbest | 午夜在线电影亚洲一区| 亚洲综合在线免费观看| 亚洲精品免费在线| 亚洲国产日韩综合久久精品| 亚洲综合在线第一页| 偷拍一区二区三区四区| 蜜桃视频一区二区三区| 久久99久久精品欧美| 久久99九九99精品| 粉嫩av一区二区三区在线播放| 国产成人午夜视频| 92国产精品观看| 欧美系列在线观看| 日韩欧美在线1卡| 国产亚洲精品资源在线26u| 欧美激情一区二区三区| 亚洲三级理论片| 玉足女爽爽91| 美女免费视频一区| 国产suv精品一区二区6| 91国产丝袜在线播放| 欧美猛男gaygay网站| 欧美mv日韩mv国产网站| 国产精品视频一区二区三区不卡| √…a在线天堂一区| 五月婷婷综合激情| 国产在线精品免费| 色综合一区二区| 日韩一区二区中文字幕| 亚洲国产岛国毛片在线| 一区二区免费在线播放| 久久99精品久久只有精品| 99久久伊人网影院| 91精品国产乱| 国产精品视频第一区| 亚洲gay无套男同| 国产尤物一区二区在线| 91美女片黄在线观看| 欧美一区二区三区婷婷月色| 中日韩免费视频中文字幕| 午夜在线电影亚洲一区| 国产成人在线视频网址| 在线看日韩精品电影| 欧美精品一区二区三区蜜桃 | 亚洲444eee在线观看| 国产美女在线观看一区| 欧美日韩视频第一区| 中文欧美字幕免费| 美腿丝袜一区二区三区| 91美女在线观看| 久久精品亚洲乱码伦伦中文| 亚洲成人午夜影院| 成人国产一区二区三区精品| 91麻豆精品91久久久久久清纯| 国产精品进线69影院| 精品一区二区三区的国产在线播放| 91免费小视频| 国产日产欧美一区| 久久电影网电视剧免费观看| 欧美无乱码久久久免费午夜一区| 久久精品在这里| 麻豆91精品视频| 欧美亚男人的天堂| 中文字幕在线一区| 国产在线精品免费| 欧美一区二区视频网站| 一级中文字幕一区二区| 成人高清视频免费观看| 久久新电视剧免费观看| 免费在线观看一区| 精品视频一区三区九区| 亚洲另类春色校园小说| 成人av第一页| 欧美国产丝袜视频| 韩国中文字幕2020精品| 日韩精品综合一本久道在线视频| 亚洲第一主播视频| 97国产精品videossex| 欧美激情资源网| 精品在线视频一区| 4438成人网| 亚洲成a人v欧美综合天堂下载| 色综合久久久久综合体| 国产精品久久久久久久久快鸭| 国产精品一区二区黑丝| 26uuu国产日韩综合| 久久精品国产99| 日韩精品专区在线| 九九国产精品视频| 亚洲精品在线观| 国产在线日韩欧美| 欧美α欧美αv大片| 韩国av一区二区三区| 精品国产一二三| 国产一区二区在线看| 精品国产乱码久久久久久老虎| 麻豆久久一区二区| 久久午夜老司机| 国产成人精品影视| 日本一区二区三区视频视频| 粉嫩av亚洲一区二区图片| 欧美国产日本韩| 91麻豆精东视频| 亚洲综合色视频| 91精品国产综合久久国产大片| 免费在线观看一区二区三区| 精品久久久网站| 国产高清在线精品| 国产精品福利影院| 日本丶国产丶欧美色综合| 亚洲成人av福利| 日韩三级中文字幕| 国产伦精品一区二区三区在线观看| 久久亚洲精品小早川怜子| 成人动漫在线一区| 一二三四区精品视频| 日韩三级视频中文字幕| 青青草97国产精品免费观看| 亚洲激情第一区| 欧美精品一区二区三区四区 | 在线观看一区日韩| 亚洲va欧美va人人爽| 欧美大片在线观看| 岛国精品在线观看| 玉米视频成人免费看| 欧美精品丝袜中出| 国产精品538一区二区在线| 国产精品素人视频| 欧美日韩国产中文| 国内不卡的二区三区中文字幕 | 蜜桃一区二区三区四区| 欧美激情一区二区三区| 欧洲人成人精品| 国产综合色视频| 一区二区三区四区蜜桃| 91精品国产免费| 成人永久免费视频| 午夜视频一区二区三区| 久久久久国产精品免费免费搜索| 色婷婷综合视频在线观看| 日本aⅴ精品一区二区三区| 国产女同性恋一区二区| 欧美日韩精品一区二区三区蜜桃| 国产乱码精品一区二区三区忘忧草| 亚洲精品国产a久久久久久| 精品国精品自拍自在线| 在线亚洲免费视频| 国产麻豆91精品| 午夜不卡在线视频| 亚洲欧洲日韩综合一区二区| 91精品国产日韩91久久久久久| www.av亚洲| 精品在线免费观看| 亚洲午夜久久久久久久久久久| 国产网站一区二区| 日韩女优视频免费观看| 在线区一区二视频| 成人avav影音|