dg336699的个人空间 https://www.eechina.com/space-uid-141150.html [收藏] [复制] [分享] [RSS]

博客

简述签名验签

热度 12已有 1369 次阅读2018-11-20 16:09

相信很多开发者开发项目时初次遇到签名验签概念会疑惑签名是怎么实现的?如何验签?

要弄明这两个过程首先需要明确以下几个基本概念:

1、密钥对:在非对称加密技术中,有两种密钥,即公钥和私钥。

2、公钥:公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。

3、私钥:用私钥来解密公钥加密的数据。

4、摘要:对需要传输的文本,做HASH运算。

5、签名:使用私钥对需要传输的文本摘要进行加密,得到的密文即被称为该次传输过程的签名。

6、签名验证:数据接收端拿到传输文本,但是需要确认该文本是否就是发送方发出的内容,中途是否曾经被篡改。因此接收方拿自己持有的公钥对签名进行解密,得到了文本的摘要,然后使用与发送方同样的方法对文本计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。

签名验签过程简述如下:

小明给小丽发送消息,小明先计算出消息的摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。

小丽收到消息后,也会使用和小明相同的方法提取消息摘要,然后用小明的公钥解密签名,并与自己计算出来的消息摘要进行比较(这个过程,叫做"验签")。如果相同则说明消息是小明发送给小丽的。同时小明也无法否认自己发送消息给小丽的事实。

这个过程中我们可以发现签名验签过程的三个显著特点:

1)鉴权。公钥加密系统允许任何人在发送信息时使用公钥进行加密,签名能够让信息接收者确认发送者的身份。

2)完整性。发送方对要传输的数据做摘要,接收方接收到数据之后再做摘要并对比是否与发送方的结果一致,可以确定数据是否在线路上已经被篡改。

3)不可抵赖。接收方可以通过数字签名来防止所有后续的抵赖行为,因为接收方可以出示签名给第三方来证明信息的来源。

数字签名技术的实现方法:

数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。

LKT系列加密芯片支持国际上通用的对称和非对称算法以及数字签名,还支持客户移植算法以及程序。对于数据加密以及嵌入式版权保护数字签名有需求的开发人员来说是一个的很好的选择。


路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

发表评论 评论 (23 个评论)

回复 小屁孩123 2018-11-22 13:51
签名验签的过程,进行了加解密运算,这个过程是否影响了传输速度?
回复 xiaoyuhzou1228 2018-11-22 14:58
小屁孩123: 签名验签的过程,进行了加解密运算,这个过程是否影响了传输速度?
当然占用时间了,不过从安全角度来说也是非常必要的。如果银行不加密还用磁条卡,那后果是什么就不用说了吧
回复 Test_wf 2018-11-22 15:36
LKT芯片这几年口碑挺好,有几个朋友都推荐过,大家都可以看看,毕竟产品安全是最重要的
回复 kessy1 2018-11-22 16:23
嗯,我也听说过LKT芯片,口碑确实不错,身边很多朋友都用过,效果很好
回复 wang0327 2018-11-22 16:39
专业性太强了,看不懂,还是请大神来白话一下吧
回复 QL87 2018-11-22 18:53
上文2说公钥用来数据加密,那6签名验证为什么接收方拿到自己持有的公钥对签名进行解密?
回复 miniminimini 2018-11-22 20:40
公钥加密对应私钥解密,私钥签名对应公钥验签
回复 wang0327 2018-11-23 09:08
这么专业,佩服佩服,还是默默的学习吧
回复 咖啡杯 2018-11-23 13:37
我对这个技术很感兴趣,我会一直关注的
回复 xiaoyuhzou1228 2018-11-23 16:28
文中说用公钥加密的数据只能使用私钥解密,那用私钥加密的消息摘要是否只能用公钥解密?
回复 miniminimini 2018-11-23 16:44
xiaoyuhzou1228: 文中说用公钥加密的数据只能使用私钥解密,那用私钥加密的消息摘要是否只能用公钥解密?
理解的非常对٩(๑^o^๑)۶
回复 Mr.Wang 2018-11-23 16:51
真是踏破铁鞋无觅处啊......我司正在开发一款产品,正好涉及到文中所说的嵌入式版权保护,求大神介绍一款适合的芯片?
回复 QL87 2018-11-23 16:57
要用什么接口的?IIC、UART、SPI...
回复 kessy1 2018-11-23 18:54
我之前用过他家的一款LKT 4304加密芯片性能还不错,支持SPI、 IIC接口,可以尝试使用一下
回复 tyl2010 2018-11-23 20:05
我做财务时用过一款加密狗,就是一个财务软件,采用的就是这种加密方式,真的很安全。
回复 ?-о 2018-11-23 21:28
太专业了,刚接触数据加解密方面的知识。很有参考价值谢谢分享。
回复 小屁孩123 2018-11-24 23:36
是不是只有非对称算法才能实现签名?
回复 QL87 2018-11-25 09:38
小屁孩123: 是不是只有非对称算法才能实现签名?
对的,因为私钥是唯一的,不公开的,所以能证明身份。
回复 xiaoyuhzou1228 2018-11-25 10:22
最近开发一款产品需要用到RSA运算,RSA加解密速度快吗?对加密数据长度有要求吗?
回复 tyl2010 2018-11-25 12:44
一般来说,加密行业常用的算法都会应用加密芯片来具体实现,而加密芯片对于加解密一般会有协处理器,提高加解密速度,当然数据越长需要的时间也越长,但是已经能满足绝大部分应用场景和需求
12下一页

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部