CN110955918A - 一种基于RSA加密sha-256数字签名的合同文本保护方法 - Google Patents

一种基于RSA加密sha-256数字签名的合同文本保护方法 Download PDF

Info

Publication number
CN110955918A
CN110955918A CN201911035754.XA CN201911035754A CN110955918A CN 110955918 A CN110955918 A CN 110955918A CN 201911035754 A CN201911035754 A CN 201911035754A CN 110955918 A CN110955918 A CN 110955918A
Authority
CN
China
Prior art keywords
sha
signature
data
digital signature
contract text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911035754.XA
Other languages
English (en)
Inventor
郭淑琴
郭守文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201911035754.XA priority Critical patent/CN110955918A/zh
Publication of CN110955918A publication Critical patent/CN110955918A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

一种基于RSA加密sha‑256数字签名的合同文本保护方法,包括以下步骤:1)获取待发送的合同文本原始数据;2)使用sha‑256算法对原始合同文本数据加密生成签名文件;3)对实现第一次加密的签名文件加入时间戳,结合发送方自身RSA私钥进行再次加密,生成数字签名;4)生成的数字签名存放在数据头部,进行网络传输;5)使用发送方RSA公钥解密,接收方获取数据并结合时间戳进行用户身份认证,拿到sha‑256数字签名摘要;6)对原始合同文本进行sha‑256签名计算摘要;7)对比验证计算出的摘要和解密的签名摘要是否一致;8)读取原始合同文本数据。本发明提高了系统安全性,防止因恶意篡改数据带来的危害。

Description

