席红旗,常晓鹏
(河南教育学院信息技术系,河南郑州 450046)
一种基于非对称加密算法和哈希函数的数字签名方案研究
席红旗,常晓鹏
(河南教育学院信息技术系,河南郑州 450046)
给出一个非对称加密算法和哈希函数相结合的数字签名方案,既可以实现数字签名,又能保证传送的信息不被篡改,并讨论了该方案的安全性问题.
数字签名;非对称加密;摘要;加密;解密
数字签名是用于提供服务不可否认性的安全机制,它可以解决信息的保密性、交易文件的完整性和交易的不可抵赖性[1].一种完善的签名应该满足以下3个条件:
(1)签名者事后不能否认自己的签名;
(2)其他任何人均不能伪造签名,也不能对接收或发送的信息进行篡改、伪造和冒充;
(3)若当事双方对签名真伪发生争执时,能够在公正的仲裁者面前通过验证签名来确认真伪.
公开密钥技术出现以后,可以用来加密会话密钥,通过更改密钥来保证信息的安全,因为算法是公开的,这极大提高了通信双方安全性.用户A和用户B利用公开密码进行数字签名的过程如图1所示[2]:
(1)用户A和用户B都将自己的公开密钥(PKA、PKB)公开登记,作为对方及仲裁者验证签名的数据之一;
(2)用户A用自己的私密(IKA)对明文(M)进行签名SA=D(M,IKA);
SA即用户A对M的签名.若需要保密,用户A可以用用户B的公开密钥(PKB)对SA进行加密C=E(SA,PKB);用户A把C发送给用户B;
(3)用户B收到C后,使用自己的私密(IKB)进行解密,得到S,然后再用用户A的公开密钥(PKA)进行解密,得明文M':D(C,IKB)=SA,E(SA,PKB)=M';
(4)用户B收到将SA和C存档,验证后向用户A发送回执,用户A收到回执,验证签名存档.
图1 利用非对称加密算法进行数字签名过程实现Fig.1 The process to realize digital signature by asymmetric encryption
图2是Hash函数的通用结构.可以看出,一个Hash函数就是把原始消息M分成一些固定长度的块Y,最后一块填充并使其包含消息M的长度.
MD5按512位数据块为单位来处理输入,产生128位的消息摘要[3].
用户A和用户B利用非对称加密算法和哈希(Hash)算法进行数字签名的过程如下.
(1)用户A把要发送的明文M用Hash算法加密产生数字摘要Z1.在数学上保证,只要改动报文中的任何一位,重新计算出来的报文摘要就会与原文的值不相符合,这样就保证了报文的不可更改性.
(2)发送A方用自己的私钥(IKA)对摘要Z1和明文M同时进行加密,这样就形成数字签名和M的密文C.
(3)接收方B收到C以后,用A的公开密钥(PKA)进行解密,得到摘要Z1和明文M',同时对接收到的明文M'进行Hash算法,得到摘要Z2,比较Z1和Z2,如果二者一致,说明M'确实来自A.过程如图3.
图2 Hash函数的通用结构Fig.2 The common structure of Hash function
图3 算法示意图Fig.3 Algorithm diagram
(1)首先生成一对密钥IKA和PKA:存储在两个.dat文件中;
(2)对需要加密的文字进行摘要处理;
(3)对称产生的摘要进行第一次数字签名,即利用IKA对摘要加密,形成摘要密文;
(4)对明文进行加密,形成密文M'.
(1)利用PKA对摘要密文进行解密,得到摘要Z1;
(2)利用PKA对密文C解密,得到明文M';
(3)对明文M'进行摘要处理,得到摘要Z2;
(4)比较摘要Z1和摘要Z2,若摘要Z1和摘要Z2相同,保留接收的密文,否则丢弃.
基于RSA公钥体制的数字签名方案的安全性是建立在RSA公钥加密体制的安全性上的,以下就有关RSA公钥加密体制的安全性问题进行简单的讨论.
(1)该方案使用双重加密算法,既保摘要的安全,也保证了原文的安全,实现了无线传播的数据完整性和不可抵赖性.
(2)采用公钥体系实现数字签名.对密钥的验证可采用第三方来实现.
(3)数字签名抗数学攻击性实质上都是试图分解两个素数的乘积.通过分解两个素数来解密,采用一般数域筛法也需要1 000年.
[1] WILLIAM S.密码编码学与网络安全——原理与实践[M].刘玉珍,王丽娜,傅建明,等,译.3版.北京:电子工业出版社,2004.
[2] 杨波.现代密码学[M].北京:清华大学出版社,2007.
[3] GARRETT P.密码学导引[M].吴世忠,宋晓龙,郭涛,译.北京:机械工业出版社,2003.
(Department of Information Technology,Henan Institute of Education,Zhengzhou450046,China)
On a Digital Signature Scheme Based on Asymmetrical Encryption Algorithm and Hash Function
XI Hong-qi,CHANG Xiao-peng
A digital signature scheme of combining asymmetric encryption algorithm and a hash function is given,which can realize digital signature and guarantee the transmission of the information is not tampered with.The security problem of the scheme is also discussed.
digital signature;asymmetric encryption;abstract;encryption;decryption
TP309.2
A
1007-0834(2012)01-0036-02
10.3969/j.issn.1007-0834.2012.01.012
2011-12-18
河南省科技攻关项目(112102310377);河南教育学院青年课题(20090106)
席红旗(1975—),男,河南叶县人,河南教育学院信息技术系讲师.