CN117150536B - 一种文档的防伪方法、装置、设备及可读存储介质 - Google Patents
一种文档的防伪方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117150536B CN117150536B CN202311433822.4A CN202311433822A CN117150536B CN 117150536 B CN117150536 B CN 117150536B CN 202311433822 A CN202311433822 A CN 202311433822A CN 117150536 B CN117150536 B CN 117150536B
- Authority
- CN
- China
- Prior art keywords
- document
- data
- module
- counterfeiting
- digital signature
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 75
- 238000006467 substitution reaction Methods 0.000 claims abstract description 43
- 230000006835 compression Effects 0.000 claims abstract description 29
- 238000007906 compression Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 230000002441 reversible effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 208000020673 hypertrichosis-acromegaloid facial appearance syndrome Diseases 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种文档的防伪方法、装置、设备及可读存储介质,涉及数据防伪技术领域,包括获取待防伪文档的明文数据;基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;基于AES算法对所述第一加密数据进行加密,得到第二加密数据;基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。本发明提升了防伪文档的安全性以及识别效率。
Description
技术领域
本发明涉及数据防伪技术领域,具体而言,涉及一种文档的防伪方法、装置、设备及可读存储介质。
背景技术
目前常用的文档防伪方法主要有数字水印的方法以及数字签名的方法,其中数字水印的方法是通过在文档中添加底纹和防伪图片后利用扫描技术实现文档防伪,其缺点在于对扫描设备的要求较高,防伪成本高,不适用于普通人群。数字签名的方法是利用加密算法和二维码实现文档防伪,可以避免上述数字水印存在的问题,但是利用加密算法生成的二维码图像会造成文档的信息量增大,不利于文档的识别验证,导致文档的识别效率降低。
发明内容
本发明的目的在于提供一种文档的防伪方法、装置、设备及可读存储介质,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:
第一方面,本申请提供了一种文档的防伪方法,包括:
获取第一信息,所述第一信息包括待防伪文档的明文数据;
基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;
基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;
基于AES算法对所述第一加密数据进行加密,得到第二加密数据;
基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;
基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;
对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
第二方面,本申请还提供了一种文档的防伪装置,包括:
获取模块,所述获取模块用于获取第一信息,所述第一信息包括待防伪文档的明文数据;
第一压缩模块,所述第一压缩模块用于基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;
多表代换加密模块,所述多表代换加密模块用于基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;
AES加密模块,所述AES加密模块用于基于AES算法对所述第一加密数据进行加密,得到第二加密数据;多表代换解密模块,所述多表代换解密模块用于基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;
数字签名模块,所述数字签名模块用于基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;
防伪文档生成模块,所述防伪文档对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
第三方面,本申请还提供了一种文档的防伪设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述一种文档的防伪方法的步骤。
第四方面,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于一种文档的防伪方法的步骤。
本发明的有益效果为:本发明通过压缩算法减小后续生成二维码图像的信息量大小,通过多表代换密码算法以及AES算法提升生成之后二维码的安全性,通过利用ECC的数字签名算法密钥短安全性高的特性,减小生成二维码图像信息量大小的同时提升了生成二维码图像的安全性,由此提升了防伪文档的安全性以及识别效率。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中所述的一种文档的防伪方法流程示意图;
图2为本发明实施例中所述的一种文档的防伪装置结构示意图;
图3为本发明实施例中所述的一种文档的防伪设备结构示意图。
图中标记:800、一种文档的防伪设备;801、处理器;802、存储器;803、多媒体组件;804、I/O接口;805、通信组件。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1:
本实施例提供了一种文档的防伪方法。
参见图1,图中示出了本方法包括步骤S100、步骤S200、步骤S300、步骤S400、步骤S500、步骤S600、步骤S700。
步骤S100:获取第一信息,所述第一信息包括待防伪文档的明文数据;
所述防伪文档的明文数据,此处明文数据指的是待防伪文档未加密前的原始数据,这里的防伪文档格式可以包括pdf格式、TXT格式、doc格式和rtf格式等。
步骤S200:基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据,步骤S200的作用在于通过压缩算法可以减小后续生成二维码的文件大小;
所述步骤S200具体包括:
步骤S201:基于LZ77压缩算法对待防伪文档的明文数据进行压缩,得到第一压缩数据;
步骤S202:遍历所述第一压缩数据,统计第一压缩数据中每个字符出现的频率;
步骤S203:根据每个所述字符出现的频率利用数组模拟构建哈弗曼树,对所述哈弗曼树中的每个叶子节点求层数,得到哈弗曼码表,根据哈弗曼码表获取每个所述字符的范式哈弗编码;
步骤S204:读取所述第一压缩数据,根据第一压缩数据的每个所述字符的范式哈弗编码对所述第一压缩数据中的每个字符进行改写,得到所述压缩数据。
步骤S201-S204作用在于:在对压缩算法进行选择时,本申请人发现可以将LZ77压缩算法与哈弗曼压缩算法结合使用,从而改善压缩效果,然而本申请发现无法直接把LZ77压缩算法的压缩结果用哈弗曼压缩算法进行压缩,原因是字符频度信息表占用空间较大,压缩率不理想,因此本申请采用通过模拟哈弗曼树从而获得范式哈弗编码,不再需要哈弗曼遍历树,只需要根据范式哈弗曼树的特性计算出每个叶子节点的编码即可,从而提升了压缩率,节省了内存空间。
步骤S300:基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;由于在压缩环节对第一压缩数据中的字符出现频率进行过统计,因此为了能够隐藏字符出现的频率分布,采用多表代换,打乱了数据的整体上的统计特性,在隐藏语言字母的频率上是有优势的,它使得攻击者不能用单字母频率统计来破解密文,由此上述压缩算法和多表代换两者具有联合作用,使得信息更加安全。
步骤S300具体包括:
步骤S301:将所述压缩数据转换成若干个整数,并将这些整数进行分组,得到分组数据;
步骤S302:随机生成可逆矩阵并计算所述可逆矩阵的在模26运算下的逆矩阵,得到秘密密钥;
步骤S303:根据所述分组数据、可逆矩阵、秘密密钥以及模26运算循环加密所述压缩数据中的每个字符,得到第一加密数据。
步骤S301-S303的作用在于在AES算法前后利用多表代换密码算法加密解密,打乱了数据的整体上的统计特性,使得信息更加安全。与前面的压缩算法步骤具有联合作用,在减小信息量大小的同时大大提升信息加密安全性。多表代换密码算法的加密和解密为现有算法,在此不做赘述。
步骤S400:基于AES算法对所述第一加密数据进行加密,得到第二加密数据;步骤S400能够进一步提升信息的安全性。
步骤S400具体包括:
步骤S401:将第一加密数据与原始密钥进行异或运算,得到异或运算结果;
步骤S402:对所述异或运算结果执行轮函数处理,所述轮函数处理包括依次进行的行移位、字节替代、列混合和轮密钥加这四种变换处理,所述字节替代、列混合位于同一张表中;本步骤相比于现有技术将原有的字节替代和行移位的顺序进行了调换,并将所述字节替代、列混合位于同一张表中,从而大大提升加密效率
步骤S403:将所述行移位、字节替代和列混合的执行结果存储在临时文件中,将所述轮密钥加的执行结果存储在文本文件中。其中临时文件temp = fun(text),文本文件text = temp ^ roundKey,其中fun表示fun函数,roundKey表示轮密钥,从而大大提升加密效率。
步骤S500:基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据。
步骤S600:基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果,由此提升防伪二维码的安全性,密钥短,最终形成的二维码文件小。
所述步骤S600具体包括:
步骤S601:对所述解密数据进行散列函数处理得到信息摘要;
步骤S602:选择一条特定椭圆曲线并在其上随机选择一个基点,并根据选取的随机整数和所述基点随机生成私有密钥;
步骤S603:用二进制方式表示所述私有密钥,并根据私有密钥和梯度下降算法计算得到公开密钥;
步骤S604:根据所述信息摘要、私有密钥和mod函数计算得到数字签名结果。
本发明采用上述改进型基于ECC的数字签名算法,有助于提高密钥运算效率。改进部分在于用二进制方式表示所述私有密钥,并根据私有密钥和梯度下降算法计算得到公开密钥。
计算公开密钥的公式如下:
,其中/>∈{0,1},/>为公开密钥,/>为私有密钥,/>表示特定椭圆曲线并在其上随机选择一个基点,/>为用二进制方式表示/>,通过梯度下降算法计算/>,最终得到最小值的/>,由此降低了基于ECC的数字签名算法的密钥空间,减小后续生成二维码图像的信息量大小。
多重加密同时对文件进行压缩,选取密钥较短的数字签名算法,提高防伪二维码的安全性同时减小防伪二维码的文件大小
步骤S700:对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
步骤S700具体包括:
步骤S701:基于图像增强算法对所述二维码图像进行图像增强,得到增强二维码图像;图像增强算法能够使得二维码图像更加清晰。
步骤S702:基于Guetzli算法对所述增强二维码图像进行压缩,得到压缩二维码图像;采用基于Guetzli算法有助于在压缩的同时保证图像清晰度和质量。Guetzli算法为现有算法在此不做赘述。
步骤S703:根据需要调整所述压缩二维码图像的图像分辨率,得到防伪二维码图像;
步骤S704:将所述防伪二维码图像插入到待防伪的文档中,根据需要调整所述防伪二维码图像在所述待防伪的文档中的显示大小和位置。
本申请在使用时,通过用户端的扫描二维码实现对文档信息的解析,解析所得的文档信息如果能够通过对应验证算法的验证,则说明当前文档为真,若无法通过验证,则当前文档为伪。本申请的方法生成的防伪文档提高了文档的识别验证效率。
实施例2:
如图2所示,本实施例提供了一种文档的防伪装置,所述装置包括
获取模块,所述获取模块用于获取第一信息,所述第一信息包括待防伪文档的明文数据;
第一压缩模块,所述第一压缩模块用于基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;
多表代换加密模块,所述多表代换加密模块用于基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;
AES加密模块,所述AES加密模块用于基于AES算法对所述第一加密数据进行加密,得到第二加密数据;多表代换解密模块,所述多表代换解密模块用于基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;
数字签名模块,所述数字签名模块用于基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;
防伪文档生成模块,所述防伪文档对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
所述多表代换加密模块,包括:
分组模块,所述分组模块将所述压缩数据转换成若干个整数,并将这些整数进行分组,得到分组数据;
秘密密钥生成模块,所述秘密密钥生成模块用于随机生成可逆矩阵并计算所述可逆矩阵的在模26运算下的逆矩阵,得到秘密密钥;
循环加密模块,所述循环加密模块用于根据所述分组数据、可逆矩阵、秘密密钥以及模26运算循环加密所述压缩数据中的每个字符,得到第一加密数据。
所述AES加密模块,包括:
异或运算模块,所述异或运算模块用于将第一加密数据与原始密钥进行异或运算,得到异或运算结果;
轮函数模块,所述轮函数模块用于对所述异或运算结果执行轮函数处理,所述轮函数处理包括依次进行的行移位、字节替代、列混合和轮密钥加这四种变换处理,所述字节替代、列混合位于同一张表中;存储模块,所述存储模块用于将所述行移位、字节替代和列混合的执行结果存储在临时文件中,将所述轮密钥加的执行结果存储在文本文件中。
所述数字签名模块包括:
散列函数模块,所述散列函数模块用于对所述解密数据进行散列函数处理得到信息摘要;
私有密钥生成模块,所述私有密钥生成模块用于选择一条特定椭圆曲线并在其上随机选择一个基点,并根据选取的随机整数和所述基点随机生成私有密钥;
公开密钥生成模块,所述公开密钥生成模块用于用二进制方式表示所述私有密钥,并根据私有密钥和梯度下降算法计算得到公开密钥;
计算模块,所述计算模块用于根据所述信息摘要、私有密钥和mod函数计算得到数字签名结果。
所述第一压缩模块,包括:
LZ77压缩模块,所述LZ77压缩模块用于基于LZ77压缩算法对待防伪文档的明文数据进行压缩,得到第一压缩数据;
频率统计模块,所述频率统计模块用于遍历所述第一压缩数据,统计第一压缩数据中每个字符出现的频率;
范式哈弗编码获取模块,所述范式哈弗编码获取模块用于根据每个所述字符出现的频率利用数组模拟构建哈弗曼树,对所述哈弗曼树中的每个叶子节点求层数,得到哈弗曼码表,根据哈弗曼码表获取每个所述字符的范式哈弗编码;
改写模块,所述改写模块用于读取所述第一压缩数据,根据第一压缩数据的每个所述字符的范式哈弗编码对所述第一压缩数据中的每个字符进行改写,得到所述压缩数据。
所述防伪文档生成模块包括:
图像增强模块,所述图像增强模块用于基于图像增强算法对所述二维码图像进行图像增强,得到增强二维码图像;
第二压缩模块,所述第二压缩模块用于基于Guetzli算法对所述增强二维码图像进行压缩,得到压缩二维码图像;
第一调整模块,所述调整模块用于根据需要调整所述压缩二维码图像的图像分辨率,得到防伪二维码图像;
第二调整模块,所述第二调整模块用于所述防伪二维码图像插入到待防伪的文档中,根据需要调整所述防伪二维码图像在所述待防伪的文档中的显示大小和位置。
需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例3:
相应于上面的方法实施例,本实施例中还提供了一种文档的防伪设备,下文描述的一种文档的防伪设备与上文描述的一种文档的防伪方法可相互对应参照。
图3是根据示例性实施例示出的一种文档的防伪设备800的框图。如图3所示,该一种文档的防伪设备800可以包括:处理器801,存储器802。该一种文档的防伪设备800还可以包括多媒体组件803, I/O接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该一种文档的防伪设备800的整体操作,以完成上述的一种文档的防伪方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该一种文档的防伪设备800的操作,这些数据例如可以包括用于在该一种文档的防伪设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该一种文档的防伪设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,一种文档的防伪设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal ProcessingDevice,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的一种文档的防伪方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的一种文档的防伪方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由一种文档的防伪设备800的处理器801执行以完成上述的一种文档的防伪方法。
实施例4:
相应于上面的方法实施例,本实施例中还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种文档的防伪方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的一种文档的防伪方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文档的防伪方法,其特征在于,包括:
获取第一信息,所述第一信息包括待防伪文档的明文数据;
基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;
基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;
基于AES算法对所述第一加密数据进行加密,得到第二加密数据;
基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;
基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;
对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
2.如权利要求1所述的一种文档的防伪方法,其特征在于,基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据,包括:
将所述压缩数据转换成若干个整数,并将这些整数进行分组,得到分组数据;
随机生成可逆矩阵并计算所述可逆矩阵的在模26运算下的逆矩阵,得到秘密密钥;
根据所述分组数据、可逆矩阵、秘密密钥以及模26运算循环加密所述压缩数据中的每个字符,得到第一加密数据。
3.如权利要求1所述的一种文档的防伪方法,其特征在于,基于AES算法对所述第一加密数据进行加密,得到第二加密数据,包括:
将第一加密数据与原始密钥进行异或运算,得到异或运算结果;
对所述异或运算结果执行轮函数处理,所述轮函数处理包括依次进行的行移位、字节替代、列混合和轮密钥加这四种变换处理,所述字节替代、列混合位于同一张表中;
将所述行移位、字节替代和列混合的执行结果存储在临时文件中,将所述轮密钥加的执行结果存储在文本文件中。
4.如权利要求1所述的一种文档的防伪方法,其特征在于,基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果,包括:
对所述解密数据进行散列函数处理得到信息摘要;
选择一条特定椭圆曲线并在其上随机选择一个基点,并根据选取的随机整数和所述基点随机生成私有密钥;
用二进制方式表示所述私有密钥,并根据私有密钥和梯度下降算法计算得到公开密钥;
根据所述信息摘要、私有密钥和mod函数计算得到数字签名结果。
5.一种文档的防伪装置,其特征在于,包括:
获取模块,所述获取模块用于获取第一信息,所述第一信息包括待防伪文档的明文数据;
第一压缩模块,所述第一压缩模块用于基于压缩算法对所述待防伪文档的明文数据进行压缩,得到压缩数据;
多表代换加密模块,所述多表代换加密模块用于基于多表代换密码算法对所述压缩数据进行加密,得到第一加密数据;
AES加密模块,所述AES加密模块用于基于AES算法对所述第一加密数据进行加密,得到第二加密数据;
多表代换解密模块,所述多表代换解密模块用于基于多表代换密码算法对所述第二加密数据进行解密,得到解密数据;
数字签名模块,所述数字签名模块用于基于ECC的数字签名算法对所述解密数据进行数字签名,得到数字签名结果;
防伪文档生成模块,所述防伪文档对所述数字签名结果进行二维码生成编码,得到二维码图像,将所述二维码图像插入到待防伪的文档中,生成防伪文档。
6.根据权利要求5所述的一种文档的防伪装置,其特征在于,所述多表代换加密模块,包括:
分组模块,所述分组模块将所述压缩数据转换成若干个整数,并将这些整数进行分组,得到分组数据;
秘密密钥生成模块,所述秘密密钥生成模块用于随机生成可逆矩阵并计算所述可逆矩阵的在模26运算下的逆矩阵,得到秘密密钥;
循环加密模块,所述循环加密模块用于根据所述分组数据、可逆矩阵、秘密密钥以及模26运算循环加密所述压缩数据中的每个字符,得到第一加密数据。
7.根据权利要求5所述的一种文档的防伪装置,其特征在于,所述AES加密模块,包括:
异或运算模块,所述异或运算模块用于将第一加密数据与原始密钥进行异或运算,得到异或运算结果;
轮函数模块,所述轮函数模块用于对所述异或运算结果执行轮函数处理,所述轮函数处理包括依次进行的行移位、字节替代、列混合和轮密钥加这四种变换处理,所述字节替代、列混合位于同一张表中;
存储模块,所述存储模块用于将所述行移位、字节替代和列混合的执行结果存储在临时文件中,将所述轮密钥加的执行结果存储在文本文件中。
8.根据权利要求5所述的一种文档的防伪装置,其特征在于,所述数字签名模块包括:
散列函数模块,所述散列函数模块用于对所述解密数据进行散列函数处理得到信息摘要;
私有密钥生成模块,所述私有密钥生成模块用于选择一条特定椭圆曲线并在其上随机选择一个基点,并根据选取的随机整数和所述基点随机生成私有密钥;
公开密钥生成模块,所述公开密钥生成模块用于用二进制方式表示所述私有密钥,并根据私有密钥和梯度下降算法计算得到公开密钥;
计算模块,所述计算模块用于根据所述信息摘要、私有密钥和mod函数计算得到数字签名结果。
9.一种文档的防伪设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述一种文档的防伪方法的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述一种文档的防伪方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311433822.4A CN117150536B (zh) | 2023-11-01 | 2023-11-01 | 一种文档的防伪方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311433822.4A CN117150536B (zh) | 2023-11-01 | 2023-11-01 | 一种文档的防伪方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117150536A CN117150536A (zh) | 2023-12-01 |
CN117150536B true CN117150536B (zh) | 2024-01-02 |
Family
ID=88912552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311433822.4A Active CN117150536B (zh) | 2023-11-01 | 2023-11-01 | 一种文档的防伪方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117150536B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834726A (zh) * | 2010-03-19 | 2010-09-15 | 广州广大通电子科技有限公司 | 基于二维码的安全加密方法 |
CN106713274A (zh) * | 2016-11-25 | 2017-05-24 | 湖南工业大学 | 基于文本压缩的二维码生成、读取方法及生成、读取装置 |
CN110046524A (zh) * | 2019-04-16 | 2019-07-23 | 昆山丘钛微电子科技有限公司 | 一种数据的处理方法、装置、电子设备及介质 |
CN110245520A (zh) * | 2019-06-12 | 2019-09-17 | 河北省送变电有限公司 | 一种文档加密方法、文档加密装置及终端设备 |
CN112989434A (zh) * | 2021-03-22 | 2021-06-18 | 合肥信息工程监理咨询有限公司 | 一种电子文档加密防篡改、解密验证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099712B (zh) * | 2015-09-17 | 2018-11-20 | 深圳三元色数码科技有限公司 | 一种基于双码验证的数据加密方法 |
-
2023
- 2023-11-01 CN CN202311433822.4A patent/CN117150536B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834726A (zh) * | 2010-03-19 | 2010-09-15 | 广州广大通电子科技有限公司 | 基于二维码的安全加密方法 |
CN106713274A (zh) * | 2016-11-25 | 2017-05-24 | 湖南工业大学 | 基于文本压缩的二维码生成、读取方法及生成、读取装置 |
CN110046524A (zh) * | 2019-04-16 | 2019-07-23 | 昆山丘钛微电子科技有限公司 | 一种数据的处理方法、装置、电子设备及介质 |
CN110245520A (zh) * | 2019-06-12 | 2019-09-17 | 河北省送变电有限公司 | 一种文档加密方法、文档加密装置及终端设备 |
CN112989434A (zh) * | 2021-03-22 | 2021-06-18 | 合肥信息工程监理咨询有限公司 | 一种电子文档加密防篡改、解密验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117150536A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Souyah et al. | An image encryption scheme combining chaos-memory cellular automata and weighted histogram | |
Bao et al. | Combination of sharing matrix and image encryption for lossless $(k, n) $-secret image sharing | |
US9975037B2 (en) | Sudoku arrays | |
US7469048B2 (en) | Methods for point compression for jacobians of hyperelliptic curves | |
Seyedzade et al. | A novel image encryption algorithm based on hash function | |
CN105591750A (zh) | 电子签名生成方法及系统 | |
CN111314069B (zh) | 基于区块链的摇号系统、方法、电子设备及存储介质 | |
US9438589B2 (en) | Binding a digital file to a person's identity using biometrics | |
CN102982499A (zh) | 基于多分数阶混沌系统的彩色图像加密和解密方法 | |
CN110138739B (zh) | 数据信息加密方法、装置、计算机设备及存储介质 | |
CN107425971A (zh) | 终端及其无证书的数据加/解密方法和装置 | |
Pandya et al. | Brief history of encryption | |
Chanu et al. | A survey paper on secret image sharing schemes | |
CN112054896B (zh) | 白盒加密方法、装置、终端及存储介质 | |
Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
US20050154893A1 (en) | Method for embedding codes, method and apparatus for restoring identification information | |
CN107104788A (zh) | 终端及其不可抵赖的加密签名方法和装置 | |
Sharma et al. | Multi-image steganography and authentication using crypto-stego techniques | |
CN117150536B (zh) | 一种文档的防伪方法、装置、设备及可读存储介质 | |
JP2011512762A (ja) | 複数加入者ネットワークでの改竄、盗聴及びハッキングを不可能とするp2p通信方法 | |
JP2009169316A (ja) | ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法 | |
Srivastava et al. | Data Hiding using Image Steganography | |
Wazery et al. | A hybrid technique based on RSA and data hiding for securing handwritten signature | |
CN112019327B (zh) | 一种白盒实现方法、装置、电子设备及计算机存储介质 | |
Abed | A proposed encoding and hiding text in an image by using fractal image compression |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |