• 大小: 959B
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C/C++
  • 标签: 加密  

资源简介

RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2×e1)≡1(mod(p-1)×(q-1))。 (n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。 RSA加解密的算法完全相同,设A为明文,B为密文,则:A≡B^e2( mod n);B≡A^e1 (mod n);(公钥加密体制中,一般用公钥加密,私钥解密) e1和e2可以互换使用,即: A≡B^e1 (mod n);B≡A^e2( mod n);

资源截图

代码片段和文件信息

#include
int cs(int aint bint c)
 { 
int r=1;
b=b+1;
while(b!=1)
{
r=r*a;
r=r%c;
b--;
}
printf(“%d\n“r);
return r;
 }
int main()
{
 int pqmcr;
 printf(“请输入pq\n“);
 scanf(“%d%d“&p&q);
 int N=p*q;
 int L;
 L=(p-1)*(q-1);
 int E;
 printf(“请输入E\n“);
 scanf(“%d“&E);
 if(1>E||E>L)
 {
  printf(“请从新输入E“);
 }
 int D=1;
while(((E*D)%L)!=1)   
D++;
printf(“then caculate out that the Dis %d\n“D);
bool flag = fals

评论

共有 条评论