一种基于RSA加密sha-256数字签名的合同文本保护方法
技术领域
本发明涉及计算机网络传输安全领域,尤其是指一种基于RSA加密sha-256数字签名的合同文本保护方法。
背景技术
随着大数据时代的来临,越来越多的企业使用线上自动化办公软件,使原来许多传统的纸质化办公方式逐渐变成线上电子方式,其中就包括合同文本的制定,这样大大地提高了办公人员工作效率。但是,随之而来的是信息安全问题。比如现在人们喜欢使用移动设备来发送账号密码等私人信息,一些不法分子就会采用恶意攻击等手段截取个人信息来牟取暴利。
RSA加密算法:RSA是一种非对称加密算法,即拥有两种不同的公钥和私钥,即拥有两个不同的key。发送方使用自身私钥进行数据加密,接受方使用发送方提供的公钥进行解密,因为每一对的公钥和私钥是一一对应的关系,所以只有使用发送方提供的公钥才能解密发送方自身使用私钥加密的数据。同时RSA加密算法是基于“大素数因式分解困难”的安全体系,这也有效的保证加密数据的安全性。
SHA-256算法:sha-256是一种安全散列算法(Hash函数)。每个哈希值有两个可能值:0和1。对于sha-256有2的256次方个组合,使用sha-256对原始数据进行分成n个大小的256-bit的块,进行n次循环迭代,每次迭代都将256-bit数据块分解为16个32-bit的big-endian的字,记为w[0],w[1],…,w[15],进行64次加密循环,完成一次迭代,当所有迭代完成,最终得到的哈希值,就是256bit数字签名摘要,即为256bit的哈希值,32个字节长度。并且哈希值越大,长度越长,组合越多,密文就会越安全。
时间戳技术:即由格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳也是一份能够表示数据在某个特定时间点并且已经存在的完整的可验证的数据。它的提出主要是为传输双方提供一份电子证据,用以证明用户数据的时间记录。本发明通过合同文本和用户签名的哈希值加上提起时的时间记录进行签名,生成时间戳,并将生成的时间戳和合同文本数据进行绑定,然后通过加密传输。获取到的时间戳数据进行验证可以发现用户的签名信息和文本发送的时间,同时也可以发现密文在传输过程中是否存在篡改行为。
按照目前实现方法的不同,很多企业仍在使用SHA1算法来处理敏感数据,主要利用其加密的不可逆性和雪崩效应,更适合做签名。但是技术的不断进步使得SHA1由于哈希值较小,受冲撞可能性大,变得更容易被破解。
发明内容
为了克服现存技术的不足与缺陷,本发明提供一种基于RSA加密sha-256数字签名的合同文本保护方法,不仅使明文数据网络传输更加安全,且完成用户身份认证,使得明文数据更加不可篡改。
为实现上述目的,本发明提供的技术方案为:一种基于RSA加密sha-256数字签名的合同文本保护方法,包括以下步骤:
1)获取待发送的合同文本原始数据;
2)将待发送的合同文本进行第一次加密,即使用sha-256算法对原始合同文本数据加密生成签名文件;
3)对实现第一次加密的签名文件加入时间戳,并结合发送方自身RSA私钥进行再次加密,生成数字签名;
4)生成的数字签名存放在数据头部,进行网络传输;
5)使用发送方RSA公钥解密,接收方获取数据并结合时间戳进行用户身份认证,拿到sha-256数字签名摘要;
6)对原始合同文本进行sha-256签名计算摘要;
7)对比验证计算出的摘要和解密的签名摘要是否一致;
8)读取原始合同文本数据。
进一步,所述步骤2)中,sha-256算法对传入的合同文本数据经过不可逆的散列运算生成一组256(bit)位的散列哈希值,即32个字节的签名文件,传递给流程下一节点的发送方。
再进一步,所述步骤3)中,合同文本的特征信息(如用户ID、合同负责人、合同文本份数及页数等特征信息)结合合同文本提交时间记录,生成时间戳,并将时间戳和已生成的签名文件信息进行绑定,使用私钥对中发送方自身的RSA私钥进行加密,生成数字签名。
更进一步,所述步骤5)中,使用发送方RSA公钥解密,获取时间戳签名信息,确定合同文本绑定的特征信息,用户信息和签名文件的记录时间,检测数据的完好性,同时拿到数据头部sha-256生成的数字签名的散列哈希值。
所述步骤6)中,公钥对解密出的初始合同文本数据,进行sha-256签名计算。
所述步骤7)中,对于RSA解密出的数字签名和对原始合同文本数据sha-256签名计算,拿到二者的hash码进行比较,若相等,则验证通过,数据在网络传输过程中未被修改;否则,数据在网络传输过程中遭到篡改。
在获取数据的过程中,分别查看是否有有效的数字签名,若果没有暂停验证,转向发送方重新发送请求,重新获取数字签名进行再次验证。
本发明的技术构思为:本发明采用sha-256用作数字签名,加上时间戳能提供可信赖的发送合同文本时间点,发送方和接收方均不能否认其发生的操作行为,同时也解决了实际和法律问题。使用sha-256散列算法生成签名加上密钥,这正是本发明所实现的。
本发明和现存技术相比较,有以下优点和有益效果:
1.对于一般的数据加密方式,基本只是采用一般分组DES加密或者非对称RSA加密这两种实现方式中的一种,而本发明实现sha-256加密和RSA加密两种相结合的方式,数据加密更加安全。
2.在对明文数据进行加密方法的同时还进行了发送时间和发送方身份的有效认证,确定了数据发送的精确时间点,这样保证了在对明文数据加密的同时,也实现了对明文数据的篡改识别,有效的保证了数据不会被篡改。
附图说明
图1为sha-256生成签名文件结合时间戳技术用于初步信息校验的大致框图;
图2为本发明发送方加密过程的流程图;
图3为sha-256循环加密的原理框图;
图4为本发明接收方解密过程的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
参照图1~图4,一种基于RSA加密sha-256数字签名的合同文本保护方法,包括以下步骤:
1)获取待发送的合同文本原始数据;
2)将待发送的合同文本进行第一次加密,即使用sha-256算法对原始合同文本数据加密生成签名文件;
3)对实现第一次加密的签名文件加入时间戳,并结合发送方自身RSA私钥进行再次加密,生成数字签名;
4)生成的数字签名存放在数据头部,进行网络传输;
5)使用发送方RSA公钥解密,接收方获取数据并结合时间戳进行用户身份认证,拿到sha-256数字签名摘要;
6)对原始合同文本进行sha-256签名计算摘要;
7)对比验证计算出的摘要和解密的签名摘要是否一致;
8)读取原始合同文本数据;
本发明利用的技术为sha-256生成签名文件,加上时间戳技术,而其大致流程框图具体如图1所示。
进一步,所述步骤2)中,sha-256算法对传入的合同文本数据经过不可逆散列运算生成的为一组256位的散列哈希值,即32个字节的签名文件,传递给流程下一步的发送方。
再进一步,所述步骤3)中,合同文本的特征信息(如用户ID、合同负责人、合同文本份数及页数等特征信息)结合合同文本提交时间记录,生成时间戳,并将时间戳和已生成的签名文件信息进行绑定,使用私钥对中发送方自身的RSA私钥进行加密,生成数字签名。
更进一步,所述步骤5)中,使用发送方RSA公钥解密,获取时间戳签名信息,确定合同文本绑定的特征信息,用户信息和签名文件的记录时间,检测数据的完好性,同时拿到数据头部sha-256生成的数字签名的散列哈希值。
所述步骤6)中,对RSA公钥解密出的初始合同文本数据,进行sha-256签名计算。
所述步骤7)中,对于RSA解密出的数字签名和对原始合同文本数据sha-256签名计算,拿到二者的hash码进行比较,若相等,则验证通过,数据在网络传输过程中未被修改;否则,数据在网络传输过程中遭到篡改。
在获取数据的过程中,分别查看是否有有效的数字签名,若果没有暂停验证,转向发送方重新发送请求,重新获取数字签名进行再次验证。
本发明这里使用sha-256首次加密合同文本数据和时间戳技术相结合得到唯一哈希值,加入合同文本特征信息,同时使数据具有更高耦合性,从而更具安全性。因此提出了一种新的数字签名摘要生成技术,具体过程如表1所示:
表1
对原始数据使用sha-256加密,生成具有不可逆性的哈希值签名文件并配合合同文本特征信息,包括用户唯一ID、合同文本页数及份数、合同负责人和发送时间记录组成的哈希值进行绑定生成唯一可信的时间戳,最终产生一段组合整个明文数据的密文。由于Hash值有生成的唯一性和不可逆性,使得对原始数据进行任何的更改,都会造成不同散列结果,提高了加密的复杂性,使得暴力破解成为不可能。
在数据加密过程中,从拿到待加密的合同文本数据,使用sha-256对原始数据进行分成n个大小的256-bit的块,进行n次循环迭代,每次迭代都将块分解为16个32-bit的big-endian的字,记为w[0],…,w[15],进行64次加密循环,完成一次迭代,最终得到的哈希值,就是256bit数字签名摘要,具体加密循环过程的原理图如图3所示。然后结合写入的合同文本特征信息生成的时间戳,得到一整个完成明文的密文数据,通过发送方自身RSA私钥进行加密,然后将上述组合的数字签名放在数据头部进行网络传输发送给接收方,具体过程如图2所示。
如图4所示,接收方获取到传输发送的数据,首先利用发送方的RSA公钥进行解密,完成解密后的数据包含签名用户信息的数据,在这一节点即为对数据进行初步的检测认证,查看数字签名中的合同文本特征信息是否一致以及时间是否匹配,进行特征信息核对,从而初步判断合同文本信息在网络传输过程中是否被修改。由于实现方法的不同,使用的时间戳有的带有反签名特性,有的不带,这里推荐使用不带有反签名信息的时间戳服务。
实现合同文本特征信息的初步验证之后,在根据发送方合同文本数据进行sha-256计算数字签名和传输的sha-256签名进行对比,如果二者哈希值一致,则说明合同文本数据在传输过程中未被修改,最终获取的合同文本数据是安全的,否则数据在传输过程中遭到拦截,被篡改。
综上,本发明的方法主要利用RSA算法、sha-256算法以及时间戳技术。利用三种技术的不同优势,在数据的发送方和接收方加密,解密和加入合同文本特征信息进行检验,使得数据具有更好的耦合性,安全性,防止不法分子恶意篡改数据带来的危害,从而能有效确保数据在传输、发送过程的准确、安全、可靠,值得推广。

