CN116451261B - 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 - Google Patents

一种对pdf文档进行rsa和sm2双标准签名和验证的方法 Download PDF

Info

Publication number
CN116451261B
CN116451261B CN202310712772.7A CN202310712772A CN116451261B CN 116451261 B CN116451261 B CN 116451261B CN 202310712772 A CN202310712772 A CN 202310712772A CN 116451261 B CN116451261 B CN 116451261B
Authority
CN
China
Prior art keywords
pdf document
rsa
hash value
signature
text field
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.)
Active
Application number
CN202310712772.7A
Other languages
English (en)
Other versions
CN116451261A (zh
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.)
Nanjing Long Win Information Technology Co ltd
Original Assignee
Nanjing Long Win Information Technology Co ltd
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 Nanjing Long Win Information Technology Co ltd filed Critical Nanjing Long Win Information Technology Co ltd
Priority to CN202310712772.7A priority Critical patent/CN116451261B/zh
Publication of CN116451261A publication Critical patent/CN116451261A/zh
Application granted granted Critical
Publication of CN116451261B publication Critical patent/CN116451261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种对PDF文档进行RSA和SM2双标准签名和验证的方法,包括同时使用RSA和SM2两种算法对PDF文档进行数字签名,以及对数字签名进行验证,判定PDF文档签名域是否被破坏,或者PDF文档文本域是否被篡改或破坏,或者PDF文档是否被篡改或破坏。本发明提供的PDF文档数字签名和验证方法同时采用RSA和SM2双标准,一方面既满足我国对商用密码应用的管理要求,另一方面也有利于促进检验检测证书与报告等数字签名PDF文档的跨国流通与应用,提升国际贸易便利化水平。

Description

一种对PDF文档进行RSA和SM2双标准签名和验证的方法
技术领域
本发明属于计算机技术领域,特别涉及一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法。
背景技术
RSA算法是国际上第一个能同时用于加密和数字签名的算法,RSA也是被研究得最广泛的公钥算法,从提出到现今的四十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。SM2算法是我国自主设计的公钥密码算法,由国家密码管理局于2010年12月首次公开发布,2012年3月成为中国商用密码标准(标准号为GM/T0003—2012),2016年8月成为中国国家密码标准(标准号为GB/T32918-2016)。SM2基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上改进而来,其加密强度更高。
RSA算法和SM2算法是2个独立的非对称算法,可用于身份验证、加解密。非对称算法加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。RSA和SM2的加解密应用已经非常成熟,在电子文档数字签名领域应用很广泛。
RSA是国际标准非对称算法,SM2是中国自己的非对称算法,通常情况下各自独立使用。但在一些特定领域如针对检验检测报告、认证证书进行数字签名,一方面为了遵循国家商用密码产品应用管理要求,在国内流通时需要使用SM2算法进行数字签名和验证,另一方面为促进国际贸易便利化还需要跨国流通与应用,要求应用符合估计标准的RSA算法进行数字签名与验证。因此,在不破坏数据的情况下,如何对PDF文件同时采用RSA和SM2双标准进行签名和验证成为亟待解决的技术问题。
发明内容
技术问题:为了解决以上技术问题,本发明提供了一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法。
技术方案:本发明提供了一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法,其中,数字签名过程如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值(SM2签名)的PDF文档;
步骤104,计算包含SM2加密值(SM2签名)的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值(RSA签名);
步骤105,将步骤104得到的的RSA加密值(RSA签名)插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
其中,解密验签过程如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
有益效果:本发明提供的PDF文档数字签名和验证方法同时采用RSA和SM2两种算法,一方面既满足我国对商用密码应用的管理要求,另一方面也有利于促进检验检测证书与报告等同时采用RSA和SM2两种算法进行数字签名PDF文档的跨国流通与应用,提升国际贸易便利化水平。
本发明提供的方法避免了数字签名时对PDF文档同时进行RSA和SM2两次签名导致破坏彼此的算法,甚至破坏PDF文档数据的问题;还保证了在解密验签时既可以单独验证SM2签名,也可以在国际上广泛应用的adobe reader等常见办公软件中自动验证RSA签名。
附图说明
图1为adobe reader打开经RSA和SM2双标准数字签名的双签pdf文档图。
图2为上传双签文档验证SM2签名图。
图3为验证双签文档的SM2签名信息图。
图4为adobe reader打开经修改过签名信息的双签文档图。
图5为验证经修改签名信息的双签文档签名信息图。
图6为验证双签文档的RSA签名信息图。
图7为验证双签文档的SM2签名信息图。
实施方式
下面对本发明具体实施方式作出进一步说明。
同时对PDF文档进行RSA和SM2双标准数字签名和验证的方法,其中,数字签名过程如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值(SM2签名)的PDF文档;
步骤104,计算包含SM2加密值(SM2签名)的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值(RSA签名);
步骤105,将步骤104得到的的RSA加密值(RSA签名)插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
其中,解密验签过程如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
以下结合一个更具体的实例对本发明的具体实施方式做出说明。
1. 根据步骤101至步骤105的方法形成一个经过RSA和SM2双标准数字签名的“双签文档.pdf”,并用pdf文档阅读工具打开,见图1。
pdf阅读工具显示:该文档已加密,签名由“上海XX技术有限公司”验证,证书由“XX”颁发,该信息为国际通用的RSA签名信息。
2.将该文档上传至中国国家认证认可监督委员会网站,验证该文件SM2签名信息,完整显示SM2签名信息,见图2和图3。
3.将该文档破解后修改签名信息,重命名为“被修改双签.pdf”。用pdf文档阅读工具打开,见图4。
pdf阅读工具显示:该文档数字签名已被修改或无效;显示了该文档被修改,图5。
4.将“双签文档.pdf”上传至经改进的双签名验证平台进行签名验证。“双签文档.pdf”的RSA签名验证结果见图6;SM2签名验证结果见图7,说明本发明提供的的数字签名和验证过程未破坏文档结构,可实现双签和双验。
以上所述实施实例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (2)

