- 数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用
- 数字签名机制作为保障网络信息安全的手段之一,可以解决伪造、抵赖、冒充和篡改问题。数字签名的目的之一就是在网络环境中代替传统的手工签字与印章,有着重要作用
- 数字签名在现代web商务中具有重要意义。大多数国家已经把数字签名看成与手工签名具有相同法律效力的授权机制。
数字签名原理介绍
- 发送方A使用私钥对信息进行加密(也叫签名),得到密文(也叫数字签名)。
- 接收方B接收到密文后,使用公钥进行解密(也叫验签),得到原文。
- 我们知道,公钥理论上任何人都是可以拿到的。如果C拿到A的公钥,那C截获到密文信息,是不是就可以直接解密信息了。这里我们就要说下数字签名的作用,数字签名并不是为了对数据进行加密,而是为了确定信息确实是A发出的,并且信息没有被篡改。假设C自己伪造了一组数据,但是C没有A的私钥,因此无法对自己伪造的数据加密,或者C用自己私钥对数据进行加密,发送给B,B是无法解密的。因此B也就知道消息不是A发出的。假设C拦截了A发出的密文,对密文进行了篡改,B同样无法解密。因此,只要B收到消息并且可以成功解密,那B就可以确定,消息确实是A发出的且消息未被篡改。
实际应用
1 计算摘要
摘要算法简介
- 发送方A使用摘要算法对消息M作摘要计算,得到消息摘要(MD1)
2 签名
- 发送方A用私钥加密这个消息摘要,得到数字签名(DS)
3 发送消息
- 发送方A将消息M和数字签名(DS)一起发送给接收方B
4 接收方计算消息摘要
- B收到消息M和数字签名(DS)后,先使用相同的消息摘要算法对消息M作摘要,得到消息摘要(MD2)。
5 接收方验签
- 接收方B用发送方的公钥解密数字签名(也叫验签)。得到MD1。
6 比较验证
- B比较验签得到的消息摘要MD1和对原始消息作摘要计算得到的消息摘要MD2是否相同。如果相同,说明信息确实是A发送的且没有被篡改。
|