打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
非对称加密的逆应用——数字签名

数字签名实际是非对称加密算法的另一项主要应用领域,数字签名本身并没有引入任何新的技术,但它比加解密应用的更加普遍。加解密解决了信息的保密性问题,因为只有有密钥的用户才能解密密文;而数字签名解决了信息来源真实性的问题,即这个信息是谁发出的,从发出到接收的过程中有没有被篡改过。用信息安全的专业术语,就是信息来源的不可否认性和信息的完整性。数字签名和我们熟悉的对纸质文件签名的作用相似,这也就是它的名称由来。

前面讲过,非对称加解密中是用信息接收者的公钥加密,私钥解密;而数字签名则是用信息发送者(签名者)的私钥加密,公钥解密(不要忘了,在非对称加解密的世界里,每个人都有一对属于自己的公私钥),所以它实际是非对称加解密过程的逆运算。

为了更好的结合数字签名的使用流程说明问题。这里也不能免俗的杜撰一个如下虚拟场景:IT好青年小明向他的女神小丽写了封电子情书,出于表白真心并炫耀技术的目的,小明要在情书上附加一个数字签名。首先,小明计算出情书的数字摘要值,然后用他的私钥加密这个摘要值,得到了一个加密结果,而这个加密结果,就是数字签名。最后,小明把情书和数字签名装在一起,@给了小丽。作为一个女神,小丽每天收到骚扰短信、微信、电话不计其数,本来这种邮件根本入不了她的法眼。可邮箱系统刚好提示这封邮件带了个数字签名,同样作为业内人士的她,“呵呵”一声,做了如下处理:首先对于邮件中的数字签名,用小明的公钥解密,解密成功了。“嗯,邮件确实是他发的”,小丽沉吟到。然后她又对情书做了数字摘要运算,将得到的摘要值和上一步解密得到的值进行了对比,“哦,两个值一样,那说明我现在看到的内容就是他当初写的,一个标点符号都没改过。好啊,这下看你怎么抵赖,小小年纪竟然学会给老师写情书了!”小丽一边愤恨着,一边拨通了教导主任的电话......

在上面的过程中,小明做的是数字签名,而小丽做的就是对签名的验证。整个过程有两个重点:一是用验证签名时用发送者的公钥解密,根据非对称加解密算法原理,如果解密成功,说明这个签名确实是用发送者的私钥加密的,而私钥只有发送者自己掌握,所以发送者不能否认其签名行为。这一点保证了信息的不可否认性;第二点是用计算出的摘要值和解密后的摘要值进行对比,根据数字摘要的原理,如果两者一致说明消息在传输过程中没有被篡改,否则被篡改。这一点保证了信息的完整性。上一篇说过对摘要而不是原文加密,是因为非对称加解密速度很慢。其实还有一个原因就是如果直接用私钥对原文加密,存在选择密文攻击的可能。所以对摘要还不是原文加密,可以有效杜绝这种安全风险。

由此可见,数字签名的逻辑过程并不复杂。软件工程师能够也应该掌握它。数字签名应用的范围比较广泛,凡是需要保证重要信息数据的来源不可否认本身完整性的地方,都可以使用数字签名。熟悉其逻辑过程和原理,对开发应用是很有帮助的。

有些开发工程师会把电子签章、电子签名和数字签名搞混,其实它们是有区别的。电子签章、电子签名属于应用层面,它是软件系统或软件功能的名称,包括实现签章、签名行为电子化的一系列技术和系统的总称。而数字签名是信息安全学科名词,专指这项保护信息来源安全性的技术。简单来讲,前两者是软件,后者是科学。当然,电子签章、电子签名一般都会用到数字签名技术,这就是它们的联系。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
最详细的 HTTPS 科普扫盲帖 – 码农网
数字签名和加密的基本原理及其区别
后端必须了解的密码学技术
Java开发必须要掌握的加密方式
公共密钥加密系统的原理
数字签名
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服