数字签名
数字签名用于认证,只有信息的 发送者 才能产生的 别人无法伪造 的一段数据,这段数据也是对信息的发送者发送信息真实性的一个有效证明
数据的接收者验证 数据来源的 真实性 和 数据在传输过程中 是否被篡改。
优点
防冒充(伪造)
私有密钥只有签名者自己知道,所以其他人不可能构造出正确的
可鉴别身份
接收方能够鉴别发送方所宣称的身份
防篡改(防破坏信息的完整性)
会比较信息摘要,不可能被篡改,从而保证了数据的完整性。
防抵赖
签名者无法抵赖:私有密钥只有签名者自己知道,所以数字签名不可能冒充伪造
接收者无法抵赖:要求接收者返回一个自己的签名表示收到的报文,给对方或者第三方或者引入第三方机制
缺点
数据没有加密,虽然不能被篡改,但 不能防止被动攻击,会被抓取
执行过程
签名过程:
- 发送方首先利用
哈希函数对原数据生成信息摘要 - 使用 自己的私钥 对信息摘要进行 加密,生成
数字签名 - 发送方将
原数据和数字签名一同发送给接收方。
验证过程:
- 接收方收到数据后,利用相同的
哈希函数对原数据生成信息摘要。 - 同时,使用 发送方的公钥 对数字签名进行 解密,得到一个
信息摘要 - 比较这两个信息摘要。如果一致,则证明数据在传输过程中未被篡改,且数据确实 来自签名的发送方
关键操作
因为加密后,可能要发给多个人,所以
- 使用 发送者的私钥 进行签名
- 接收者用 发送者的公钥 进行解密
加密与认证区别
加密是用于确保数据的保密性,阻止对手的被动攻击,如截取,窃听等
认证用于确保报文发送者和接收者的真实性以及报文的完整性,阻止对手的主动攻击,如冒充、篡改、重播等。
参考:
https://blog.csdn.net/w605283073/article/details/137125843
题
在安全通信中,S将所发送的信息使用()进行数字签名,T收到该消息后可利用()验证该消息的真实性。
A、S的公钥
B、S的私钥
C、T的公钥
D、T的私钥
A、S的公钥
B、S的私钥
C、T的公钥
D、T的私钥
答案
注意:
- 进行数字签名,是用 自己的 私钥 加密
- 验证该 消息的真实性,用 对方的 公钥 解密
B
A
提示:加密过程如下:
- S 用 T 的公钥加密
- T 用 自己的 私钥解密
题
以下关于认证和加密的叙述中,错误的是()。
A、加密用以确保数据的保密性
B、认证用以确保报文发送者和接收者的真实性
C、认证和加密都可以阻止对手进行被动攻击
D、身份认证的目的在于识别用户的合法性,阻止非法用户访问
系统
答案
C,认证(数字签名),没人对明文加密成密文,所以无法阻止被动攻击
题
可用于数字签名的算法是
A、RSA
B、IDEA
C、RC-4
D、MD5
答案
A
