图像加密/解密的方法及装置、电子设备、存储介质制造方法及图纸

技术编号:27139428 阅读:19 留言:0更新日期:2021-01-27 20:57
本申请实施例提供了一种图像加密的方法和装置,获取第一密钥、第二密钥以及原始图像,确定预设伪随机序列生成器的初始参数;分别将第一密钥和第二密钥输入预设伪随机序列生成器,预设伪随机序列生成器舍弃与初始参数对应个数的伪随机数后生成第一伪随机序列和第二伪随机序列;分别对第一伪随机序列和第二伪随机序列处理,得到第一密钥矩阵和第二密钥矩阵;采用第一密钥矩阵对原始图像进行处理,得到中间结果图像;采用第二密钥矩阵对中间结果图像进行处理得到加密图像。本申请实施例在生成第一伪随机序列和第二伪随机序列时,根据初始参数的值舍弃对应轮次迭代生成的伪随机数,可以提高伪随机序列的随机性,进而提高加密图像的安全性。像的安全性。像的安全性。

【技术实现步骤摘要】
图像加密/解密的方法及装置、电子设备、存储介质


[0001]本申请涉及信息安全
,特别是涉及一种图像加密/解密的方法及装置、电子设备、存储介质,以及一种伪随机序列生成的方法及装置、电子设备、存储介质。

技术介绍

[0002]随着5G网络和物联网技术的快速发展,目前越来越多的物联网设备接入互联网,使得信息交换更加频繁,容易给客户带来隐私和安全威胁。并且,随着多媒体服务的飞速发展,越来越多的视频、图片在网络中生成。相比文本,图片和视频包含更丰富的信息,更容易产生隐私泄露的问题。
[0003]一般来说,不同的物联网终端具有不同的计算能力,轻量化是物联网系统安全算法的重要前提。目前,利用混沌函数来进行图像加密的方案有很多种,但大多数对于混沌函数可以取得的精度并没有严格的限制。也就是说,大多算法的安全性是在计算机算力精度范围内支持的,但对于只拥有相当有限的算力的物联网终端设备却很难实现。因此,与普通计算机一起使用的许多算法在物联网设备中并没有提供很好的性能。

技术实现思路