Claims (7)

1.一种基于RSA加密sha-256数字签名的合同文本保护方法,其特征在于,所述方法包括以下步骤:
1)获取待发送的合同文本原始数据;
2)将待发送的合同文本进行第一次加密,即使用sha-256算法对原始合同文本数据加密生成签名文件;
3)对实现第一次加密的签名文件加入时间戳,并结合发送方自身RSA私钥进行再次加密,生成数字签名;
4)生成的数字签名存放在数据头部,进行网络传输;
5)使用发送方RSA公钥解密,接收方获取数据并结合时间戳进行用户身份认证,拿到sha-256数字签名摘要;
6)对原始合同文本进行sha-256签名计算摘要;
7)对比验证计算出的摘要和解密的签名摘要是否一致;
8)读取原始合同文本数据。
2.根据权利要求1所述的一种基于RSA加密sha-256数字签名的合同文本保护方法,其特征在于:所述步骤2)中,sha-256算法对传入的合同文本数据经过不可逆的散列运算生成一组256位的散列哈希值,即32个字节的签名文件,传递给流程下一节点的发送方。
3.根据权利要求1或2所述的一种基于RSA加密sha-256数字签名的合同文本保护方法,其特征在于:所述步骤3)中,合同文本的特征信息结合合同文本提交时间记录,所述特征信息包括用户ID、合同负责人、合同文本份数及页数,生成时间戳,并将时间戳和已生成的签名文件信息进行绑定,使用私钥对中发送方自身的RSA私钥进行加密,生成数字签名。
4.根据权利要求1或2所述的一种基于RSA加密sha-256数字签名的合同文本保护方法,其特征在于:所述步骤5)中,使用发送方RSA公钥解密,获取时间戳签名信息,确定合同文本绑定的特征信息,用户信息和签名文件的记录时间,检测数据的完好性,同时拿到数据头部sha-256生成的数字签名的散列哈希值。
5.根据权利要求4所述的一种基于RSA加密sha-256数字名的合同文本保护方法,其特征在于:所述步骤6)中,RSA公钥解密之后,对解密出的初始合同文本数据,进行sha-256签名计算。
6.根据权利要求1或2所述的一种基于RSA加密的sha-256数字签名的合同文本保护方法,其特征在于:所述步骤7)中,对于RSA解密出的数字签名和对原始合同文本数据sha-256签名计算,拿到二者的Hash码进行比较,若相等,则验证通过,数据在网络传输过程中未被修改;否则,数据在网络传输过程中遭到篡改。
7.根据权利要求3所述的一种基于RSA加密sha-256数字签名的合同文本保护方法,其特征在于:在获取数据的过程中,分别查看是否有有效的数字签名,如果没有暂停验证,转向发送方重新发送请求,重新获取数字签名进行再次验证。
CN201911035754.XA 2019-10-29 2019-10-29 一种基于RSA加密sha-256数字签名的合同文本保护方法 Pending CN110955918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911035754.XA CN110955918A (zh) 2019-10-29 2019-10-29 一种基于RSA加密sha-256数字签名的合同文本保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911035754.XA CN110955918A (zh) 2019-10-29 2019-10-29 一种基于RSA加密sha-256数字签名的合同文本保护方法

