第二周作业

来源:互联网 发布:白银td知乎 编辑:程序博客网 时间:2024/06/08 19:51

1.公钥加密与数字签名之间的联系

加密同数字签名一样,公共密钥加密使用PGP等软件,使用数学算法转换信息并且依靠公共和专用密钥。但是,加密和数字签名是有区别的,加密的目的是通过把信息翻译成密码秘密地隐藏内容。数字签名的目的是完整性和身份识别性,验证一个信息的发送者和指出内容没有被修改。虽然加密和数字签名能够单独使用,但是,你还可以对加密的信息采用数字签名。

当你签署一个信息时,你使用你的专用密钥,任何有你的公共密钥的人都能够验证这个签名是合法的。当你加密一个信息的时候,你为接收你的信息的人使用这个公共密钥,并且使用他或者她的专用密钥解码这个信息。用于人们要保持自己的专用密钥的机密,并且使用口令保护这些密钥,这个信息的接收者应该是惟一的能够观看这个信息的人。

2.编程

(1).判断一个正整数是否为质数的

 int isPrime(long a)

{

for(int i=2;i<a/2;i++)

{

if(a%i==0) return 0;

}

return 1;

}

(2).随机生成一个n bit位的长整数

  long createRndInteger(int n)

{

long a;
long b
= 1;

for (int i=0;i<n;i++)
{
for (int j=0;j<i;j++)
{
b *= 2; 
}
a+=rand(0, 1) * b;
}
return a;
}

0 0