APP下载

基于RSA签名方案的研究

2018-03-04王方鑫

电脑知识与技术 2018年36期
关键词:数字签名

王方鑫

摘要:随着网络技术的飞速发展,信息安全成为越来越重要的话题。公钥密码体制中,加密解密的密钥不相同,解决了很多传统网络安全的问题。此外,随着电子商务的快速发展,如何解决数字文档的认证性、完整性、不可否性成为人们日益关注的话题,因此对数字签名的研究显得越来越重要,该文介绍了一种基于RSA算法的数字签名方案。

关键词:数字签名;RSA算法;非对称密码体制

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2018)36-0028-02

在日常生活中,签名是很常见的行为,如合同的签署,订单的确认,支票的签发,回复文件,通常来说传统的签名都是手写签名。随着网络技术的飞速发展,人们希望突破传统签名带来的种种弊端,信息的发送者希望通过签名来使信息的接受者确定信息的真实性,于此与此同时,当出现纠纷的时候,信息的接受者可以通过数字签名来追踪到信息的发送者来进行承担相应的责任。可以说,在现代社会,数字签名技术正在潜移默化影响我们的生活。

所谓的数字签名,也称之为电子签名,指的是指附加在发送文件中的一組特殊的符号,通过对原文本进行一系列的混合运算,可以被接受者验证该文件是否被篡改或者伪造。

1 研究背景

1999年12月,欧盟委员会制定了《关于建立电子签名共同法律》。欧盟各国在很早就开始相关法律的制定,可见对其安全性的重视。中国也十分重视电子商务以及数字签名技术的发展,在第十届全国人民代表大会上通过中华人民共和国电子签名法,这一法律方案的制定也让我国数字签名技术更好的发展打下坚实的基础,除此以外,世界上很多国家也制定了和数字签名相关的法律法规。

随着各国对电子签名技术的重视以及相关法律制度的完善,电子签名技术取得飞速的发展。目前,数字签名技术的实现有很多方法,RSA签名方案是目前使用较多的一种签名方案,它的安全性依赖与大整数因子分解的困难性。

2 数字签名的流程

发送方A开始先选定一种Hash函数,通过该函数产生散列值,然后发送方A用自己的私钥对消息摘要进行加密,生成数字签名并将这个数字签名发给接受方B。与此同时,将消息通过公开信道发给接受方B。

接受方B收到A的消息后,用Hash函数产生一个消息摘要,然后用A的公钥对A发送来的数字签名进行解密,用解密得到的结果和刚刚生成的消息摘要进行对比。如果相等的话,就说明该签名有效,否则,该签名无效。

如图1所示,给出发送和恢复数字签名的流程图。

3 RSA数字签名技术的实现

RSA数字签名方案主要由三个部分组成:密钥生成算法、签名算法、验证算法。下面给出RSA数字签名算法的代码实现。

3.1 密钥生成算法

信息的发送者A执行密钥生成算法,生成自己的公私钥(k1,k2)。

3.2 签名算法

对发送的消息m,进行签名,那么s为m的签名,将签名消息组(m,s)发送消息的接受者B。

3.3 验证算法

接受者对签名进行验证,判断签名是否有效。

4 总结

随着信息学的高速发展,人们对信息的交互和传递的需求越来越大。每天都会有海量的数据进行交互和传递,因此,数据的安全成为一个非常重要的话题。RSA数字签名算法有效保证了消息的真实性、完整性、不可否性,起到了巨大的作用。但是RSA数字签名算法本身仍然存在一些不足之处,也值得我们进一步深入研究。

参考文献:

[1] 邹煜.java类文件混合加密算法的研究与分析[D].华中师范大学,2017.

[2] 赵彦昌.国外电子签名法对我国的启示[J].秘书,2007(04):39-42.

[3] 谷利泽,郑世慧,杨义先.现代密码学教程[M].北京邮电大学出版社,2009.

[4] 喻琇瑛.数字签名认证理论与应用技术研究[D].西南交通大学,2014.

[5] 孙淑玲.应用密码学[M].北京:清华大学出版社,2004.

[6] 杨晓元.现代密码学[M].西安:西安电子科技大学出版社,2009.

[7] 杨波.现代密码学:第二版[M].北京:清华大学出版社,2007.

[通联编辑:代影]

猜你喜欢

数字签名
基于正交拉丁方理论的数字签名分组批量验证
交通运输行业数字签名系统的设计与实现分析
浅析计算机安全防护中数字签名技术的应用
数字签名助力系统安全
基于数字签名的QR码水印认证系统
以数字签名为基础的档案文件安全性管理
数字签名简述
探讨网络安全中的数字签名技术应用效果
基于数字签名和HSM的数据库篡改检测机制
基于JAVA的数字签名设计与实现