Publications (1)

Publication Number Publication Date
CN110955918A true CN110955918A (zh) 2020-04-03

Family

ID=69976487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911035754.XA Pending CN110955918A (zh) 2019-10-29 2019-10-29 一种基于RSA加密sha-256数字签名的合同文本保护方法

Country Status (1)

Country Link
CN (1) CN110955918A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510445A (zh) * 2020-04-09 2020-08-07 杭州涂鸦信息技术有限公司 一种网络摄像机防盗刷方法、装置、设备、介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946602A (zh) * 2012-12-04 2013-02-27 镇江江大科茂信息系统有限责任公司 移动信息系统的隐私保护加密方法
CN103152182A (zh) * 2013-03-08 2013-06-12 新疆君盾信息技术有限公司 一种电子数据认证验证方法
CN104426664A (zh) * 2013-09-09 2015-03-18 东方钢铁电子商务有限公司 数据保全平台的电子签名方法
CN106301782A (zh) * 2016-07-26 2017-01-04 杭州文签网络技术有限公司 一种电子合同的签署方法及系统
CN109743171A (zh) * 2018-12-06 2019-05-10 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法
CN110046515A (zh) * 2019-04-18 2019-07-23 杭州尚尚签网络科技有限公司 一种基于短效数字证书的安全的电子签名方法
US20190303623A1 (en) * 2018-04-02 2019-10-03 Ca, Inc. Promotion smart contracts for software development processes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946602A (zh) * 2012-12-04 2013-02-27 镇江江大科茂信息系统有限责任公司 移动信息系统的隐私保护加密方法
CN103152182A (zh) * 2013-03-08 2013-06-12 新疆君盾信息技术有限公司 一种电子数据认证验证方法
CN104426664A (zh) * 2013-09-09 2015-03-18 东方钢铁电子商务有限公司 数据保全平台的电子签名方法
CN106301782A (zh) * 2016-07-26 2017-01-04 杭州文签网络技术有限公司 一种电子合同的签署方法及系统
US20190303623A1 (en) * 2018-04-02 2019-10-03 Ca, Inc. Promotion smart contracts for software development processes
CN109743171A (zh) * 2018-12-06 2019-05-10 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法
CN110046515A (zh) * 2019-04-18 2019-07-23 杭州尚尚签网络科技有限公司 一种基于短效数字证书的安全的电子签名方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510445A (zh) * 2020-04-09 2020-08-07 杭州涂鸦信息技术有限公司 一种网络摄像机防盗刷方法、装置、设备、介质

