一种基于比特链式扩散和动态密钥的图像加密方法及系统
- 国知局
- 2024-08-02 14:02:37
本发明属于信息安全,尤其涉及一种基于比特链式扩散和动态密钥的图像加密方法及系统。
背景技术:
1、计算机技术的迅速发展,信息技术得到了极大的推动,数据量急剧增长。为了保证数据的安全性,加密技术得到了广泛的关注和发展加密技术受到了公众的广泛关注并取得了持续的进展。
2、比特级图像加密技术方案在加密图像,通常将比特层视为一个整体,而忽略了图像中各比特层的重要性。在实际应用中,图像中的不同比特层具有不同的信息量。比特平面关联是一种将图像中的像素按照某种规则进行分组的方法。通过比特平面关联,可以在加密过程中实现更加复杂的加密算法,从而提高加密的安全性。目前的比特级图像加密方案中,比特平面关联尚未得到充分应用。
3、动态密钥是一种随时间和使用情况而变化的密钥。这种密钥可以有效地抵御cpa(continuous password attack)攻击,因为攻击者无法在短时间内破解动态密钥。目前的比特级图像加密方案中,动态密钥尚未得到充分应用。
4、目前急需一种改进现有的比特级图像加密方案,提高图像加密的安全性和性能。
技术实现思路
1、本发明的目的是提出一种基于比特链式扩散和动态密钥的图像加密方法及系统,通过结合混沌系统和动态密钥以及比特级图像加密技术,提供一种安全性高、加密强度大、算法复杂度高且具有密码学安全性更高的组件和算法的置乱算法,以解决现有技术中存在的安全性不高、加密强度不足、算法复杂度较低以及缺乏密码学安全性更高的组件和算法等问题,为数据安全提供更加可靠的保障。
2、为了达到上述目的,在本发明提供一种基于比特链式扩散和动态密钥的图像加密方法,所述方法包括:
3、s1、获取通过md5函数读取原始图像得出的图像特征值;其中,所述图像特征值为32位十六进制数;
4、s2、根据所述图像特征值对混沌产生的初始值进行扰动,用于使不同的明文图像对得到的密钥序列不同,得到基于明文的密钥参数key1和key2和序列加扰后的初始值key3和key4;
5、s3、将key1、key2、key3和key4带入混沌系统,迭代h×w次后得到初始混沌序列r1和r2;
6、s4、获取基于明文图像的数字图像,然后将数字图像进行比特平面分解,将数字图像按照r,g,b三个通道拆分,得到三张灰度图片qr、qg和qb,并分别对r,g,b三个通道进行比特平面分层,得到对应的分层图像qrk、qgk和qbk;
7、s5、隐藏原始图像特征值,将原始图像的哈希值存储在第一分层图像的第一行;
8、s6、定义一个链式函数c=chain_encrypt(i,key)对原始图像和平面分层图像进行操作,得到对应的密文图像,其中,i表示输入明文图像,c表示输出密文图像,key表示加密下一张图像所需混沌序列的初值密钥;其中,加密第五分层图像,得到加密后的第五密文图像,根据第五密文图像特征值对混沌产生的初始值进行扰动得到key5,再加密第六到八分层图像,分别得到加密后的第六密文图像、第七密文图像和第八密文图像,对加密后的第六密文图像、第七密文图像和第八密文图像特征值分别特征值对混沌产生的初始值进行扰动得到key6、key7、key8;
9、s7、基于key8对第一到四分层图像进行加密处理得到第一密文图像、第二密文图像、和第三密文图像和第四密文图像;
10、s8、将加密后的密文图像进行平面合成,得到r,g,b三个通道分别的最终通道密文图像cr、cg和cb,再将三通道的最终通道密文图像cr、cg和cb还原后得到最终密文图像c。
11、进一步地,所述s1中,每一位十六进制数表示为h(x),h(x)∈{0,1,2,...,14,15},其中,x=[1,2,3,...,31,32]。
12、进一步地,所述s2表示如下:
13、
14、其中,mod表示取模运算,key1,key2分别表示基于明文的密钥参数,key3,key4分别表示序列的加扰后的初始值。
15、进一步地,所述s3表示如下:
16、
17、其中,sort表示将输入序列中的每个值从低到高排序;s1和s2表示序列重排的结果;indexh和indexw分别表示排序索引。
18、进一步地,所述比特平面分解具体为:将数字图像的像素值转换为二进制,进而将其分为8位平面。
19、进一步地,所述分别对r,g,b三个通道进行比特平面分层,表示如下:
20、
21、其中,bitget(p,k)函数表示返回p中第k层的比特值,qrk、qgk和qbk分别表示qr、qg,qb分层后得到的图像,k表示第k个比特平面,k=[1,2,3,...,7,8]。
22、进一步地,所述链式函数c=chain_encrypt(i,key)包括:
23、s61、二维前向异或扩散:
24、将生成的混沌序列s1重构成大小为h×w的混沌矩阵x(m,n),其中,m=[1,2,3,...,h],n=[1,2,3,...,w],将图像i进行加密的方式表示如下:
25、
26、其中,i=[2,…,h],j=[2,…,w],m、n、i和j分别索引矩阵的中间变量,c1表示初步加密图像;
27、s62、zigzag置乱:
28、选择初步加密图像c1右上角的第一个元素作为起点进行扫描,直到第个元素停止扫描,将每个扫描到的元素整合成数组v1,;再从初步加密图像c1右下角的第一个元素作为起点进行扫描直到第个元素停止扫描,将每个扫描到的元素整合成数组v2;再将数组v1和数组v2以交错的形式重构成大小为h×w的矩阵c2;
29、s63、二维后向异或扩散:
30、将生成的混沌序列s2重构成大小为h×w的混沌矩阵y(m,n),其中,m=[1,2,3,...,h],n=[1,2,3,...,w],表示如下:
31、
32、其中,j=[n-1,n-2,...,2];
33、
34、其中,i=[2,…,h],j=[2,…,w],p表示加密图像。
35、一种基于比特链式扩散和动态密钥的图像加密系统,包括:特征提取模块、特征扰动模块、混沌序列模块、分层图像模块、哈希值存储模块、链式函数模块、低层加密模块和最终加密模块;
36、特征提取模块,用于获取通过md5函数读取原始图像得出的图像特征值;其中,所述图像特征值为32位十六进制数;
37、特征扰动模块,用于根据所述图像特征值对混沌产生的初始值进行扰动,用于使不同的明文图像对得到的密钥序列不同,得到基于明文的密钥参数key1和key2和序列加扰后的初始值key3和key4;
38、混沌序列模块,用于将key1、key2、key3和key4带入混沌系统,迭代h×w次后得到初始混沌序列r1和r2;
39、分层图像模块,用于获取基于明文图像的数字图像,然后将数字图像进行比特平面分解,将数字图像按照r,g,b三个通道拆分,得到三张灰度图片qr、qg和qb,并分别对r,g,b三个通道进行比特平面分层,得到对应的分层图像qrk、qgk和qbk;
40、哈希值存储模块,用于将原始图像的哈希值存储在第一分层图像的第一行;
41、链式函数模块,用于定义一个链式函数c=chain_encrypt(i,key)对原始图像和平面分层图像进行操作,得到对应的密文图像;其中,加密第五分层图像,得到加密后的第五密文图像,根据第五密文图像进行hash处理后得到key5,再加密第六到八分层图像,分别得到加密后的第六密文图像、第七密文图像和第八密文图像,对加密后的第六密文图像、第七密文图像和第八密文图像分别进行hash处理得到key6、key7、key8;
42、低层加密模块,用于基于key8对第一到四分层图像进行加密处理得到第一密文图像、第二密文图像、和第三密文图像和第四密文图像;
43、最终加密模块,用于将加密后的密文图像进行平面合成,得到r,g,b三个通道分别的最终通道密文图像cr、cg和cb,再将三通道的最终通道密文图像cr、cg和cb还原后得到最终密文图像c。
44、一种基于比特链式扩散和动态密钥的图像加密装置,包括:存储器和处理器,所述存储器用于存储指令,所述处理器用于根据所述指令进行操作以执行上述任一项所述方法的步骤。
45、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述一项所述方法的步骤。
46、本发明的有益技术效果至少在于以下几点:
47、(1)本发明提出的链式加密方法采用比特分层的方式,将图像划分为多个比特层进行加密,从而提高了加密的效果和安全性。
48、(2)本发明使用混沌序列作为加密工具,并通过数学方法处理,使得混沌序列具有防碰撞特性,从而提高了加密的安全性。同时,混沌序列在加密过程中起到关键作用,用于生成密钥序列,提高加密的效果。
49、(3)本发明通过哈希函数提取图像的特征值,以便在加密过程中与混沌序列进行关联,提高加密的安全性。
50、(4)本发明将数字图像划分为多个比特平面进行加密,从而提高了加密的效果和效率。
51、(5)本发明设计了一种链式函数,将加密过程分为二维前向异或扩散、二维后向异或扩散和zigzag置乱三个步骤,使得加密过程具有较高的安全性和灵活性。
52、(6)本发明在加密过程中,通过将原始图像的哈希值存储在分层图像中,以便接收者进行解密操作,同时保证了加密过程的安全性。
53、(7)本发明提出的链式加密方法适用于多种尺寸和类型的数字图像,具有较强的适应性。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241489.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表