1.一种对PDF文档进行RSA和SM2双标准签名和验证的方法,其特征在于:同时使用RSA和SM2双标准对PDF进行数字签名,具体步骤如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值的PDF文档;
步骤104,计算包含SM2加密值的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值;
步骤105,将步骤104得到的的RSA加密值插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
2.根据权利要求1所述的一种对PDF文档进行RSA和SM2双标准签名和验证的方法,其特征在于:对同时使用RSA和SM2双标准数字签名后的PDF文档进行解密验签,具体步骤如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
CN202310712772.7A 2023-06-16 2023-06-16 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 Active CN116451261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310712772.7A CN116451261B (zh) 2023-06-16 2023-06-16 一种对pdf文档进行rsa和sm2双标准签名和验证的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310712772.7A CN116451261B (zh) 2023-06-16 2023-06-16 一种对pdf文档进行rsa和sm2双标准签名和验证的方法

Publications (2)

Publication Number Publication Date
CN116451261A CN116451261A (zh) 2023-07-18
CN116451261B true CN116451261B (zh) 2023-10-13

Family

ID=87134165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310712772.7A Active CN116451261B (zh) 2023-06-16 2023-06-16 一种对pdf文档进行rsa和sm2双标准签名和验证的方法

Country Status (1)

Country Link
CN (1) CN116451261B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040760B (zh) * 2023-08-18 2024-02-09 河南省信息化集团有限公司 一种支持双算法的版式文件签章方法
CN118690349A (zh) * 2024-08-26 2024-09-24 四川省数字证书认证管理中心有限公司 同时支持rsa和sm2签名算法的pdf签章及验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368335A (zh) * 2020-04-01 2020-07-03 北京天威诚信电子商务服务有限公司 Pdf文件的电子签章方法及电子签章验证方法和系统
CN111581606A (zh) * 2020-04-24 2020-08-25 上海亘岩网络科技有限公司 一种pdf文件数字签名方法及系统
CN112465502A (zh) * 2020-11-11 2021-03-09 中国农业银行股份有限公司上海市分行 一种离线部署数字时间戳的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368335A (zh) * 2020-04-01 2020-07-03 北京天威诚信电子商务服务有限公司 Pdf文件的电子签章方法及电子签章验证方法和系统
CN111581606A (zh) * 2020-04-24 2020-08-25 上海亘岩网络科技有限公司 一种pdf文件数字签名方法及系统
CN112465502A (zh) * 2020-11-11 2021-03-09 中国农业银行股份有限公司上海市分行 一种离线部署数字时间戳的方法

Also Published As

Publication number Publication date
CN116451261A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN116451261B (zh) 一种对pdf文档进行rsa和sm2双标准签名和验证的方法
CN111538963A (zh) 一种基于双链的区块链版权保护系统及方法
TW294874B (zh)
TWI454111B (zh) 用於確保通訊之鑑別及完備性的技術
CN110674523A (zh) 一种数字签名结合手写签名确认电子合同签署人的方法
US9064129B2 (en) Managing data
US7499552B2 (en) Cipher method and system for verifying a decryption of an encrypted user data key
CN105635070B (zh) 一种数字文件的防伪方法及系统
KR101078546B1 (ko) 범용 저장장치의 식별정보를 기반으로 하는 보안 데이터 파일 암호화 및 복호화 장치, 그를 이용한 전자 서명 시스템
JP3980145B2 (ja) チップカード用暗号鍵認証方法および証明書
CN110046489B (zh) 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质
CN112487380B (zh) 一种数据交互方法、装置、设备及介质
CN2609069Y (zh) 指纹数字签名器
CN106778292B (zh) 一种Word加密文档的快速还原方法
CN113688399A (zh) 固件数字签名保护方法、装置、计算机设备及存储介质
CN110837634B (zh) 基于硬件加密机的电子签章方法
CN103093137A (zh) 一种基于u盘的文件安全分发方法
CN110990814A (zh) 一种可信数字身份认证方法、系统、设备及介质
CN108446539A (zh) 一种软件授权方法和软件授权文件生成系统
CN114329634A (zh) 一种电子签章文档的防伪方法
CN113849797B (zh) 数据安全漏洞的修复方法、装置、设备及存储介质
CN112968774B (zh) 一种组态存档加密及解密方法、装置存储介质及设备
CN110489978A (zh) 一种文件加解密方法
CN113761578A (zh) 一种基于区块链的文书验真方法
CN105873043B (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
CB03 Change of inventor or designer information

Inventor after: Tan Minqing

Inventor after: Fang Honghai

Inventor after: Zhou Xiyu

Inventor before: Tan Minqing

Inventor before: Fang Honghai

Inventor before: Zhou Xi

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant