一种消息安全签名方法、系统、设备及存储介质技术方案

技术编号:32658708 阅读:16 留言:0更新日期:2022-03-17 11:07
本发明专利技术公开了一种消息安全签名方法、系统、设备及存储介质,本发明专利技术随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数,根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数,相较于现有方案通过已知的待编码数据每一个字符来统计概率进而计算得到的权系数,本发明专利技术在根据一个随机的比特数字计算比特值的轮函数具备随机性,基于轮函数计算得到的权系数的安全性更高,根据权系数哈希运算得到的签名消息的安全性更高。名消息的安全性更高。名消息的安全性更高。

【技术实现步骤摘要】
一种消息安全签名方法、系统、设备及存储介质


[0001]本专利技术涉及数据压缩
,特别涉及一种消息安全签名方法、系统、设备及存储介质。

技术介绍

[0002]在基于加权编码模型的杰林码哈希加密方案中,对待编码数据进行加权编码之前,需要先统计待编码数据中字符0和字符1的个数,然后计算出其概率,并且使用其概率计算出待编码数据的加权系数,最后利用加权系数和加权编码模型对待编码数据进行编码。但由于该方案在统计字符0和字符1时,待编码数据每一个字符都是已知的,这样第三方在得知准确的待编码数据之后,就通过同样的方式计算得到对应的加权系数,从而准确获得加密后的密文,这样不利于保护数据的安全。

技术实现思路

[0003]本专利技术旨在至少解决现有技术中存在的技术问题。为此,本专利技术提出一种消息安全签名方法、系统、设备及存储介质,相较于现有方案,能够极大程度的提升签名数据的安全性。
[0004]本专利技术的第一方面,提供了一种消息安全签名方法,包括如下步骤:
[0005]获取秘钥数组、待签名消息和预设的哈希值字节长度;
[0006]将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
[0007]随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;
[0008]通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。
[0009]根据本专利技术的实施例,至少具有如下技术效果:
[0010]相较于现有方案,在具备自定义哈希值字节长度的前提下,本方法以字节为单位对待签名消息进行分组,实现以字节为单位的线性随机编码,提升了数据的安全性。本方法随机生成包含多个比特数字的比特表,根据消息分组中的比特值在消息分组中的位置从比特表中查找对应位置的比特数字,根据查找出的比特数字计算该比特值的轮函数,根据消息分组中的每个比特值的轮函数和预设的哈希值字节长度,计算消息分组的权系数,相较于现有方案通过已知的待编码数据每一个字符来统计概率进而计算得到的权系数,本方法在计算每组消息分组相应权系数时,由于比特表中每一个位置对应的比特数字是随机的,因此根据一个随机的比特数字计算比特值的轮函数具备随机性,因此基于轮函数计算得到的权系数的安全性更高,根据权系数哈希运算得到的签名消息的安全性更高。
[0011]根据本专利技术的一些实施例,所述根据所述消息分组中的比特值在所述消息分组中
的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数,包括:
[0012]通过如下公式计算所述消息分组中的比特值的轮函数:
[0013][0014]其中,所述RF
i
表示所述消息分组中第i个比特值的轮函数,所述bT[(i+b
i
)mod 256]表示所述比特表中第(i+b
i
)mod 256个比特数字,所述b
i
表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;
[0015]统计所述消息分组中第i个比特值的轮函数RF
i
=0的个数,根据轮函数RF
i
=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;
[0016]通过如下公式计算所述消息分组的权系数:
[0017][0018]其中,所述CF表示所述消息分组的权系数,所述m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。
[0019]根据本专利技术的一些实施例,在所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码之前,还包括步骤:
[0020]当所述秘钥数组的字节长度大于所述待签名消息的比特长度,对所述秘钥数组进行归整,以使归整后的所述秘钥数组的字节长度等于所述待签名消息的比特长度。
[0021]根据本专利技术的一些实施例,通过如下公式对所述秘钥数组进行归整:
[0022][0023]其中,所述KEY[k]表示所述秘钥数组中的第k个字节,所述mod表示模运算,所述s表示所述待签名消息的字节长度,所述k取值为n至t,n表示所述待签名消息的比特长度,t表示所述秘钥数组的字节长度。
[0024]根据本专利技术的一些实施例,所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,包括:
[0025]随机生成包含多个字节数字的字节表;
[0026]当所述待签名消息中的第j个所述消息分组的第i个比特值相应的轮函数RF
i
=1,通过编码公式L
i
=L
i
‑1+R
i
‑1p0,R
i
=R
i
‑1p1CFOF
j(i,k)
对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;当所述消息分组的第i个比特值相应的轮函数RF
i
=0,通过编码公式R
i
=R
i
‑1p0CFOF
j(i,k)
对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;其中,所述CFOF
j(i,k)
=CF
j