Similar Documents

Publication Publication Date Title
CN104796265B (zh) 一种基于蓝牙通信接入的物联网身份认证方法
US6912659B2 (en) Methods and device for digitally signing data
EP0043027B1 (en) Electronic signature verification method and system
CN101369889B (zh) 一种对文档进行电子签名的方法
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN108833114A (zh) 一种基于区块链的去中心化身份认证系统及方法
CN109067524B (zh) 一种公私钥对生成方法及系统
CA2838322C (en) Secure implicit certificate chaining
CN103634114B (zh) 智能密码钥匙的验证方法及系统
CA2976795A1 (en) Implicitly certified digital signatures
CN103701787A (zh) 一种基于公开密钥算法实现的用户名口令认证方法
CN108323230B (zh) 一种传输密钥的方法、接收终端和分发终端
CN105281902A (zh) 一种基于移动终端的Web系统安全登录方法
CN110493197B (zh) 一种登录处理方法及相关设备
WO2008031301A1 (fr) Procédé d'authentification d'identité en ligne point à point
CN110598422A (zh) 一种基于移动数字证书的可信身份验证系统及方法
JP2003188874A (ja) 安全にデータを伝送する方法
CN107947939A (zh) 支持sm3密码杂凑算法和sm2数字签名算法的pdf签名方法和系统
CN110611670A (zh) 一种api请求的加密方法及装置
CN110955918A (zh) 一种基于RSA加密sha-256数字签名的合同文本保护方法
CN107404476B (zh) 一种大数据云环境中数据安全的保护方法与装置
CN108323231B (zh) 一种传输密钥的方法、接收终端和分发终端
RU2659730C1 (ru) Способ обмена защищенными данными
Campbell Supporting digital signatures in mobile environments
CN108243156B (zh) 一种基于指纹密钥进行网络认证的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination