用C++写出如下RSA加密算法
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 13:49:43
用C++写出如下RSA加密算法
找出三个数p,q,r.其中p,q是两个相异的质数,r是与(p-1)×(q-1)互质的数,p,q,r这三个数便是私钥;(2)找到m,使得r×m==1 mod (p-1)×(q-1),这个m一定存在,因为r与(p-1)×(q-1)互质,用辗转相除法就可以得到;(3)计算n=p×q (其中:m,n这两个数便是公钥).
加密过程是,(1)若待加密的明文信息流定义为a,并将其看成是一个大整数,如果a>=n的话,就将a表乘s进位(s
找出三个数p,q,r.其中p,q是两个相异的质数,r是与(p-1)×(q-1)互质的数,p,q,r这三个数便是私钥;(2)找到m,使得r×m==1 mod (p-1)×(q-1),这个m一定存在,因为r与(p-1)×(q-1)互质,用辗转相除法就可以得到;(3)计算n=p×q (其中:m,n这两个数便是公钥).
加密过程是,(1)若待加密的明文信息流定义为a,并将其看成是一个大整数,如果a>=n的话,就将a表乘s进位(s
UpdateData(TRUE);
m_miwencode=_T("");
CKEY_PRODUCE rsa;
int codelenght,codenum;
codelenght=m_yuanwencode.GetLength();
codenum=codelenght/3;
CString strmod;
strmod.Format(_T("%d"),Model);
ModeNum=strmod.GetLength();
int Cryptograph;
for (int i=0;i<codenum;i++)
{
CString str;
str=m_yuanwencode.Mid(3*i,3);
int j=(str[0]-'0')*100+(str[1]-'0')*10+(str[2]-'0');
int temp= 1;
for(int k=0;k<PublicKey;k++)
{
temp *= j;
if( temp >= Model )
temp %= Model;
if( !temp )
Cryptograph = temp;
}
Cryptograph = temp % Model;
str.Format(_T("%d"),Cryptograph);
int strnum=str.GetLength();
if (strnum!=ModeNum)
{
int s=ModeNum-strnum;
if (s==1)
{
str=_T("0")+str;
}
if (s==2)
{
str=_T("00")+str;
}
if (s==3)
{
str=_T("000")+str;
}
if (s==4)
{
str=_T("0000")+str;
}
}
m_miwencode+=str;
}
UpdateData(FALSE);
m_miwencode=_T("");
vs2005编写的C++(mfc)程序.这个可以不,可以加密字符串,要的话把分给我,发你邮箱里
m_miwencode=_T("");
CKEY_PRODUCE rsa;
int codelenght,codenum;
codelenght=m_yuanwencode.GetLength();
codenum=codelenght/3;
CString strmod;
strmod.Format(_T("%d"),Model);
ModeNum=strmod.GetLength();
int Cryptograph;
for (int i=0;i<codenum;i++)
{
CString str;
str=m_yuanwencode.Mid(3*i,3);
int j=(str[0]-'0')*100+(str[1]-'0')*10+(str[2]-'0');
int temp= 1;
for(int k=0;k<PublicKey;k++)
{
temp *= j;
if( temp >= Model )
temp %= Model;
if( !temp )
Cryptograph = temp;
}
Cryptograph = temp % Model;
str.Format(_T("%d"),Cryptograph);
int strnum=str.GetLength();
if (strnum!=ModeNum)
{
int s=ModeNum-strnum;
if (s==1)
{
str=_T("0")+str;
}
if (s==2)
{
str=_T("00")+str;
}
if (s==3)
{
str=_T("000")+str;
}
if (s==4)
{
str=_T("0000")+str;
}
}
m_miwencode+=str;
}
UpdateData(FALSE);
m_miwencode=_T("");
vs2005编写的C++(mfc)程序.这个可以不,可以加密字符串,要的话把分给我,发你邮箱里
RSA非对称加密算法问题:
关于RSA加密算法的问题
下列属于非对称加密算法的是A.RSA B.TWOFISH C.DES D.IDEA
RSA加密算法原理请用用简单的语言描述~
des加密算法(c/c++)
DES加密算法C语言实现
RSA 一种公共密匙加密算法.现在最流行的是什么?
在RSA加密算法中 d*11=1 mod 8怎么得到d=3
p=7,q=11,e=17 RSA加密算法 d是多少?
aes des rsa的加密算法有什么区别?通俗简单讲,就是各个的优点和缺点,不要太深奥
除了RSA,有没有原理比较简单的非对称加密算法?不要求能实现数字签名之类,只要求能加密.
如何用C语言写出如下内容?