首页
社区
课程
招聘
[原创]RSA数字签名?原来这么好理解!
发表于: 2020-11-25 22:46 19478

[原创]RSA数字签名?原来这么好理解!

2020-11-25 22:46
19478

前言

​ 数字签名就是附加在数据单元上的一些数据。而这些数据可以用来确认数据单元的来源(即确认是谁发给你的数据),并且可保护数据单元的完整性(即确保不被其他人对所传数据进行伪造,篡改)。

 

​ 数字签名算法是依靠公钥加密技术实现的。在公钥体制内,每一个使用者都拥有一对儿公钥和私钥。公钥可以公开发布,而私钥是保存在自己手里。数字签名算法就是依靠用私钥签名,公钥验证签名的方式来保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖行为发生。

 

​ 本文将通过讲解RSA数字签名的实现方式,向各位读者说明数字签名在现实生活中的重要性。

RSA数字签名详解

一个引人深思的小故事

​ 某天,Bob和Alice在网络上发生了以下对话。

 

​ Bob: Alice,在吗?我是Bob,我现在有急事,快借我5W,打到XXX账户里

 

​ Alice:好的,你稍等,我马上给你转过去,记得还我。

 

​ Bob:当然,没问题,我过几天会还你的。

 

​ 过几天后......

 

​ Alice:Bob,还记得几天前你问我借5W吗?我想,你该还钱了。

 

​ Bob:我没问你借过啊,那是黑客干的事。

 

​ 我们假设上述对话信息均是通过公钥加密的。那么在这里我们引出了一个很重要的问题,那就是发送信息方Bob在事后可以否认自己曾经发送过的报文。为什么他能够否认自己的行为,把锅甩给黑客呢,这就要引人另一个概念:中间人攻击。

 

 

​ 根据上图所示,公钥密码体制无法抵御中间人攻击,尽管没有出现中间人攻击,Bob想通过使用这套说辞来抵赖,是存在现实的合理性的。

RSA数字签名原理


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (3)
雪    币: 10846
活跃值: (1069)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
2
写得容易懂,很适合入门者
建议:把私钥运算,不要叫‘加密’,而是改为‘签名’;把公钥运算,不要叫‘解密’,而是改成‘验签’

尽管在RSA中 ‘加密’与‘验签’同样使用公钥,‘解密’与‘签名’同样使用私钥,但其实他们在工业协议中的padding和密钥管理方式上有很大区别。
而且除了RSA以外,DSA和ECC都会把‘加密’与‘验签’严格区分开,把‘解密’与‘签名’严格区分开。所以为了不至带偏初学者,最好把它们都区分开。
2020-12-23 12:07
1
雪    币: 41
活跃值: (1038)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了!
2020-12-23 13:48
0
雪    币: 536
活跃值: (446)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看场雪 写得容易懂,很适合入门者[em_63] 建议:把私钥运算,不要叫‘加密’,而是改为‘签名’;把公钥运算,不要叫‘解密’,而是改成‘验签’ 尽管在RSA中 ‘加密’与‘验签’同样使用公钥,‘解密 ...
感谢提出的建议!以后我会将自己的语言描述的更精确一点
2020-12-27 13:37
0
游客
登录 | 注册 方可回帖
返回