CN114189324A - 一种消息安全签名方法、系统、设备及存储介质 - Google Patents
一种消息安全签名方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114189324A CN114189324A CN202111338848.1A CN202111338848A CN114189324A CN 114189324 A CN114189324 A CN 114189324A CN 202111338848 A CN202111338848 A CN 202111338848A CN 114189324 A CN114189324 A CN 114189324A
- Authority
- CN
- China
- Prior art keywords
- message
- bit
- message packet
- signed
- round function
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000006870 function Effects 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种消息安全签名方法、系统、设备及存储介质,本发明随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数,根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数,相较于现有方案通过已知的待编码数据每一个字符来统计概率进而计算得到的权系数,本发明在根据一个随机的比特数字计算比特值的轮函数具备随机性,基于轮函数计算得到的权系数的安全性更高,根据权系数哈希运算得到的签名消息的安全性更高。
Description
技术领域
本发明涉及数据压缩技术领域,特别涉及一种消息安全签名方法、系统、设备及存储介质。
背景技术
在基于加权编码模型的杰林码哈希加密方案中,对待编码数据进行加权编码之前,需要先统计待编码数据中字符0和字符1的个数,然后计算出其概率,并且使用其概率计算出待编码数据的加权系数,最后利用加权系数和加权编码模型对待编码数据进行编码。但由于该方案在统计字符0和字符1时,待编码数据每一个字符都是已知的,这样第三方在得知准确的待编码数据之后,就通过同样的方式计算得到对应的加权系数,从而准确获得加密后的密文,这样不利于保护数据的安全。
发明内容
本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种消息安全签名方法、系统、设备及存储介质,相较于现有方案,能够极大程度的提升签名数据的安全性。
本发明的第一方面,提供了一种消息安全签名方法,包括如下步骤:
获取秘钥数组、待签名消息和预设的哈希值字节长度;
将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;
通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。
根据本发明的实施例,至少具有如下技术效果:
相较于现有方案,在具备自定义哈希值字节长度的前提下,本方法以字节为单位对待签名消息进行分组,实现以字节为单位的线性随机编码,提升了数据的安全性。本方法随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数,根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数,相较于现有方案通过已知的待编码数据每一个字符来统计概率进而计算得到的权系数,本方法在计算每组消息分组相应权系数时,由于比特表中每一个位置对应的比特数字是随机的,因此根据一个随机的比特数字计算比特值的轮函数具备随机性,因此基于轮函数计算得到的权系数的安全性更高,根据权系数哈希运算得到的签名消息的安全性更高。
根据本发明的一些实施例,所述根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数,包括:
通过如下公式计算所述消息分组中的比特值的轮函数:
其中,所述RFi表示所述消息分组中第i个比特值的轮函数,所述bT[(i+bi)mod256]表示所述比特表中第(i+bi)mod 256个比特数字,所述bi表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;
统计所述消息分组中第i个比特值的轮函数RFi=0的个数,根据轮函数RFi=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;
通过如下公式计算所述消息分组的权系数:
其中,所述CF表示所述消息分组的权系数,所述m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。
根据本发明的一些实施例,在所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码之前,还包括步骤:
当所述秘钥数组的字节长度大于所述待签名消息的比特长度,对所述秘钥数组进行归整,以使归整后的所述秘钥数组的字节长度等于所述待签名消息的比特长度。
根据本发明的一些实施例,通过如下公式对所述秘钥数组进行归整:
其中,所述KEY[k]表示所述秘钥数组中的第k个字节,所述mod表示模运算,所述s表示所述待签名消息的字节长度,所述k取值为n至t,n表示所述待签名消息的比特长度,t表示所述秘钥数组的字节长度。
根据本发明的一些实施例,所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,包括:
随机生成包含多个字节数字的字节表;
当所述待签名消息中的第j个所述消息分组的第i个比特值相应的轮函数RFi=1,通过编码公式Li=Li-1+Ri-1p0,Ri=Ri-1p1CFOFj (i,k)对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;当所述消息分组的第i个比特值相应的轮函数RFi=0,通过编码公式Ri=Ri-1p0CFOFj (i,k)对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;其中,所述CFOFj (i,k)=CFj-BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]),其中,所述CFOFj (i,k)表示基于所述秘钥数组第k个字节的第j个所述消息分组的第i个比特值的权系数函数,所述CFj表示所述待签名消息中的第j个所述消息分组的权系数,所述T表示归整后的所述秘钥数组的字节长度,所述BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T])表示所述字节表中第[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]个字节数字,Li,Li-1,Ri,Ri-1为编码变量。
本发明的第二方面,提供了一种消息安全签名系统,其特征在于,包括:
数据获取单元,用于获取秘钥数组、待签名消息和预设的哈希值字节长度;
消息分组单元,用于将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
权系数生成单元,用于随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;
编码签名单元,用于通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。
根据本发明的一些实施例,所述权系数生成单元包括轮函数计算子单元和权系数计算子单元,其中:
所述轮函数计算子单元通过如下公式计算所述消息分组中的比特值的轮函数:
其中,所述RFi表示所述消息分组中第i个比特值的轮函数,所述bT[(i+bi)mod256]表示所述比特表中第(i+bi)mod 256个比特数字,所述bi表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;
所述权系数计算子单元用于统计所述消息分组中第i个比特值的轮函数RFi=0的个数,根据轮函数RFi=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;
通过如下公式计算所述消息分组的权系数:
其中,所述CF表示所述消息分组的权系数,m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。
根据本发明的一些实施例,还包括秘钥归整单元,所述秘钥归整单元用于当所述秘钥数组的字节长度大于所述待签名消息的比特长度,对所述秘钥数组进行归整,以使归整后的所述秘钥数组的字节长度等于所述待签名消息的比特长度;其中,通过如下公式对所述秘钥数组进行归整:
本发明的第三方面,提供了一种电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的消息安全签名方法。
本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的消息安全签名方法。
需要注意的是,本发明的第二方面至第四方面与现有技术之间的有益效果与上述的数据无损压缩方法与现有技术之间的有益效果相同,此处不再细述。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例提供的消息安全签名方法的流程示意图;
图2为本发明一个实施例提供的消息安全签名系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在相关的基于加权编码模型的杰林码哈希加密方案中,对待编码数据进行加权编码之前先是统计待编码数据中字符0和字符1的个数,然后计算出其概率,并且使用其概率计算出待编码数据的加权系数,最后利用加权系数和加权编码公式对待编码数据进行编码。但由于该方案在统计字符0和字符1时,待编码数据每一个字符都是已知的,这样第三方在得知准确的待编码数据之后,就通过同样的方式计算得到对应的加权系数,从而准确获得加密后的密文,这样不利于保护数据的安全。
为了解决上述技术缺陷,参照图1,本申请一个实施例,提供了一种消息安全签名方法,包括如下步骤:
步骤S101、获取秘钥数组、待签名消息和预设的哈希值字节长度。
在本实例中,令待签名消息的字节长度为s,比特长度为n(其中1位=1比特,1字节=8位)。令预设的哈希值字节长度为L,预设的哈希值字节长度的目的是为了使编码后得出的签名消息的长度与预设的哈希值字节长度一致,预设的哈希值字节长度为本领域公知,此处不再细述。令秘钥数组为KEY,令KEY[k]为秘钥数组中第k个字节。
步骤S102、将待签名消息以字节为单元进行线性均分分组,得到多个消息分组。
在本实例中,令消息分组函数为DMF,将待签名消息以字节为单元进行线性均分分组为:,其中表示对n/m进行向上取整,m表示分组之后每个消息分组的字节长度。令Bj为分组之后得到的第j个消息分组,则当j<DMF(n)时,Bj组消息长度为m。当j=DMF(n)时,Bj组消息长度为m=n-(DMF(n)-1)m。
步骤S103、随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数;根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数。
具体的,步骤S103包括如下步骤:
步骤S1031、通过如下公式计算消息分组中的比特值的轮函数:
步骤S1032、统计消息分组中第i个比特值的轮函数RFi=0的个数,根据轮函数RFi=0的个数,计算消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1。在相关方案中,是直接利用消息(假设消息为X)中第i个比特值Xi是否等于0来进行判断概率。
在步骤S1032中,将轮函数RFi=0的个数除以消息分组中比特值的个数,则得到p0值,将1减去p0得到p1值。
步骤S1033、通过如下公式计算消息分组的权系数:
其中,CF表示消息分组的权系数,m表示消息分组的字节长度,L表示预设的哈希值字节长度。
步骤S104、当秘钥数组的字节长度大于待签名消息的比特长度,对秘钥数组进行归整,以使归整后的秘钥数组的字节长度等于待签名消息的比特长度。
在实际使用过程,经常存在秘钥数组的长度会大于待签名消息的比特长度的情况,此时将出现部分密码字节并没有作用于编码流程中,因此,为了解决这种缺陷,在对待签名的消息进行编码之前,先对秘钥数组进行归整。
令秘钥数组的字节长度为t,当t>n时,具体的,是通过如下公式对秘钥数组进行归整:
步骤S105、通过秘钥数组和权系数对每组消息分组进行加权编码,得到编码完成后的签名消息。
具体的,步骤S105通过如下方式进行编码:
步骤S1051、随机生成包含多个字节数字的字节表。
步骤S1052、当待签名消息中的第j个消息分组的第i个比特值相应的轮函数RFi=1,通过编码公式Li=Li-1+Ri-1p0,Ri=Ri-1p1CFOFj (i,k)对待签名消息中的第j个消息分组的第i个比特值进行编码;当消息分组的第i个比特值相应的轮函数RFi=0,通过编码公式Ri=Ri-1p0CFOFj (i,k)对待签名消息中的第j个消息分组的第i个比特值进行编码;其中,CFOFj (i,k)=CFj-BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]),其中,CFOFj (i,k)表示基于秘钥数组第k个字节的第j个消息分组的第i个比特值的权系数函数,CFj表示待签名消息中的第j个消息分组的权系数,T表示归整后的秘钥数组的字节长度,BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T])表示字节表中第[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]个字节数字,Li,Li-1,Ri,Ri-1为编码变量。
与现有方案不同的是,现有方案在具体的加权概率模型的编码过程时,是已知的待编码数据每一个字符来判断具体使用的编码方式。在上述步骤S1051至S1052中,是基于轮函数判断编码方式,由于比特表中每一个位置对应的比特数字是随机的,因此根据一个随机的比特数字计算得到比特值的轮函数具备随机性,因此根据轮函数判断具体使用的编码方式,能够提升编码完成后的签名消息的安全性。
现有方案在具体的编码过程时,使用的加权编码模型是固定计算的数值,例如:当待编码数据的第i个字符为0时,否则且与现有方案不同的是,在上述步骤S1051中,设置了一个随机生成的字节表;在上述步骤S1052中,编码公式为:Li=Li-1+Ri-1p0,Ri=Ri-1p1CFOFj (i,k)和Ri=Ri-1p0CFOFj (i,k),而CFOFj (i,k)=CFj-BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]),将秘钥数组的字节值作为了查表的位置信息,因为秘钥数组是未知的,所以所查出的字节表中的位置信息是随机的,根据秘钥数组查找的字节表中的字节数字是随机的,此时,利用从字节表中查找出的字节数字参与对比特值的编码过程,能够提升编码过程的安全性,从而提升编码完成后的签名消息的安全性。
相较于现有方案,本方案具备如下优势:
(1)在具备自定义哈希值字节长度的前提下,本方法以字节为单位对待签名消息进行分组,实现以字节为单位的线性随机编码,提升了数据的安全性。
(2)本方法随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数,根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数。本方法在计算每组消息分组相应权系数时,由于比特表中每一个位置对应的比特数字是随机的,因此根据一个随机的比特数字计算比特值的轮函数具备随机性,因此基于轮函数计算得到的权系数的安全性更高,从而更能够保证编码完成后的签名消息的安全性。
(3)在实际使用过程,经常存在秘钥数组的长度会大于待签名消息的比特长度的情况,导致出现部分密码字节并没有作用于编码流程中,本方法在对待签名的消息进行编码之前,先对秘钥数组进行归整,使得秘钥数组中每个字节有效作用于权系数。
(4)本方法在编码的过程中将秘钥数组的字节值作为了查表的位置信息,因为秘钥数组是未知的,所以所查出的字节表中的位置信息是随机的,根据秘钥数组查找的字节表中的字节数字是随机的,此时,利用从字节表中查找出的字节数字参与对比特值的编码过程,能够极大的提升编码过程的安全性,从而极大程度上提升编码完成后的签名消息的安全性。
为了便于理解,以下提供一组实施例,以伪代码的形式说明:
第一:参数设置:
待签名消息:有限长度的字节串,作为输入数据。秘钥数组:长度为任意字节的秘钥数组。加权系数:作用于消息每个比特的概率的权系数,加权系数为哈希运算的运算因子。哈希值:消息经哈希运算输出的消息摘要(字节串)。符号:二进制数值称为符号0和1;十六进制数值称为符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E和F。
设置比特表(可以根据不同的系统生成):
bT=(1,1,0,1,0,1,1,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,0,1,0,1,0,1)
设置字节表(可以根据不同的系统生成):
BT=(0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76,
0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,
0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,
0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,
0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,
0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,
0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8,
0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,
0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,
0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb,
0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,
0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08,
0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,
0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,
0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,
0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16)
以下给出本实施例各个符号表示含义:
s:消息的字节长度;n:消息的比特长度;m:消息分组后每组的字节长度;DMF:消息分组函数;Bj:第j个消息分组;bi:第j个消息分组的第i个比特数字,bi=0或bi=1;bT[i]:比特表第i个比特数字,0或1;BT[i]:字节表第i个字节数字,0到255;CFj:第j个消息分组的权系数;c:运算常量,消息分组中符号0的统计个数;p0:运算常量,符号0的概率;p1:运算常量,符号1的概率;Ri:32位无符号运算常量,随i的变化;min R:运算常量,与Ri比较的最小值;Li:32位无符号运算常量,随i变化;Hi:32位无符号运算常量,随i变化;F:运算常量,随编码变化;D:运算常量,随编码变化;L:可定义的哈希值字节长度;HV[l]:哈希值第l个字节;KEY[k]:秘钥数组的第k个字节;t:秘钥数组的字节长度;T:规整化后秘钥数组的字节长度;CFOFj (i,k):基于秘钥第k个字节第j个消息分组第i个比特的权系数函数;mod:模运算;log:以自然数2为底的对数运算;异或运算;:数值x向上取整;←:左向赋值运算符;<<i:左移i个比特;>>i:右移i个比特;∧:整数与运算;∨:整数或运算。
初始化参数:R0=2147483648;L0=2147483648;minR=8388608;p0=0;p1=0;F=0;D=0;c=0;l=0。
第二、计算过程:
计算过程的输入为字节长度为s的待签名消息,经过分组权系数计算,秘钥扩展,分组加权概率编码,结束编码,然后生成比特长度为L的哈希值。
1、消息分组:
2、权系数函数:
3、权系数运算函数:
CFOFj (i,k)=CFj-BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T])
4、秘钥规整化:
当t≤n时T=t。当t>n时,T=n,需对秘钥进行规整化,让秘钥的全部字节有效作用于权系数,按照下列方法进行:
5、分组权系数计算:
当j<DMF(n)时,Bj组消息长度为m。当j=DMF(n)时,Bj组消息长度为m=n-(DMF(n)-1)m。Bj组按下列方法统计概率并计算权系数:
6、分组加权概率编码:
Bj(j=1,2,…,DMF(n))组消息第i(i=1,2,…,m)个比特轮函数值RFi的加权概率编码计算过程描述如下:
7、输出哈希值:
输出L个比特的哈希值作为签名消息,哈希值由字节数组HV给出
参照图2,本发明的实施例,提供了一种消息安全签名系统,包括数据获取单元100、消息分组单元200、权系数生成单元300、秘钥归整单元400以及编码签名单元500,其中:
数据获取单元100用于获取秘钥数组、待签名消息和预设的哈希值字节长度。
消息分组单200用于将待签名消息以字节为单元进行线性均分分组,得到多个消息分组。
权系数生成单元300用于随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数;根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数。
秘钥归整单元400用于当秘钥数组的字节长度大于待签名消息的比特长度,对秘钥数组进行归整,以使归整后的秘钥数组的字节长度等于待签名消息的比特长度。
编码签名单元500用于通过秘钥数组和权系数对每组消息分组进行加权编码,得到编码完成后的签名消息。
值得注意的是,本系统实施例与上述方法实施例是基于同一个发明构思,因此上述方法实施例的相关内容同样适用于本系统实施例,此处不再赘述。
本发明的一个实施例,提供了一种电子设备;该电子设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。具体地,该电子设备包括:一个或多个控制处理器和存储器,本实例以一个控制处理器为例。控制处理器和存储器可以通过总线或者其他方式连接,本实例以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的电子设备对应的程序指令/模块;控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而实现上述方法实施例的消息安全签名方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的消息安全签名方法。例如,执行以上描述的图1中的方法步骤S101至S105,实现图2中的单元100至500的功能。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,可使得上述一个或多个控制处理器执行上述方法实施例中的消息安全签名方法。例如,执行以上描述的图1中的方法步骤S101至S105,实现图2中的单元100至500的功能。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ReadOnly Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种消息安全签名方法,其特征在于,包括如下步骤:
获取秘钥数组、待签名消息和预设的哈希值字节长度;
将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;
通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。
2.根据权利要求1所述的消息安全签名方法,其特征在于,所述根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数,包括:
通过如下公式计算所述消息分组中的比特值的轮函数:
其中,所述RFi表示所述消息分组中第i个比特值的轮函数,所述bT[(i+bi)mod 256]表示所述比特表中第(i+bi)mod 256个比特数字,所述bi表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;
统计所述消息分组中第i个比特值的轮函数RFi=0的个数,根据轮函数RFi=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;
通过如下公式计算所述消息分组的权系数:
其中,所述CF表示所述消息分组的权系数,所述m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。
3.根据权利要求2所述的消息安全签名方法,其特征在于,在所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码之前,还包括步骤:
当所述秘钥数组的字节长度大于所述待签名消息的比特长度,对所述秘钥数组进行归整,以使归整后的所述秘钥数组的字节长度等于所述待签名消息的比特长度。
5.根据权利要求4所述的消息安全签名方法,其特征在于,所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,包括:
随机生成包含多个字节数字的字节表;
当所述待签名消息中的第j个所述消息分组的第i个比特值相应的轮函数RFi=1,通过编码公式Li=Li-1+Ri-1p0,Ri=Ri-1p1CFOFj (i,k)对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;当所述消息分组的第i个比特值相应的轮函数RFi=0,通过编码公式Ri=Ri-1p0CFOFj (i,k)对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;其中,所述CFOFj (i,k)=CFj-BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]),其中,所述CFOFj (i,k)表示基于所述秘钥数组第k个字节的第j个所述消息分组的第i个比特值的权系数函数,所述CFj表示所述待签名消息中的第j个所述消息分组的权系数,所述T表示归整后的所述秘钥数组的字节长度,所述BT[(j*m+i+bi)mod 256]/(100000+KEY[k mod T])表示所述字节表中第[(j*m+i+bi)mod 256]/(100000+KEY[k mod T]个字节数字,Li,Li-1,Ri,Ri-1为编码变量。
6.一种消息安全签名系统,其特征在于,包括:
数据获取单元,用于获取秘钥数组、待签名消息和预设的哈希值字节长度;
消息分组单元,用于将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
权系数生成单元,用于随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;
编码签名单元,用于通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。
7.根据权利要求6所述的消息安全签名系统,其特征在于,所述权系数生成单元包括轮函数计算子单元和权系数计算子单元,其中:
所述轮函数计算子单元通过如下公式计算所述消息分组中的比特值的轮函数:
其中,所述RFi表示所述消息分组中第i个比特值的轮函数,所述bT[(i+bi)mod 256]表示所述比特表中第(i+bi)mod 256个比特数字,所述bi表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;
所述权系数计算子单元用于统计所述消息分组中第i个比特值的轮函数RFi=0的个数,根据轮函数RFi=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;
通过如下公式计算所述消息分组的权系数:
其中,所述CF表示所述消息分组的权系数,m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。
9.一种电子设备,其特征在于:包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行权利要求1至5任一项所述的消息安全签名方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至5任一项所述的消息安全签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338848.1A CN114189324B (zh) | 2021-11-12 | 2021-11-12 | 一种消息安全签名方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111338848.1A CN114189324B (zh) | 2021-11-12 | 2021-11-12 | 一种消息安全签名方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114189324A true CN114189324A (zh) | 2022-03-15 |
CN114189324B CN114189324B (zh) | 2024-03-22 |
Family
ID=80540866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111338848.1A Active CN114189324B (zh) | 2021-11-12 | 2021-11-12 | 一种消息安全签名方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114189324B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536398A (zh) * | 2006-11-17 | 2009-09-16 | 皇家飞利浦电子股份有限公司 | 用于白盒实现的加密方法 |
WO2010020264A1 (en) * | 2008-08-20 | 2010-02-25 | Nec Europe Ltd. | Method for coded data transmission and apparatus for decoding coded data |
CN102195773A (zh) * | 2010-03-03 | 2011-09-21 | 中国人民解放军信息工程大学 | 一种分组密码算法分析方法及系统 |
US20130235794A1 (en) * | 2012-03-07 | 2013-09-12 | CMMB Vision USA Inc. | Efficient broadcasting via random linear packet combining |
US20140095891A1 (en) * | 2012-09-28 | 2014-04-03 | Gilbert M. Wolrich | Instruction set for sha1 round processing on 128-bit data paths |
CN104025104A (zh) * | 2012-01-09 | 2014-09-03 | 皇家飞利浦有限公司 | 具有密钥驱动的混淆的虚拟机设备和方法 |
JP2015025930A (ja) * | 2013-07-26 | 2015-02-05 | 日本電信電話株式会社 | 圧縮関数演算装置、圧縮関数演算方法及びプログラム |
US20160379475A1 (en) * | 2015-06-29 | 2016-12-29 | Echocare Technologies Ltd. | Human motion feature extraction in personal emergency response systems and methods |
CN109088734A (zh) * | 2018-09-17 | 2018-12-25 | 杭州推点科技发展有限公司 | 一种编码方法及系统 |
CN112988235A (zh) * | 2021-02-06 | 2021-06-18 | 华中科技大学 | 一种高效率第三代安全散列算法的硬件实现电路及方法 |
CN113228682A (zh) * | 2018-12-27 | 2021-08-06 | 夏普株式会社 | 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法 |
CN113297591A (zh) * | 2021-05-07 | 2021-08-24 | 湖南遥昇通信技术有限公司 | 一种网页资源加密方法、设备及存储介质 |
CN113486369A (zh) * | 2021-06-23 | 2021-10-08 | 湖南遥昇通信技术有限公司 | 具有对称加密和无损压缩的编码方法、装置、设备及介质 |
-
2021
- 2021-11-12 CN CN202111338848.1A patent/CN114189324B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536398A (zh) * | 2006-11-17 | 2009-09-16 | 皇家飞利浦电子股份有限公司 | 用于白盒实现的加密方法 |
WO2010020264A1 (en) * | 2008-08-20 | 2010-02-25 | Nec Europe Ltd. | Method for coded data transmission and apparatus for decoding coded data |
CN102195773A (zh) * | 2010-03-03 | 2011-09-21 | 中国人民解放军信息工程大学 | 一种分组密码算法分析方法及系统 |
CN104025104A (zh) * | 2012-01-09 | 2014-09-03 | 皇家飞利浦有限公司 | 具有密钥驱动的混淆的虚拟机设备和方法 |
US20130235794A1 (en) * | 2012-03-07 | 2013-09-12 | CMMB Vision USA Inc. | Efficient broadcasting via random linear packet combining |
US20140095891A1 (en) * | 2012-09-28 | 2014-04-03 | Gilbert M. Wolrich | Instruction set for sha1 round processing on 128-bit data paths |
JP2015025930A (ja) * | 2013-07-26 | 2015-02-05 | 日本電信電話株式会社 | 圧縮関数演算装置、圧縮関数演算方法及びプログラム |
US20160379475A1 (en) * | 2015-06-29 | 2016-12-29 | Echocare Technologies Ltd. | Human motion feature extraction in personal emergency response systems and methods |
CN109088734A (zh) * | 2018-09-17 | 2018-12-25 | 杭州推点科技发展有限公司 | 一种编码方法及系统 |
CN113228682A (zh) * | 2018-12-27 | 2021-08-06 | 夏普株式会社 | 预测图像生成装置、运动图像解码装置、运动图像编码装置以及预测图像生成方法 |
CN112988235A (zh) * | 2021-02-06 | 2021-06-18 | 华中科技大学 | 一种高效率第三代安全散列算法的硬件实现电路及方法 |
CN113297591A (zh) * | 2021-05-07 | 2021-08-24 | 湖南遥昇通信技术有限公司 | 一种网页资源加密方法、设备及存储介质 |
CN113486369A (zh) * | 2021-06-23 | 2021-10-08 | 湖南遥昇通信技术有限公司 | 具有对称加密和无损压缩的编码方法、装置、设备及介质 |
Non-Patent Citations (4)
Title |
---|
CHEN HAI-PENG ECT.: "Digital Signature Algorithm Based on Hash Round Function and Self-Certified Public Key System", 《2009 FIRST INTERNATIONAL WORKSHOP ON EDUCATION TECHNOLOGY AND COMPUTER SCIENCE》, 26 May 2009 (2009-05-26) * |
N.T. QUACH ECT.: "Systematic IEEE rounding method for high-speed floating-point multipliers Publisher: IEEE Cite This PDF", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS ( VOLUME: 12, ISSUE: 5, MAY 2004)》 * |
乔晓娜;: "基于激光二维码的物流编码加密算法研究", 激光杂志, no. 05 * |
龚征;: "轻量级Hash函数研究", 密码学报, no. 01, 15 February 2016 (2016-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN114189324B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ivanov et al. | Reversed genetic algorithms for generation of bijective s-boxes with good cryptographic properties | |
Fan et al. | Wg-8: A lightweight stream cipher for resource-constrained smart devices | |
EP2442482B1 (en) | Method and device for implementing stream cipher | |
Karakoç et al. | ITUbee: a software oriented lightweight block cipher | |
US20100172501A1 (en) | Secure key system | |
US5724427A (en) | Method and apparatus for autokey rotor encryption | |
CN110198214B (zh) | 身份标识生成方法、验证方法及装置 | |
CN104301113A (zh) | 一种基于多证书多用途的数字签名方法和系统 | |
CN101625653A (zh) | 一种多媒体产品本地数据处理校验方法 | |
Stern et al. | Cs-cipher | |
CN1360773A (zh) | 安全发送用于移动站鉴别的分布rand信号的方法和设备 | |
US20100040226A1 (en) | Device, program and method for generating hash values | |
CN114189324B (zh) | 一种消息安全签名方法、系统、设备及存储介质 | |
CN115348101A (zh) | 基于混沌分组密码的数据加密方法及系统 | |
CN110061848B (zh) | 一种安全导入支付终端密钥的方法、支付终端及系统 | |
Tuychiev | New encryption algorithm based on network PES8-1 using of the transformations of the encryption algorithm AES | |
WO2022052859A1 (zh) | 一种数据传输方法及数据传输设备 | |
Fan et al. | WG-8: A lightweight stream cipher for resource-constrained smart devices | |
EP0928526B1 (en) | Method and apparatus for enhanced cmea employing enhanced transformations | |
Ding et al. | Cryptanalysis of Loiss stream cipher | |
Kuznetsov et al. | A new cost function for heuristic search of nonlinear substitutions | |
Tang et al. | Awareness and control of personal data Based on the Cyber-I privacy model | |
CN114710285B (zh) | 一种面向异构并行架构的高性能sm4比特切片优化方法 | |
Lisickiy et al. | Accelerated Method for Calculating the Algebraic Immunity of S-Boxes | |
TWI280005B (en) | Apparatus and method for calculating TKIP Sbox value |
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 |