一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统技术方案

技术编号:39569587 阅读:6 留言:0更新日期:2023-12-03 19:20
本发明专利技术属于计算机软件加密算法应用领域,具体提供一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统,配置秘钥索引空间,基于索引秘钥变换,生成随机秘钥;基于秘钥索引压缩,生成秘钥索引特征值;采用随机算法,生成

【技术实现步骤摘要】
一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统


[0001]本专利技术属于计算机软件加密算法应用领域,具体涉及一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统


技术介绍

[0002]目前对称密钥加密算法,主要采用两种加密解密方式实现,基于软件算法的软加密和基于硬件加密机的硬加密模式,两种方式各自有自己的不足

[0003]软件加密的本质就是算法加密钥,软加密密钥一般存储在程序代码或配置文件中,采用固定的密钥进行加密,加密算法一般都采用开源算法,在较长时间内都采用相同的密钥进行加密,攻击者如果经过暴力破解或其他攻击方式获取密钥,则整个加密机制就被攻破,而要更换密钥代价很大,需要停止业务,将所有密文解密再重新加密,有一定的风险

[0004]基于硬件的加密机通常可以保证较高的安全性,作为一个安全的黑盒,加密解密和密钥都在加密芯片内部,离开加密机,数据无法加解密,只要保证加密机的安全,就能保证系统安全

但是加密机加解密效率不高,作为外部网络设备,加密解密有网络延迟,同时成本较高需采购硬件设备并部署运维,可能造成性能瓶颈以及故障隐患,如需要提高加解密效率,需要多台硬件加密机进行负载均衡

[0005]流加密技术具有较高的性能,但是单一秘钥的流加密算法容易被攻破,如果同时比对明文和密文,很容易推算出加密秘钥,导致容易被破解,使得密钥不安全


技术实现思路

[0006]本专利技术提供一种基于硬件特征的一次一密的随机秘钥流式加密算法,方法解决算法单一,密钥更换繁琐,密钥保存不安全

容易被破解的缺点

[0007]基于硬件特征的一次一密的随机秘钥流式加密算法包括:
S101
:配置秘钥索引空间;
S102
:基于索引秘钥变换,生成随机秘钥;
S103
:基于秘钥索引压缩,生成秘钥索引特征值;
S104
:采用随机算法,生成
18

base64
格式的随机混淆字串,定义为
RND18

S105
:选择加密用的秘钥生成函数
g

x
),对秘钥索引
z+
加密盐值
salt+RND18

SM3
杂凑运算,使加密秘钥
key=SM3(z+salt+RND18)

S106
:使用
key
进行异或运算生成密文;
S107
:将秘钥特征值子串和
RND18
放在密文中发送给解密终端;
S108
:解密终端解密时通过已知的硬件特征值

秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引

秘钥生成函数

硬件特征值
、18
位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到
明文

[0008]进一步需要说明的是,
S101
中,选择从1顺序递增的自然数作为秘钥索引
z。
[0009]进一步需要说明的是,
S102
中基于单调增函数作为秘钥索引函数,对秘钥索引进行变换

[0010]进一步需要说明的是,
S102
中选取秘钥索引变换函数
f

x
),并使用硬件特征值作为加密盐值
salt
,将秘钥索引变换函数
f

x
)与加密盐值
salt
进行拼接,得到随机秘钥
y
,即为
y=f

x

+salt。
[0011]进一步需要说明的是,
S103
中,秘钥索引特征值为将索引值基于2进制转为
64
进制得到压缩后的秘钥特征值

[0012]进一步需要说明的是,方法中,选择加密解密双方约定好的加密秘钥变换函数,对秘钥索引进行加密秘钥函数变换;秘钥索引经过加密秘钥函数变换后,生成加密秘钥

[0013]进一步需要说明的是,
S106
中,
key=SM3(z+salt+RND18)。
[0014]进一步需要说明的是,
S107
中,对使用的加密秘钥,增加
18
位随机
base64
字串,再进行加密秘钥的混淆,将混淆字串

秘钥特征值子串和
RND18
放在密文中发送给解密终端

[0015]进一步需要说明的是,
S107
中,将混淆字串和索引特征子串共
24

base64
字符配置在密文头部

[0016]本专利技术还提供一种基于硬件特征的一次一密的随机秘钥流式加密系统,系统包括:加密终端以及解密终端;加密终端与解密终端通信连接;加密终端配置有秘钥索引空间
{|1<=x<=16777216}
;加密终端向解密终端发送密文时,执行加密进程;其中,基于索引秘钥变换,生成随机秘钥;基于秘钥索引压缩,生成秘钥索引特征值;采用随机算法,生成
18

base64
格式的随机混淆字串,定义为
RND18
;选择加密用的秘钥生成函数
g

x
),对秘钥索引
z+
加密盐值
salt+RND18

SM3
杂凑运算,使加密秘钥
key=SM3(z+salt+RND18)
;使用
key
进行异或运算生成密文;将秘钥特征值子串和
RND18
放在密文中发送给解密终端;解密终端接收加密终端发送的密文,并对密文解密时通过已知的硬件特征值

秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引

秘钥生成函数

硬件特征值
、18
位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文

[0017]从以上技术方案可以看出,本专利技术具有以下优点:本专利技术涉及的基于硬件特征的一次一密的随机秘钥流式加密算法及系统中,对单一密钥的流加密算法进行改进,克服算法单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,方法包括:
S101
:配置秘钥索引空间;
S102
:基于索引秘钥变换,生成随机秘钥;
S103
:基于秘钥索引压缩,生成秘钥索引特征值;
S104
:采用随机算法,生成
18

base64
格式的随机混淆字串,定义为
RND18

S105
:选择加密用的秘钥生成函数
g

x
),对秘钥索引
z+
加密盐值
salt+RND18

SM3
杂凑运算,使加密秘钥
key=SM3(z+salt+RND18)

S106
:使用
key
进行异或运算生成密文;
S107
:将秘钥特征值子串和
RND18
放在密文中发送给解密终端;
S108
:解密终端解密时通过已知的硬件特征值

秘钥生成函数以及秘钥特征值子串,生成秘钥索引和秘钥特征子串的对应表,根据特征子串在对应表中检索出秘钥索引,从密文中获取的随机加扰串;根据秘钥索引

秘钥生成函数

硬件特征值
、18
位随机加扰串以及结合加密时相同的加密秘钥生成算法,得到加密所用的秘钥,对密文进行异或处理,得到明文
。2.
根据权利要求1所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,
S101
中,选择从1顺序递增的自然数作为秘钥索引
z。3.
根据权利要求1所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,
S102
中基于单调增函数作为秘钥索引函数,对秘钥索引进行变换
。4.
根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,
S102
中选取秘钥索引变换函数
f

x
),并使用硬件特征值作为加密盐值
salt
,将秘钥索引变换函数
f

x
)与加密盐值
salt
进行拼接,得到随机秘钥
y
,即为
y=f

x

+salt。5.
根据权利要求3所述的基于硬件特征的一次一密的随机秘钥流式加密算法,其特征在于,
S103
中,秘钥索引特征值为将索引值基于2进制转为
64
进制得到压...

【专利技术属性】
技术研发人员:马磊袁峰江林谭勇军高斌付大江
申请(专利权)人:山东山大鸥玛软件股份有限公司
类型:发明
国别省市:

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

1