BT[(j*m+i+b
i
)mod 256]/(100000+KEY[k mod T]),其中,所述CFOF
j(i,k)
表示基于所述秘钥数组第k个字节的第j个所述消息分组的第i个比特值的权系数函数,所述CF
j
表示所述待签名消息中的第j个所述消息分组的权系数,所述T表示归整后的所述秘钥数组的字节长度,所述BT[(j*m+i+b
i
)mod 256]/(100000+KEY[k mod T])表示所述字节表中第[(j*m+i+b
i
)mod 256]/(100000+KEY[k mod T]个字节数字,L
i
,L
i
‑1,R
i
,
R
i
‑1为编码变量。
[0027]本专利技术的第二方面,提供了一种消息安全签名系统,其特征在于,包括:
[0028]数据获取单元,用于获取秘钥数组、待签名消息和预设的哈希值字节长度;
[0029]消息分组单元,用于将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;
[0030]权系数生成单元,用于随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息安全签名方法,其特征在于,包括如下步骤:获取秘钥数组、待签名消息和预设的哈希值字节长度;将所述待签名消息以字节为单元进行线性均分分组,得到多个消息分组;随机生成包含多个比特数字的比特表,根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数;通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码,得到编码完成后的签名消息。2.根据权利要求1所述的消息安全签名方法,其特征在于,所述根据所述消息分组中的比特值在所述消息分组中的位置从所述比特表中查找对应位置的比特数字,根据查找出的所述比特数字计算该所述比特值的轮函数;根据所述消息分组中的每个所述比特值的轮函数和所述预设的哈希值字节长度,计算所述消息分组的权系数,包括:通过如下公式计算所述消息分组中的比特值的轮函数:其中,所述RF
i
表示所述消息分组中第i个比特值的轮函数,所述bT[(i+b
i
)mod 256]表示所述比特表中第(i+b
i
)mod 256个比特数字,所述b
i
表示所述消息分组中第i个比特值,所述mod表示模运算,所述表示异或运算;统计所述消息分组中第i个比特值的轮函数RF
i
=0的个数,根据轮函数RF
i
=0的个数,计算所述消息分组中比特值为0所占的概率p0以及比特值为1所占的概率p1;通过如下公式计算所述消息分组的权系数:其中,所述CF表示所述消息分组的权系数,所述m表示所述消息分组的字节长度,所述L表示所述预设的哈希值字节长度。3.根据权利要求2所述的消息安全签名方法,其特征在于,在所述通过所述秘钥数组和所述权系数对每组所述消息分组进行加权编码之前,还包括步骤:当所述秘钥数组的字节长度大于所述待签名消息的比特长度,对所述秘钥数组进行归整,以使归整后的所述秘钥数组的字节长度等于所述待签名消息的比特长度。4.根据权利要求3所述的消息安全签名方法,其特征在于,通过如下公式对所述秘钥数组进行归整:其中,所述KEY[k]表示所述秘钥数组中的第k个字节,所述mod表示模运算,所述s表示所述待签名消息的字节长度,所述k取值为n至t,n表示所述待签名消息的比特长度,t表示所述秘钥数组的字节长度。5.根据权利要求4所述的消息安全签名方法,其特征在于,所述通过所述秘钥数组和所
述权系数对每组所述消息分组进行加权编码,包括:随机生成包含多个字节数字的字节表;当所述待签名消息中的第j个所述消息分组的第i个比特值相应的轮函数RF
i
=1,通过编码公式L
i
=L
i
‑1+R
i
‑1p0,R
i
=R
i
‑1p1CFOF
j(i,k)
对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;当所述消息分组的第i个比特值相应的轮函数RF
i
=0,通过编码公式R
i
=R
i
‑1p0CFOF
j(i,k)
对所述待签名消息中的第j个所述消息分组的第i个比特值进行编码;其中,所述CFOF
j(i,k)
=CF
j

BT[(j*m+i+b

【专利技术属性】
技术研发人员:王杰林
申请(专利权)人:湖南遥昇通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1