RSA:是一种非对称加密算法(所谓非对称加密算法,是指一对加密密钥和解密密钥,这两个密钥数学相关
又称为公开密钥加密算法),该算法依托于数学里面的“极大整数因式分解“的艰难性,而建立。
数字签名:如果解密密钥是公开的(公钥公开),用加密密钥加密信息(私钥加密),可以用公开的公钥对
解密,用于客户验证持有私钥一方来发布的数据或者文件是完整准确的,接受者由此可知这条信息确实来自
拥有私钥的某人,这被称为数字签名。
数字证书:公钥的表现形式就是数字证书。
公钥:如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据。称为公开密钥加密。
DES:是一种基于56位密钥的对称加密算法,于2001年,DES作为一种标准已经被高级加密标准(AES)所
取代,有时作为算法称为DEA。是一种将固定长度的信息通过一系列复杂的操作变成同样长度的密文的算法。
AES:即高级加密标准,是一种迭代的,对称加密算法,基于排列和置换运算,排列是对数据重新进行排列,
置换是将一个数据单元替换位另一个,AES使用几种不同的方法来执行排列和置换运算。
2.1: 判断一个正整数是否为质数的算法。函数签名如下
#include<iostream>
#include<math.h>
using namespace std;
int isprime(int n)
{int j,i;
j=sqrt(n)+1;
for(i=2;i<j;i++)
if(n%i==0)
return 0;//不是素数
return 1;//是素数
}
int main(){
int word;
cout<<"请输入一个大于1的数:"<<endl;
cin>>word;
if(isprime(word))
cout<<word<<"是素数"<<endl;
else
cout<<word<<"不是素数"<<endl;
return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------
#include<iostream>
#include<math.h>
#include<time.h>
#include<stdlib.h>
using namespace std;
//产生随机数
int suiji(int r){
float ran_numf=0.0;
srand((unsigned)time(0));
ran_numf=rand()/(float)(RAND_MAX);
long a;
a=(long)(ran_numf*(pow(2,r)-1));
return a;
}
//转换成二进制
void binary(long n){
if(n<2)
cout<<n;
if(n>=2)
{binary(n/2);
cout<<n%2;}
}
int main(){
int num;
long p;
cout<<"请输入一个随机数bit位的长度:"<<endl;
cin>>num;
p=suiji(num);
binary(p);
return 0;
}