文档介绍:信息与网络安全
信息与网络安全
信息与网络安全
信息与网络安全实验报告
一、实验名称
设计数字签名
二、实验目的
理解数字签名,学会设计数字签名
三、实验原理
1:调用、NET2、0的MAKECERT创建含有私钥的数字Program prog = new Program();
ds = prog、CreateSignature(strMsg);
//模拟签名在传输途中遭到破坏或修改
//、、、
//ds、signature = new byte[40];
if (prog、VerifySignature(ds))
{
//验证通过
Console、WriteLine("The signature used to sign the hash has been verified、");
}
else
{
//验证未通过
Console、WriteLine("The signature used to sign the hash doesn't match the hash、");
}
Console、ReadLine();
}
}
}
五、对数字签名算法的理解
数字签名就是非对称密钥加密技术与数字摘要技术的应用。数字签名有两种功效:一就是能确定消息确实就是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二就是数字签名能确定消息的完整性。因为数字签名的特点就是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。”
一 、实验名称
PGP算法
二、 实验目的
了解PGP的工作原理,掌握PGP算法的使用
信息与网络安全
信息与网络安全
信息与网络安全
三、 实验原理
发送方创建消息
发送方生成消息的160位的散列码
用发送方私钥对散列进行RSA加密,加到消息上
传输数据
接收方用发送方的公钥对加密部分进行RSA解密
接收方将剩余数据生成160位散列码
生成散列与解密散列进行比较,如果匹配,则认证成功
四 源程序 :
import java、io、*;
import java、security、*;
import java、lang、reflect、*;
import javax、crypto、*;
import javax、crypto、spec、*;
public class DecryptStart extends ClassLoader
{
// 这些对象在构造函数中设置,
// 以后loadClass()方法将利用它们解密类
private SecretKey key;
priv