[0004]鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的图像加密/解密的方法、一种伪随机序列生成的方法及与方法对应的装置、电子设备、存储介质,包括:
[0005]一种图像加密的方法,所述方法包括:
[0006]获取第一密钥、第二密钥以及原始图像;
[0007]依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
[0008]将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
[0009]舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
[0010]将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
[0011]舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
[0012]分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
[0013]采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;
[0014]采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。
[0015]一种伪随机序列生成的方法,所述方法包括:
[0016]将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
[0017]将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;所述伪随机数是16bit;
[0018]将所述第一函数的输出结果作为所述第一函数的新一轮输入,将所述第二函数的输出结果作为所述第二函数的新一轮输入,将所述第三函数的输出结果作为所述第三函数的新一轮输入,并返回执行所述将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算的步骤;
[0019]将多轮迭代得到的多个所述伪随机数构成与所述密钥对应的伪随机序列。
[0020]一种图像解密的方法,所述方法包括:
[0021]接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
[0022]依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
[0023]将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
[0024]舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
[0025]将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
[0026]舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
[0027]分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;
[0028]采用所述第二密钥矩阵对所述加密图像进行处理得到中间结果图像;
[0029]采用所述第一密钥矩阵对所述中间结果图像进行处理,得到所述原始图像。
[0030]一种图像加密的装置,所述装置包括:
[0031]原始图像获取模块,用于获取第一密钥、第二密钥以及原始图像;
[0032]初始参数确定模块,用于依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
[0033]第一初始生成模块,用于将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
[0034]第一序列生成模块,用于舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
[0035]第二初始生成模块,用于将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
[0036]第二序列生成模块,用于舍弃所述第二初始伪随机序列中与所述初始参数对应个
数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
[0037]密钥矩阵生成模块,用于分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
[0038]中间结果图像生成模块,用于采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;
[0039]加密图像生成模块,用于采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。
[0040]一种伪随机序列生成的装置,所述装置包括:
[0041]密钥截断模块,用于将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
[0042]结果计算模块,用于将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像加密的方法,其特征在于,所述方法包括:获取第一密钥、第二密钥以及原始图像;依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。2.根据权利要求1所述的方法,其特征在于,所述伪随机数是16bit,所述原始图像的尺寸是W
×
H,所述原始图像上单个像素点是8bit;所述将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列的步骤,包括:依据所述原始图像的尺寸确定所述预设伪随机序列生成器的有效轮数,所述有效轮数为W
×
H/2;将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,生成第一初始伪随机序列;所述多轮迭代的迭代轮数等于所述有效轮数和所述初始参数对应的舍弃轮数之和。3.根据权利要求2所述的方法,其特征在于,所述第一密钥是96bit,所述将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,生成第一初始伪随机序列的步骤,包括:将所述第一密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值,另外三个所述子密钥分别作为所述PWLCM函数、STM函数及Bernoulli函数的输入控制参数;将所述PWLCM函数的输出结果放大后取整与所述STM函数的输出结果放大后取整进行异或运算,并将所述异或运算的结果和所述Bernoulli函数的输出结果放大后取整进行取模运算,得到一个伪随机数,并记录一次迭代轮数;将所述PWLCM函数的输出结果作为所述PWLCM函数的新一轮输入,将所述STM函数的输出结果作为所述STM函数的新一轮输入,以及将所述Bernoulli函数的输出结果作为所述Bernoulli函数的新一轮输入,并返回执行所述将所述PWLCM函数的输出结果放大后取整与所述STM函数的输出结果放大后取整进行异或运算,并将所述异或运算的结果和所述Bernoulli函数的输出结果放大后取整进行取模运算的步骤;当所述迭代轮数等于所述有效轮数和所述舍弃轮数之和时,采用得到的多个所述伪随机数生成第一初始伪随机序列。4.根据权利要求3或4所述的方法,其特征在于,所述舍弃所述第一初始伪随机序列中
与所述初始参数对应的迭代轮次生成的伪随机数,得到与所述第一密钥对应的第一伪随机序列的步骤,包括:按照所述第一初始伪随机序列中的多个伪随机数生成的先后顺序,舍弃在先生成的与所述初始参数对应个数的伪随机数,得到第一伪随机序列。5.根据权利要求4所述的方法,其特征在于,所述对所述第一伪随机序列进行处理,得到相应的第一密钥矩阵的步骤,包括:将所述第一伪随机序列的每个伪随机数切分成两个8bit的子伪随机数;将所述第一伪随机序列中的子伪随机数按照每W个为一行进行排列,得到尺寸为W
×
H的所述第一密钥矩阵。6.根据权利要求5所述的方法,其特征在于,所述采用第一密钥矩阵对所述加密图像进行处理,得到中间结果图像的步骤,包括:按照所述第一密钥矩阵对所述原始图像进行行扩散和列扩散,得到第一图像;分别对所述第一密钥矩阵的指定列子伪随机数和指定行子伪随机数进行排序,得到相应的第一行索引数组和第一列索引数组;依据所述第一行索引数组和所述第一列索引数组对所述第一图像进行行置换和列置换,得到中间结果图像。7.根据权利要求6所述的方法,其特征在于,所述采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像的步骤,包括:分别对所述第二密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第二行索引数组和第二列索引数组;依据所述第二行索引数组和所述第二列索引数组对所述中间结果图像进行行置换和列置换,得到第二图像;按照所述第二密钥矩阵对所述第二图像进行行扩散和列扩散,得到加密图像。8.根据权利要求7所述的方法,其特征在于,所述按照所述第一密钥矩阵对所述原始图像进行行扩散和列扩散,得到第一图像的步骤,包括:对所述原始图像的当前行像素值、上一行像素值、和所述第一密钥矩阵的当前行的子伪随机数求和,并对求和的结果与28取模,得到新的当前行的像素值,并依据所述新的当前行的像素值更新所述原始图像的当前行的像素值,得到第一初始图像;对所述第一初始图像中的当前列像素值、上一列像素值、和所述第一密钥矩阵的当前列的子伪随机数求和,并对求和的结果与28取模,得到新的当前列的像素值,并依据所述新的当前列的像素值更新所述第一初始图像中的当前列的像素值,得到所述第一图像;其中,所述当前行为第一行时,所述上一行为最后一行;所述当前列为第一列时,所述上一列为最后一列。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一密钥、所述第二密钥、所述加密图像以及所述原始图像的像素值之和传输给图像接收端。10.一种伪随机序列生成的方法,其特征在于,所述方法包括:将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函
数、第二函数及第三函数的输入控制参数,且所述第...

【专利技术属性】
技术研发人员:邓练兵李皓
申请(专利权)人:珠海大横琴科技发展有限公司
类型:发明
国别省市:

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

1