CN112272082A - 图像加密/解密的方法及装置、电子设备、存储介质 - Google Patents

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

Info

Publication number
CN112272082A
CN112272082A CN202011046021.9A CN202011046021A CN112272082A CN 112272082 A CN112272082 A CN 112272082A CN 202011046021 A CN202011046021 A CN 202011046021A CN 112272082 A CN112272082 A CN 112272082A
Authority
CN
China
Prior art keywords
pseudo
function
image
initial
key
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
Application number
CN202011046021.9A
Other languages
English (en)
Other versions
CN112272082B (zh
Inventor
邓练兵
李皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Dahengqin Technology Development Co Ltd
Original Assignee
Zhuhai Dahengqin Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Dahengqin Technology Development Co Ltd filed Critical Zhuhai Dahengqin Technology Development Co Ltd
Priority to CN202011046021.9A priority Critical patent/CN112272082B/zh
Publication of CN112272082A publication Critical patent/CN112272082A/zh
Application granted granted Critical
Publication of CN112272082B publication Critical patent/CN112272082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Facsimile Transmission Control (AREA)

Abstract

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

Description

图像加密/解密的方法及装置、电子设备、存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种图像加密/解密的方法及装置、电子设备、存储介质,以及一种伪随机序列生成的方法及装置、电子设备、存储介质。
背景技术
随着5G网络和物联网技术的快速发展,目前越来越多的物联网设备接入互联网,使得信息交换更加频繁,容易给客户带来隐私和安全威胁。并且,随着多媒体服务的飞速发展,越来越多的视频、图片在网络中生成。相比文本,图片和视频包含更丰富的信息,更容易产生隐私泄露的问题。
一般来说,不同的物联网终端具有不同的计算能力,轻量化是物联网系统安全算法的重要前提。目前,利用混沌函数来进行图像加密的方案有很多种,但大多数对于混沌函数可以取得的精度并没有严格的限制。也就是说,大多算法的安全性是在计算机算力精度范围内支持的,但对于只拥有相当有限的算力的物联网终端设备却很难实现。因此,与普通计算机一起使用的许多算法在物联网设备中并没有提供很好的性能。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的图像加密/解密的方法、一种伪随机序列生成的方法及与方法对应的装置、电子设备、存储介质,包括:
一种图像加密的方法,所述方法包括:
获取第一密钥、第二密钥以及原始图像;
依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;
采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。
一种伪随机序列生成的方法,所述方法包括:
将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;所述伪随机数是16bit;
将所述第一函数的输出结果作为所述第一函数的新一轮输入,将所述第二函数的输出结果作为所述第二函数的新一轮输入,将所述第三函数的输出结果作为所述第三函数的新一轮输入,并返回执行所述将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算的步骤;
将多轮迭代得到的多个所述伪随机数构成与所述密钥对应的伪随机序列。
一种图像解密的方法,所述方法包括:
接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;
采用所述第二密钥矩阵对所述加密图像进行处理得到中间结果图像;
采用所述第一密钥矩阵对所述中间结果图像进行处理,得到所述原始图像。
一种图像加密的装置,所述装置包括:
原始图像获取模块,用于获取第一密钥、第二密钥以及原始图像;
初始参数确定模块,用于依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块,用于将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
第一序列生成模块,用于舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
第二初始生成模块,用于将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
第二序列生成模块,用于舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
密钥矩阵生成模块,用于分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
中间结果图像生成模块,用于采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;
加密图像生成模块,用于采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。
一种伪随机序列生成的装置,所述装置包括:
密钥截断模块,用于将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
结果计算模块,用于将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;所述伪随机数是16bit;
迭代输入模块,用于将所述第一函数的输出结果作为所述第一函数的新一轮输入,将所述第二函数的输出结果作为所述第二函数的新一轮输入,将所述第三函数的输出结果作为所述第三函数的新一轮输入,并返回结果计算模块;
伪随机序列生成模块,用于将多轮迭代得到的多个所述伪随机数构成与所述密钥对应的伪随机序列。
一种图像解密的装置,所述装置包括:
加密图像接收模块,用于接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
初始参数确定模块,用于依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块,用于将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
第一序列生成模块,用于舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
第二初始生成模块,用于将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
第二序列生成模块,用于舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
密钥矩阵生成模块,用于分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
中间结果图像逆生成模块,用于采用所述第二密钥矩阵对所述加密图像进行处理得到中间结果图像;
原始图像生成模块,用于采用所述第一密钥矩阵对所述中间结果图像进行处理,得到所述原始图像。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种图像加密的方法,或一种图像解密的方法,或一种伪随机序列生成的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种图像加密的方法,或一种图像解密的方法,或一种伪随机序列生成的方法的步骤。
本申请具有以下优点:
在本申请的实施例中,终端设备可以获取第一密钥、第二密钥以及原始图像,依据原始图像确定预设伪随机序列生成器的初始参数;将第一密钥输入预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,第一初始伪随机序列包括多个伪随机数;舍弃第一初始伪随机序列中与初始参数对应个数的伪随机数,得到与第一密钥对应的第一伪随机序列;将第二密钥输入预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,第二初始伪随机序列包括多个伪随机数;舍弃第二初始伪随机序列中与初始参数对应个数的伪随机数,得到与第二密钥对应的第二伪随机序列;分别对第一伪随机序列和第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;第一密钥矩阵的尺寸和第二密钥矩阵的尺寸均与原始图像的尺寸相同;采用第一密钥矩阵对原始图像进行处理,得到中间结果图像;采用第二密钥矩阵对中间结果图像进行处理得到加密图像。本申请实施例在生成第一伪随机序列和第二伪随机序列时,根据初始参数的值舍弃对应轮次迭代生成的伪随机数,可以提高伪随机序列的随机性,进而提高加密图像的安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种图像加密的方法的步骤流程图;
图2是本申请一实施例提供的一种图像加密的方法的整体流程示意图;
图3是本申请一实施例提供的一种伪随机序列生成器的结构示意图;
图4是本申请一实施例提供的一种图像加密的方法中行置换的示意图;
图5是本申请一实施例提供的一种伪随机序列生成的方法的步骤流程图;
图6是本申请一实施例提供的一种图像解密的方法的步骤流程图;
图7是本申请一实施例提供的一种图像加密的装置的结构框图;
图8是本申请一实施例提供的一种伪随机序列生成的装置的结构框图;
图9是本申请一实施例提供的一种图像解密的装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1和图2,图1示出了本申请实施例提供的一种图像加密方法的步骤流程图,图2示出了本申请实施例提供的一种图像加密方法的整体流程示意图,该方法可以应用于终端设备,尤其适用于物联网终端;物联网是新一代信息技术的重要组成部分,可以将各种对象(例如,车辆、电器、传感器等)连接到互联网上,从而允许终端共享数据、信息和资源。而物联网系统安全算法的重要前提就是轻量化,本申请实施例提供的一种图像加密方法具有低精度和简单高效的特点,可以符合物联网系统安全算法的要求。
该方法具体可以包括如下步骤:
步骤101,获取第一密钥、第二密钥以及原始图像。
在本申请一实施例中,终端设备在对图像进行加密之前,需要获取第一密钥、第二密钥以及原始图像。其中,第一密钥和第二密钥可以用用户输入,也可以由终端设备随机生成,本申请对此不作限制。为适用于低计算精度的物联网设备,本申请实施例中的第一密钥和第二密钥均是96bit。
原始图像可以是任意的需要被加密的图像。具体地,可以通过与其他设备进行通信交互,接收其他设备发送的图像来获得原始图像;也可以通过终端设备的摄像头拍摄获得原始图像,或者,通过终端设备上的相关绘图软件制作得到原始图像;还可以从可读存储介质中获得预先存储的原始图像,等等。
步骤102,依据原始图像的像素值之和确定预设伪随机序列生成器的初始参数。
当获取原始图像后,可以进一步得到原始图像的像素值之和;原始图像的像素值之和,即组成原始图像的各个像素点的像素值相加后的值。将原始图像的像素值之和代入预设的初始参数计算公式中,可以获得初始参数。在本实施例中,可以采用如下初始参数计算公式得到初始参数:
k=sum(P)MOD 30
Figure BDA0002708003820000081
其中,P表示原始图像的像素值之和,pip表示初始参数。
在本实施例中,初始参数用于确定预设伪随机序列生成器生成伪随机数的过程中需要舍弃的伪随机数的数量,即舍弃轮数,使得预设伪随机序列生成器生成的伪随机数的差异更为明显,进而提高图像加密的安全性。
步骤103,将第一密钥输入预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,第一初始伪随机序列包括多个伪随机数。
在本申请一实施例中,将第一密钥作为预设伪随机序列生成器的输入,预设伪随机序列生成器每一轮迭代都可以输出一个16bit的伪随机数,经多轮迭代后,可以将得到的多个伪随机数组成一个第一初始伪随机序列。其中多轮迭代的迭代轮数等于有效轮数和舍弃轮数之和,而舍弃轮数由初始参数确定,有效轮数是根据原始图像的尺寸以及原始图像上单个像素点的比特数确定的。
由于预设伪随机序列生成器每轮迭代输出一个16bit的伪随机数,而对于一般图像当个像素点取值范围为[0,255],占位为8bit,因此,一个伪随机数可以表示两个像素,当原始图像的尺寸是W×H的情况下,表示原始图像的宽度方向有W列像素点,高度方向有H行像素点;根据原始图像的尺寸确定预设伪随机序列生成器的有效轮数,有效轮数为W×H/2。需要说明的是,当W×H/2的值不为整数时,则向上取整。第一初始伪随机序列对应的迭代轮数为舍弃轮数和有效轮数之和,即第一初始伪随机序列中的伪随机数的数量等于舍弃轮数和有效轮数之和。
进一步地,请参照图3,图3是本申请实施例中伪随机序列生成器的结构示意图,如图3所示,本申请实施例中的预设伪随机序列生成器采用三个不同的映射函数并行组成,每个映射函数进行16bit精度运算。
在本申请一实施例中,上述步骤103可以包括如下子步骤:
子步骤1031,将第一密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为PWLCM(Piece Linear Chaotic Map,分段混沌映射)函数、STM(skewtentmap,斜帐篷映射)函数及Bernoulli(伯努利)函数的输入初始值,另外三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入控制参数;
子步骤1032,将PWLCM函数的输出结果放大后取整与STM函数的输出结果放大后取整进行异或运算,并将异或运算的结果和Bernoulli函数的输出结果放大后取整进行取模运算,得到一个伪随机数,并记录一次迭代轮数;
子步骤1033,将PWLCM函数的输出结果作为PWLCM函数的新一轮输入,将STM函数的输出结果作为STM函数的新一轮输入,以及将Bernoulli函数的输出结果作为Bernoulli函数的新一轮输入,并返回执行步骤1032;
子步骤1034,当迭代轮数等于有效轮次和舍弃轮数之和时,采用得到的多个伪随机数生成第一初始伪随机序列。
在本实施例中,PWLCM函数、STM函数及Bernoulli函数均有两个输入,一个输入为初始值,另一个输入为控制参数。可以采用截断函数将96bit的第一密钥按位截断成三个16bit的初始值和三个16bit的控制参数,将三个初始值和三个控制参数分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值和控制参数。具体地,截取第一密钥的第1-16bit作为PWLCM函数的初始值,记作x0,截取第一密钥的第17-32bit作为PWLCM函数的控制参数,记作p1,将x0和p1作为PWLCM函数的首轮输入;截取第一密钥的第33-48bit作为STM函数的初始值,记作y0,截取第一密钥的第49-64bit作为STM函数的控制参数,记作p2,将y0和p2作为STM函数的首轮输入;截取第一密钥的第65-80bit作为Bernoulli函数的初始值,记作z0,截取第一密钥的第81-96bit作为Bernoulli函数的控制参数,记作p3,将z0和p3作为Bernoulli函数的首轮输入。
经过n轮迭代后,PWLCM函数输出xn;STM函数输出yn;Bernoulli函数输出zn。将PWLCM函数、STM函数及Bernoulli函数每轮输出的结果按照预设的伪随机数计算公式进行计算后,得到对应的伪随机数。预设的伪随机数计算公式如下:
rn=(((floor(xn*105))XOR(floor(yn*105)))+(floor(zn*105)))MOD216
由于公式中216<105<217,所以将三个函数的输出结果放大105倍后的误差不会超过1bit。
迭代轮数可以从0开始,每输出一个伪随机数便记录一次迭代轮数。
当迭代轮数等于有效轮次和舍弃轮数之和时,由得到的多个伪随机数按照生成的先后顺序构成第一初始伪随机序列。
步骤104,舍弃第一初始伪随机序列中与初始参数对应的迭代轮次生成的伪随机数,得到与第一密钥对应的第一伪随机序列。
在本申请一实施例中,可以按照第一初始伪随机序列中的多个伪随机数生成的先后顺序,舍弃在先生成的与初始参数对应个数的伪随机数,得到第一伪随机序列,即删除第一初始伪随机序列中的前n个伪随机数后,得到第一伪随机序列;也可以理解,将第一密钥输入预设伪随机序列生成器进行多轮迭代,从第n+1轮迭代开始记录伪随机数,得到第一伪随机序列;其中,n等于初始参数的值。
在其他可选实施例中,还可以将第一初始伪随机序列中的多个伪随机数按照预设规则舍弃与初始参数对应个数的伪随机数,得到第一伪随机序列;预设规则可以是,将第一初始伪随机序列中奇数或偶数位上的伪随机数按照从小到大的顺序舍弃与初始参数对应个数的伪随机数。
步骤105,将第二密钥输入预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,第二初始伪随机序列包括多个伪随机数。
步骤106,舍弃第二初始伪随机序列中与初始参数对应的迭代轮次生成的伪随机数,得到与第二密钥对应的第二伪随机序列。
上述步骤105-步骤106采用的方法和步骤103-步骤104的方法相同,具体描述可参考上述步骤103-步骤104的内容,在此不再赘述。
步骤107,分别对第一伪随机序列和第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;第一密钥矩阵的尺寸和第二密钥矩阵的尺寸均与原始图像的尺寸相同。
在本申请一实施例中,以原始图像的尺寸是W×H,原始图像上单个像素点是8bit为例,对第一伪随机序列进行处理,得到相应的第一密钥矩阵可以通过如下子步骤实现:
子步骤1071,将第一伪随机序列的每个伪随机数切分成两个8bit的子伪随机数;
子步骤1072,将第一伪随机序列中的子伪随机数按照每W个为一行进行排列,得到尺寸为W×H的第一密钥矩阵。
在本实施例中,第一伪随机序列中包括W×H/2个伪随机数,由于预设伪随机序列生成器每轮迭代生成一个16bit的伪随机数,一个伪随机数可以表示两个8bit的像素。将第一伪随机序列中的每个伪随机数切分成两个8bit的子伪随机数,则第一伪随机序列中包括W×H个子伪随机数,与原始图像的像素值之和相等。将第一伪随机序列中的子伪随机数按照先后顺序每W个为一行进行排列,得到尺寸为W×H的第一密钥矩阵。
以原始图像的尺寸为5×5为例,第一伪随机序列中包括13个伪随机数,对每个伪随机数进行等分后,可以得到第一伪随机序列中包括26个子伪随机数,将第排列顺序为1-5的子伪随机数作为第一行,将排列顺序为6-10的子伪随机数作为第二行,将排列顺序为11-15的子伪随机数作为第三行,将排列顺序为16-20的子伪随机数作为第四行,将排列顺序为21-25的子伪随机数作为第五行;最终形成一个尺寸为5×5的第一密钥矩阵。
需要说明的是,对第二伪随机序列进行处理,得到相应的第二密钥矩阵的方法与上述得到第一密钥矩阵的方法相同,具体描述可以参考上述对第一伪随机序列进行处理,得到相应的第一密钥矩阵的说明内容,在此不再赘述。
步骤108,采用第一密钥矩阵对原始图像进行处理,得到中间结果图像。
根据第一密钥矩阵可以对原始图像进行扩散和/或置换处理,得到中间结果图像。
优选地,为了提高图像加密的安全性,在本申请一实施例中,可以先按照第一密钥矩阵对原始图像进行扩散处理,再根据第一密钥矩阵中指定列和行的子伪随机数的大小排序对扩散处理后的图像进行置换处理,得到中间结果图像。
具体地,上述采用第一密钥矩阵对原始图像进行处理,得到中间结果图像可以包括如下子步骤:
子步骤1081,按照第一密钥矩阵对原始图像进行行扩散和列扩散,得到第一图像;
子步骤1082,分别对第一密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第一行索引数组和第一列索引数组;
子步骤1083,依据第一行索引数组和第一列索引数组对第一图像进行行置换和列置换,得到中间结果图像。
在本实施例中,以行/列为基本单位来完成对原始图像的扩散处理,可以大量减少加密的计算量,可以包括如下子步骤:
对原始图像的当前行像素值、上一行像素值、和第一密钥矩阵的当前行的子伪随机数求和,并对求和的结果与28取模,得到新的当前行的像素值,并依据新的当前行的像素值更新原始图像的当前行的像素值,得到第一初始图像;
对第一初始图像中的当前列像素值、上一列像素值、和第一密钥矩阵的当前列的子伪随机数求和,并对求和的结果与28取模,得到新的当前列的像素值,并依据新的当前列的像素值更新第一初始图像中的当前列的像素值,得到第一图像。
其中,当前行为第一行时,上一行为最后一行;当前列为第一列时,上一列为最后一列。
行扩散的具体函数如下:
m[i]=(p[i]+p[i-1]+a[i])MOD28
其中,p[i]表示原始图像的第i行像素值,a[i]表示第一密钥矩阵的第i行子伪随机数,m[i]表示第一图像的第i行像素值。
列扩散的具体函数如下:
m[j]=(m[j]+m[j-1]+b[j])MOD28
其中,b[j]表示第一密钥矩阵的第j列子伪随机数,m[j]表示第一图像的第j列像素值。
在对原始图像进行扩散处理后,再进行置换处理。本实施例中,以行/列为基本单元来完成对扩散处理后得到的第一图像的置换处理,可以大量减少加密的计算量。
具体地,对第一密钥矩阵的第一列子伪随机数按照从大到小的顺序或从小到大的顺序排序,得到相应的第一行索引数组;依据第一行索引数组对第一图像进行行置换。如图4所示,图4示出了本申请一实施例行置换的示意图。图4右侧是一示例中第一密钥矩阵的第一列子伪随机数按照从大到小的顺序排列后的次序,可以理解,在本示例中,第一密钥矩阵的第一列中值最大的是位于第三行的子伪随机数,排列第二的是第五行的子为随机数,排列第三的是第四行的子伪随机数,排列第四的是第一行的子伪随机数,排列第五的是第二行的子伪随机数;相应地,得到的第一行索引数组为[r3,r5,r4,r1,r2],将第一图像按照第一行索引数组进行行置换,即将第一图像中的第三行置换到第一行,第五行置换到第二行,第四行置换到第三行,第一行置换到第四行,第二行置换到第五行。
在完成行置换后,对第一密钥矩阵的第一列子伪随机数按照大小排序,得到相应的第一列索引数组;依据第一列索引数组对行置换后的第一图像进行列置换,得到中间结果图像。其中列置换的方法与上述行置换的方法类似,本领域技术人员参照上述行置换的方法可以相应得知列置换的方法,在此不再赘述。
步骤109,采用第二密钥矩阵对中间结果图像进行处理得到加密图像。
根据第二密钥矩阵可以对中间结果图像进行扩散和/或置换处理,得到加密图像。
优选地,为了提高图像加密的安全性,在本申请一实施例中,可以先按照第二密钥矩阵中指定列和行的子伪随机数的大小排序对中间结果图像进行置换处理,再根据第二密钥矩阵对扩散处理后的图像进行扩散处理,得到加密图像。具体步骤如下:
子步骤1091,分别对第二密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第二行索引数组和第二列索引数组;
子步骤1092,依据第二行索引数组和第二列索引数组对中间结果图像进行行置换和列置换,得到第二图像;
子步骤1093,按照第二密钥矩阵对第二图像进行行扩散和列扩散,得到加密图像。
上述子步骤1091-步骤1092采用的方法和步骤1082-步骤1083的方法类似,具体描述可参考上述步骤1082-步骤1083的内容,在此不再赘述。
上述子步骤1093采用的方法和步骤1081的方法类似,具体描述可参考上述步骤1081的内容,在此不再赘述。
本申请实施例的图像加密的方法中涉及的计算都被限制在16bit精度内,使得本方法不仅可以应用于低功耗设备,还可以节省大量不必要的高精度计算;减少了图像加密的运算量;此外,在伪随机数生成过程中,预设的伪随机序列生成器每一轮迭代可产生一个16bit的伪随机数,因此,生成一个密钥矩阵只需要(W×H)/2轮迭代;再者,采用行和列作为基本单元来实现图像置换和扩散,而不是以位或字节为基本单元,使得在图像加密过程中,只需要4次(W+H)的迭代即可完成置换和扩散;优选地,还可以结合矢量化,使得迭代次数可以减少到2(W+H);最后,本申请实施例采用初始参数来提高加密算法对输入图像的敏感性,其加密图像的NPCR(number ofchanging pixel rate,像素变换率)平均值为99.61%,UCAI(unified averaged changed intensity,统一平均改变强度)平均值为33.47%,非常接近NPCR理论最优值99.6094%、UCAI理论最优值33.4635%,因此,得到的加密图像具有较强的抵御差分攻击的能力。
进一步地,在本申请一可选实施例中,在对原始图像处理得到加密图像后,还包括:
将第一密钥、第二密钥、加密图像以及原始图像的像素值之和传输给图像接收端。
在本实施例中,当完成图像加密后还需要将加密图像传输给图像接收端,为了使得图像接收端可以查看加密图像的原始图像,可以将解密密钥即第一密钥和第二密钥与加密图像一并传输给图像接收端。由于本申请实施例的图像加密过程中需要使用原始图像的像素值之和来确定预设随机序列生成器的初始参数,因此,在发送解密密钥的同时,还需要将原始图像的像素值之和一并发送至图像接收端。
参照图5,图5示出了本申请一实施例提供的一种伪随机序列生成的方法的步骤流程图,该方法可以应用于终端设备,尤其适用于物联网终端。该方法具体可以包括如下步骤:
步骤501,将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个子密钥分别作为第一函数、第二函数及第三函数的输入控制参数,且第一函数、第二函数及第三函数互不相同;
步骤502,将第一函数的输出结果与第二函数的输出结果进行异或运算,并将异或运算的结果和第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;伪随机数是16bit;
步骤503,将第一函数的输出结果作为第一函数的新一轮输入,将第二函数的输出结果作为第二函数的新一轮输入,将第三函数的输出结果作为第三函数的新一轮输入,并返回执行步骤502;
步骤504,将多轮迭代得到的多个伪随机数构成与密钥对应的伪随机序列。
其中,多轮迭代的迭代轮数可以由原始图像或加密方法决定。
本申请实施例提供的伪随机序列生成方法可以应用于精度为16bit的终端设备,通过三个不同函数并行输入,以及对三个不同函数的输出结果进行对应的异或和取模运算,可以产生随机性良好的伪随机数,进而保证伪随机序列的随机性。
在本申请一可选实施例中,上述步骤504可以包括:
接收初始参数,舍弃多个伪随机数中与初始参数的值对应数量的伪随机数后,剩余的多个伪随机数构成与密钥对应的伪随机序列。
请同时参照图3,图3是与本申请实施例一种伪随机序列生成方法对应的伪随机序列生成器的结构示意图。在一可选实施例中,第一函数可以是PWLCM函数,第二函数可以是STM函数,第三函数可以是Bernoulli函数。可以采用截断函数将96bit的密钥按位截断成三个16bit的初始值和三个16bit的控制参数,将三个初始值和三个控制参数分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值和控制参数。具体地,截取密钥的第1-16bit作为PWLCM函数的初始值,记作x0,截取密钥的第17-32bit作为PWLCM函数的控制参数,记作p1,将x0和p1作为PWLCM函数的首轮输入;截取密钥的第33-48bit作为STM函数的初始值,记作y0,截取密钥的第49-64bit作为STM函数的控制参数,记作p2,将y0和p2作为STM函数的首轮输入;截取密钥的第65-80bit作为Bernoulli函数的初始值,记作z0,截取密钥的第81-96bit作为Bernoulli函数的控制参数,记作p3,将z0和p3作为Bernoulli函数的首轮输入。
经过n轮迭代后,PWLCM函数输出xn;STM函数输出yn;Bernoulli函数输出zn。将PWLCM函数、STM函数及Bernoulli函数每轮输出的结果按照预设的伪随机数计算公式进行计算后,得到对应的伪随机数。预设的伪随机数计算公式如下:
rn=(((floor(xn*105))XOR(floor(yn*105)))+(floor(zn*105)))MOD216
由于公式中216<105<217,所以将三个函数的输出结果放大105倍后的误差不会超过1bit。
可以根据实际需求设定迭代轮数,每轮迭代输出一个伪随机数,多轮迭代产生的多个伪随机数可以构成伪随机序列。
将采用本实施例提供的伪随机序列生成方法生成的伪随机序列,通过NIST STS(National Institute ofStandards and Technology Statistical Test Suite,美国国家标准与技术研究院统计测试套件)和TestU01(开源的随机测试套件)的所有测试,NISTSTS的测试结果如下表1所示,TestU01的测试结果如下表2所示。
Figure BDA0002708003820000171
表1:本申请实施例的伪随机序列生成方法生成的伪随机序列的NIST STS测试结果(P-value≥0.01and Proportion>96.02%)
Figure BDA0002708003820000181
表2:本申请实施例的伪随机序列生成方法生成的伪随机序列的TestU01测试结果
测试结果证明:所有的单个混沌函数,在有效精度为16-bit时,其产生伪随机序列随机性能大大下降;对于多个函数级联模式(Cascade chaotic system),并不能增强随机性;而采用本申请实施例提供的伪随机序列生成方法对应的伪随机序列生成器(PSBP)生成的伪随机序列对于两种测试,都具有良好的表现。本申请实施例提供的伪随机序列生成的方法不仅可以用于图像加密,还可以用于生成随机密钥、以及生成产品防伪等应用中。
请参照图6,图6示出了本申请实施例提供的一种图像解密的方法的步骤流程图,可以应用于终端设备,尤其适用于物联网终端,该方法具体可以包括如下步骤:
步骤601,接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和。
本申请一实施例中,接收图像发送端传输的第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和,其中,加密图像可以指采用上述一种图像加密的方法进行加密而获得的加密图像,而第一密钥和第二密钥可以是对原始图像加密处理过程中使用的第一密钥和第二密钥。
步骤602,依据原始图像的像素值之和确定预设伪随机序列生成器的初始参数。
将原始图像的像素值之和代入预设的初始参数计算公式中,可以获得初始参数。初始参数用于确定预设伪随机序列生成器生成伪随机数的过程中需要舍弃的伪随机数的数量,即舍弃轮数,使得预设伪随机序列生成器生成的伪随机数的差异更为明显,进而提高图像加密的安全性。
步骤603,将第一密钥输入预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,第一初始伪随机序列包括多个伪随机数。
在本申请一实施例中,将第一密钥作为预设伪随机序列生成器的输入,预设伪随机序列生成器每一轮迭代都可以输出一个16bit的伪随机数,经多轮迭代后,可以将得到的多个伪随机数组成一个第一初始伪随机序列。其中多轮迭代的迭代轮数等于有效轮数和舍弃轮数之和,而舍弃轮数由初始参数确定,有效轮数是根据加密图像的尺寸以及加密图像上单个像素点的比特数确定的。
一般图像当个像素点取值范围为[0,255],占位为8bit,当加密图像的尺寸是W×H的情况下,根据加密图像的尺寸确定预设伪随机序列生成器的有效轮数,有效轮数为W×H/2。
具体地,在本申请一实施例中,上述步骤603可以包括如下子步骤:
子步骤6031,将第一密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值,另外三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入控制参数;
子步骤6032,将PWLCM函数的输出结果放大后取整与STM函数的输出结果放大后取整进行异或运算,并将异或运算的结果和Bernoulli函数的输出结果放大后取整进行取模运算,得到一个伪随机数,并记录一次迭代轮数;
子步骤6033,将PWLCM函数的输出结果作为PWLCM函数的新一轮输入,将STM函数的输出结果作为STM函数的新一轮输入,以及将Bernoulli函数的输出结果作为Bernoulli函数的新一轮输入,并返回执行步骤6032;
子步骤6034,当迭代轮数等于有效轮次和舍弃轮数之和时,采用得到的多个伪随机数生成第一初始伪随机序列。
步骤604,舍弃第一初始伪随机序列中与初始参数对应个数的伪随机数,得到与第一密钥对应的第一伪随机序列。
在本申请一实施例中,可以按照第一初始伪随机序列中的多个伪随机数生成的先后顺序,舍弃在先生成的与初始参数对应个数的伪随机数,得到第一伪随机序列,即删除第一初始伪随机序列中的前n个伪随机数后,得到第一伪随机序列;也可以理解,将第一密钥输入预设伪随机序列生成器进行多轮迭代,从第n+1轮迭代开始记录伪随机数,得到第一伪随机序列;其中,n等于初始参数的值。
步骤605,将第二密钥输入预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,第二初始伪随机序列包括多个伪随机数。
步骤606,舍弃第二初始伪随机序列中与初始参数对应个数的伪随机数,得到与第二密钥对应的第二伪随机序列。
上述步骤605-步骤606采用的方法和步骤603-步骤604的方法相同,具体描述可参考上述步骤603-步骤604的内容,在此不再赘述。
步骤607,分别对第一伪随机序列和第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;第一密钥矩阵的尺寸和第二密钥矩阵的尺寸均与原始图像的尺寸相同。
在本申请一实施例中,以加密图像的尺寸是W×H,加密图像上单个像素点是8bit为例,对第一伪随机序列进行处理,得到相应的第一密钥矩阵可以通过如下子步骤实现:
子步骤6071,将第一伪随机序列的每个伪随机数切分成两个8bit的子伪随机数;
子步骤6072,将第一伪随机序列中的子伪随机数按照每W个为一行进行排列,得到尺寸为W×H的第一密钥矩阵。
需要说明的是,对第二伪随机序列进行处理,得到相应的第二密钥矩阵的方法与上述得到第一密钥矩阵的方法相同,在此不再赘述。
步骤608,采用第二密钥矩阵对加密图像进行处理得到中间结果图像。
在本申请一实施例中,上述步骤608可以包括如下子步骤:
子步骤6081,按照第二密钥矩阵对加密图像进行列扩散和行扩散,得到第二图像;
子步骤6082,分别对第二密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第二行索引数组和第二列索引数组;
子步骤6083,依据第二行索引数组和第二列索引数组对第二图像进行列置换和行置换,得到中间结果图像。
其中,按照第二密钥矩阵对加密图像进行列扩散和行扩散,得到第二图像的步骤,可以包括如下子步骤:
对加密图像的当前列像素值、上一列像素值、和第二密钥矩阵的当前列的子伪随机数作差,并对作差的结果与28取模,得到新的当前列的像素值,并依据新的当前列的像素值更新加密图像的当前列的像素值,得到第二初始图像;
对第二初始图像的当前行像素值、上一行像素值、和第二密钥矩阵的当前行的子伪随机数作差,并对作差的结果与28取模,得到新的当前行的像素值,并依据新的当前行的像素值更新第二初始图像的当前行的像素值,得到第二图像。
其中,当前行为第一行时,上一行为最后一行;当前列为第一列时,上一列为最后一列。
列扩散的具体函数如下:
m[j]=(c[j]-c[j-1]-b[j])MOD28
其中,c[j]表示加密图像的第j列像素值,b[j]表示第二密钥矩阵的第j列子伪随机数,m[j]表示第二图像的第j列像素值。
行扩散的具体函数如下:
m[i]=(m[i]-m[i-1]-a[i])MOD28
其中,a[i]表示第二密钥矩阵的第i行子伪随机数,m[i]表示加密图像的第i行像素值。
在对加密图像进行扩散处理后,再进置换处理处理,该置换处理的过程是图像加密过程中置换处理的逆处理,可以理解,当图像加密过程中,行索引数组为第一列子伪随机数升序排序的结果,列索引数组为第一行子伪随机数升序排序的结果;则在本申请实施例的图像解密过程中,对第二密钥矩阵的第一行子伪随机数降序排序得到第二列索引数组,依据第二列索引数组对第二图像进行列置换;在对第二密钥矩阵的第一列子伪随机数进行降序排序得到第二行索引数组,依据第二行索引数组对进行列置换后的第二图像进行行置换,得到中间结果图像。
步骤609,采用第一密钥矩阵对中间结果图像进行处理,得到原始图像。
在本申请一实施例中,上述步骤609可以包括如下子步骤:
子步骤6091,分别对第一密钥矩阵的指定行子伪随机数和指定列子伪随机数按照大小排序,得到相应的第一列索引数组和第一行索引数组;
子步骤6092,依据第一列索引数组和第一行索引数组对中间结果图像进行列置换和行置换,得到第一图像;
子步骤6093,按照第一密钥矩阵对第一图像进行列扩散和行扩散,得到原始图像。
上述子步骤6091-步骤6092采用的方法和步骤6082-步骤6083的方法类似,具体描述可参考上述步骤6082-步骤6083的内容,在此不再赘述。
上述子步骤6093采用的方法和步骤6081的方法类似,具体描述可参考上述步骤6081的内容,在此不再赘述。
由于本申请实施例提供的一种图像解密的方法是用于实现对由本申请实施例提供的图像加密的方法加密得到的加密图像的解密;该图像解密的方法是图像加密的方法的逆处理,所以描述的比较简单,相关之处参见上述图像加密的方法实施例的部分说明即可。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请一实施例提供的一种图像加密的装置的结构框图,装置可以包括如下模块:
原始图像获取模块701,用于获取第一密钥、第二密钥以及原始图像;
初始参数确定模块702,用于依据原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块703,用于将第一密钥输入预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,第一初始伪随机序列包括多个伪随机数;
第一序列生成模块704,用于舍弃第一初始伪随机序列中与初始参数对应个数的伪随机数,得到与第一密钥对应的第一伪随机序列;
第二初始生成模块705,用于将第二密钥输入预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,第二初始伪随机序列包括多个伪随机数;
第二序列生成模块706,用于舍弃第二初始伪随机序列中与初始参数对应个数的伪随机数,得到与第二密钥对应的第二伪随机序列;
密钥矩阵生成模块707,用于分别对第一伪随机序列和第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;第一密钥矩阵的尺寸和第二密钥矩阵的尺寸均与原始图像的尺寸相同;
中间结果图像生成模块708,用于采用第一密钥矩阵对原始图像进行处理,得到中间结果图像;
加密图像生成模块709,用于采用第二密钥矩阵对中间结果图像进行处理得到加密图像。
在本申请一可选实施例中,伪随机数是16bit,原始图像的尺寸是W×H,原始图像上单个像素点是8bit;第一初始生成模块703可以包括:
有效轮次确定模块,用于依据原始图像的尺寸确定预设伪随机序列生成器的有效轮数,有效轮数为W×H/2;
迭代轮数确定模块,用于将第一密钥输入预设伪随机序列生成器进行多轮迭代,生成第一初始伪随机序列;多轮迭代的迭代轮数等于有效轮数和初始参数对应的舍弃轮数之和。
在本申请一可选实施例中,第一密钥是96bit,第一初始生成模块703可以包括:
确定函数输入子模块,用于将第一密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值,另外三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入控制参数;
伪随机数生成子模块,用于将PWLCM函数的输出结果放大后取整与STM函数的输出结果放大后取整进行异或运算,并将异或运算的结果和Bernoulli函数的输出结果放大后取整进行取模运算,得到一个伪随机数,并记录一次迭代轮数;
多轮迭代子模块,用于将PWLCM函数的输出结果作为PWLCM函数的新一轮输入,将STM函数的输出结果作为STM函数的新一轮输入,以及将Bernoulli函数的输出结果作为Bernoulli函数的新一轮输入,并返回伪随机数生成子模块;
迭代结束子模块,用于当迭代轮数等于有效轮数和舍弃轮数之和时,采用得到的多个伪随机数生成第一初始伪随机序列。
在本申请一可选实施例中,第一序列生成模块704可以用于:
按照第一初始伪随机序列中的多个伪随机数生成的先后顺序,舍弃在先生成的与初始参数对应个数的伪随机数,得到第一伪随机序列。
在本申请一可选实施例中,密钥矩阵生成模块707可以包括:
伪随机数切分子模块,用于将第一伪随机序列的每个伪随机数切分成两个8bit的子伪随机数;
伪随机数排列子模块,用于将第一伪随机序列中的子伪随机数按照每W个为一行进行排列,得到尺寸为W×H的第一密钥矩阵。
在本申请一可选实施例中,中间结果图像生成模块708可以包括:
第一图像扩散子模块,用于按照第一密钥矩阵对原始图像进行行扩散和列扩散,得到第一图像;
第一索引数组确定子模块,用于分别对第一密钥矩阵的指定列子伪随机数和指定行子伪随机数进行排序,得到相应的第一行索引数组和第一列索引数组;
第一图像置换子模块,用于依据第一行索引数组和第一列索引数组对第一图像进行行置换和列置换,得到中间结果图像。
在本申请一可选实施例中,加密图像生成模块709可以包括:
第二索引数组确定子模块,用于分别对第二密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第二行索引数组和第二列索引数组;
中间结果图像置换子模块,用于依据第二行索引数组和第二列索引数组对中间结果图像进行行置换和列置换,得到第二图像;
第二图像扩散子模块,用于按照第二密钥矩阵对第二图像进行行扩散和列扩散,得到加密图像。
在本申请一可选实施例中,第一图像扩散子模块可以包括:
行扩散子模块,用于对原始图像的当前行像素值、上一行像素值、和第一密钥矩阵的当前行的子伪随机数求和,并对求和的结果与28取模,得到新的当前行的像素值,并依据新的当前行的像素值更新原始图像的当前行的像素值,得到第一初始图像;
列扩散子模块,用于对第一初始图像中的当前列像素值、上一列像素值、和第一密钥矩阵的当前列的子伪随机数求和,并对求和的结果与28取模,得到新的当前列的像素值,并依据新的当前列的像素值更新第一初始图像中的当前列的像素值,得到第一图像;
其中,当前行为第一行时,上一行为最后一行;当前列为第一列时,上一列为最后一列。
在本申请一可选实施例中,该装置还可以包括:
数据传输模块,用于将第一密钥、第二密钥、加密图像以及原始图像的像素值之和传输给图像接收端。
参照图8,示出了本申请一实施例提供的一种伪随机序列生成的装置的结构框图,装置可以包括如下模块:
密钥截断模块801,用于将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个子密钥分别作为第一函数、第二函数及第三函数的输入控制参数,且第一函数、第二函数及第三函数互不相同;
结果计算模块802,用于将第一函数的输出结果与第二函数的输出结果进行异或运算,并将异或运算的结果和第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;伪随机数是16bit;
迭代输入模块803,用于将第一函数的输出结果作为第一函数的新一轮输入,将第二函数的输出结果作为第二函数的新一轮输入,将第三函数的输出结果作为第三函数的新一轮输入,并返回结果计算模块;
伪随机序列生成模块804,用于将多轮迭代得到的多个伪随机数构成与密钥对应的伪随机序列。
在本申请一可选实施例中,第一函数是PWLCM函数,第二函数是STM函数,第三函数是Bernoulli函数。
在本申请一可选实施例中,伪随机序列生成模块804还用于:
接收初始参数,舍弃多个伪随机数中与初始参数的值对应数量的伪随机数后,剩余的多个伪随机数构成与密钥对应的伪随机序列。
参照图9,示出了本申请一实施例提供的一种图像解密的装置的结构框图,装置可以包括如下模块:
加密图像接收模块901,用于接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
初始参数确定模块902,用于依据原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块903,用于将第一密钥输入预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,第一初始伪随机序列包括多个伪随机数;
第一序列生成模块904,用于舍弃第一初始伪随机序列中与初始参数对应个数的伪随机数,得到与第一密钥对应的第一伪随机序列;
第二初始生成模块905,用于将第二密钥输入预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,第二初始伪随机序列包括多个伪随机数;
第二序列生成模块906,用于舍弃第二初始伪随机序列中与初始参数对应个数的伪随机数,得到与第二密钥对应的第二伪随机序列;
密钥矩阵生成模块907,用于分别对第一伪随机序列和第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;第一密钥矩阵的尺寸和第二密钥矩阵的尺寸均与原始图像的尺寸相同;
中间结果图像逆生成模块908,用于采用第二密钥矩阵对加密图像进行处理得到中间结果图像;
原始图像生成模块909,用于采用第一密钥矩阵对中间结果图像进行处理,得到原始图像。
在本申请一可选实施例中,伪随机数是16bit,加密图像的尺寸是W×H,加密图像上单个像素点是8bit;第一初始生成模块903可以包括:
有效轮次确定模块,用于依据加密图像的尺寸确定预设伪随机序列生成器的有效轮数,有效轮数为W×H/2;
迭代轮数确定模块,用于将第一密钥输入预设伪随机序列生成器进行多轮迭代,生成第一初始伪随机序列;多轮迭代的迭代轮数等于有效轮数和初始参数对应的舍弃轮数之和。
在本申请一可选实施例中,第一密钥是96bit,第一初始生成模块903可以包括:
确定函数输入子模块,用于将第一密钥截断成位数相等的六个子密钥,其中三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入初始值,另外三个子密钥分别作为PWLCM函数、STM函数及Bernoulli函数的输入控制参数;
伪随机数生成子模块,用于将PWLCM函数的输出结果放大后取整与STM函数的输出结果放大后取整进行异或运算,并将异或运算的结果和Bernoulli函数的输出结果放大后取整进行取模运算,得到一个伪随机数,并记录一次迭代轮数;
将PWLCM函数的输出结果作为PWLCM函数的新一轮输入,将STM函数的输出结果作为STM函数的新一轮输入,以及将Bernoulli函数的输出结果作为Bernoulli函数的新一轮输入,并返回伪随机数生成子模块;
迭代结束子模块,用于当迭代轮数等于有效轮数和舍弃轮数之和时,采用得到的多个伪随机数生成第一初始伪随机序列。
在本申请一可选实施例中,第一序列生成模块904可以用于:
按照第一初始伪随机序列中的多个伪随机数生成的先后顺序,舍弃在先生成的与初始参数对应个数的伪随机数,得到第一伪随机序列。
在本申请一可选实施例中,密钥矩阵生成模块907可以包括:
伪随机数切分子模块,用于将第一伪随机序列的每个伪随机数切分成两个8bit的子伪随机数;
伪随机数排列子模块,用于将第一伪随机序列中的子伪随机数按照每W个为一行进行排列,得到尺寸为W×H的第一密钥矩阵。
在本申请一可选实施例中,中间结果图像逆生成模块908可以包括:
加密图像逆扩散子模块,用于按照第二密钥矩阵对加密图像进行列扩散和行扩散,得到第二图像;
第三索引数组确定子模块,用于分别对第二密钥矩阵的指定列子伪随机数和指定行子伪随机数按照大小排序,得到相应的第二行索引数组和第二列索引数组;
第二图像逆置换子模块,用于依据第二行索引数组和第二列索引数组对第二图像进行列置换和行置换,得到中间结果图像。
在本申请一可选实施例中,原始图像生成模块909可以包括:
第四索引数组确定子模块,用于分别对第一密钥矩阵的指定行子伪随机数和指定列子伪随机数按照大小排序,得到相应的第一列索引数组和第一行索引数组;
中间结果图像逆置换子模块,用于依据第一列索引数组和第一行索引数组对中间结果图像进行列置换和行置换,得到第一图像;
第一图像逆扩散子模块,用于按照第一密钥矩阵对第一图像进行列扩散和行扩散,得到原始图像。
在本申请一可选实施例中,加密图像逆扩散子模块可以包括:
列逆扩散子模块,用于对加密图像的当前列像素值、上一列像素值、和第二密钥矩阵的当前列的子伪随机数作差,并对作差的结果与28取模,得到新的当前列的像素值,并依据新的当前列的像素值更新加密图像的当前列的像素值,得到第二初始图像;
行逆扩散子模块,用于对第二初始图像的当前行像素值、上一行像素值、和第二密钥矩阵的当前行的子伪随机数作差,并对作差的结果与28取模,得到新的当前行的像素值,并依据新的当前行的像素值更新第二初始图像的当前行的像素值,得到第二图像;
其中,当前行为第一行时,上一行为最后一行;当前列为第一列时,上一列为最后一列。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上图像加密或图像解密或伪随机序列生成的方法的步骤。
本申请一实施例还提供了计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上图像加密或图像解密或伪随机序列生成的方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种图像加密的方法、一种图像解密的方法、一种伪随机序列生成的方法,以及与上述方法相应的装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (16)

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的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;所述伪随机数是16bit;
将所述第一函数的输出结果作为所述第一函数的新一轮输入,将所述第二函数的输出结果作为所述第二函数的新一轮输入,将所述第三函数的输出结果作为所述第三函数的新一轮输入,并返回执行所述将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算的步骤;
将多轮迭代得到的多个所述伪随机数构成与所述密钥对应的伪随机序列。
11.一种图像解密的方法,其特征在于,所述方法包括:
接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;
采用所述第二密钥矩阵对所述加密图像进行处理得到中间结果图像;
采用所述第一密钥矩阵对所述中间结果图像进行处理,得到所述原始图像。
12.一种图像加密的装置,其特征在于,所述装置包括:
原始图像获取模块,用于获取第一密钥、第二密钥以及原始图像;
初始参数确定模块,用于依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块,用于将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
第一序列生成模块,用于舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
第二初始生成模块,用于将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
第二序列生成模块,用于舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
密钥矩阵生成模块,用于分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
中间结果图像生成模块,用于采用所述第一密钥矩阵对所述原始图像进行处理,得到中间结果图像;
加密图像生成模块,用于采用所述第二密钥矩阵对所述中间结果图像进行处理得到加密图像。
13.一种伪随机序列生成的装置,其特征在于,所述装置包括:
密钥截断模块,用于将接收的96bit的密钥截断成位数相等的六个子密钥,其中三个所述子密钥分别作为第一函数、第二函数及第三函数的输入初始值,另外三个所述子密钥分别作为所述第一函数、第二函数及第三函数的输入控制参数,且所述第一函数、第二函数及第三函数互不相同;
结果计算模块,用于将所述第一函数的输出结果与所述第二函数的输出结果进行异或运算,并将所述异或运算的结果和所述第三函数的输出结果进行取模运算,得到一轮迭代的伪随机数;所述伪随机数是16bit;
迭代输入模块,用于将所述第一函数的输出结果作为所述第一函数的新一轮输入,将所述第二函数的输出结果作为所述第二函数的新一轮输入,将所述第三函数的输出结果作为所述第三函数的新一轮输入,并返回结果计算模块;
伪随机序列生成模块,用于将多轮迭代得到的多个所述伪随机数构成与所述密钥对应的伪随机序列。
14.一种图像解密的装置,其特征在于,所述装置包括:
加密图像接收模块,用于接收第一密钥、第二密钥、加密图像以及与加密图像对应的原始图像的像素值之和;
初始参数确定模块,用于依据所述原始图像的像素值之和确定预设伪随机序列生成器的初始参数;
第一初始生成模块,用于将所述第一密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第一初始伪随机序列,所述第一初始伪随机序列包括多个伪随机数;
第一序列生成模块,用于舍弃所述第一初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第一密钥对应的第一伪随机序列;
第二初始生成模块,用于将所述第二密钥输入所述预设伪随机序列生成器进行多轮迭代,得到第二初始伪随机序列,所述第二初始伪随机序列包括多个伪随机数;
第二序列生成模块,用于舍弃所述第二初始伪随机序列中与所述初始参数对应个数的伪随机数,得到与所述第二密钥对应的第二伪随机序列;
密钥矩阵生成模块,用于分别对所述第一伪随机序列和所述第二伪随机序列进行处理,得到相应的第一密钥矩阵和第二密钥矩阵;所述第一密钥矩阵的尺寸和所述第二密钥矩阵的尺寸均与所述原始图像的尺寸相同;
中间结果图像逆生成模块,用于采用所述第二密钥矩阵对所述加密图像进行处理得到中间结果图像;
原始图像生成模块,用于采用所述第一密钥矩阵对所述中间结果图像进行处理,得到所述原始图像。
15.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的图像加密的方法,或如权利要求10所述的伪随机序列生成的方法,或如权利要求11所述的图像解密的方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的图像加密的方法,或如权利要求10所述的伪随机序列生成的方法,或如权利要求11所述的图像解密的方法的步骤。
CN202011046021.9A 2020-09-28 2020-09-28 图像加密/解密的方法及装置、电子设备、存储介质 Active CN112272082B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011046021.9A CN112272082B (zh) 2020-09-28 2020-09-28 图像加密/解密的方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011046021.9A CN112272082B (zh) 2020-09-28 2020-09-28 图像加密/解密的方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN112272082A true CN112272082A (zh) 2021-01-26
CN112272082B CN112272082B (zh) 2022-03-29

Family

ID=74349442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011046021.9A Active CN112272082B (zh) 2020-09-28 2020-09-28 图像加密/解密的方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN112272082B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132079A (zh) * 2021-03-31 2021-07-16 广东工业大学 多图像加密方法及解密方法
CN113190867A (zh) * 2021-05-26 2021-07-30 中国工商银行股份有限公司 密钥生成方法、密钥生成装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053882A1 (en) * 2010-10-20 2012-04-26 Mimos Bhd. A method for encrypting and decrypting data and a system therefor
CN103871017A (zh) * 2014-03-25 2014-06-18 北京工业大学 基于量子散列函数的新型图像加密方法
WO2017102020A1 (en) * 2015-12-18 2017-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of generating a pseudonym associated with a communication device, a network node, computer program and computer program product
CN109391463A (zh) * 2017-08-08 2019-02-26 深圳市中兴微电子技术有限公司 一种图像加密、解密方法、设备及计算机可读存储介质
CN110912674A (zh) * 2019-11-29 2020-03-24 珠海大横琴科技发展有限公司 图像加密方法、装置、电子设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053882A1 (en) * 2010-10-20 2012-04-26 Mimos Bhd. A method for encrypting and decrypting data and a system therefor
CN103871017A (zh) * 2014-03-25 2014-06-18 北京工业大学 基于量子散列函数的新型图像加密方法
WO2017102020A1 (en) * 2015-12-18 2017-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of generating a pseudonym associated with a communication device, a network node, computer program and computer program product
CN109391463A (zh) * 2017-08-08 2019-02-26 深圳市中兴微电子技术有限公司 一种图像加密、解密方法、设备及计算机可读存储介质
CN110912674A (zh) * 2019-11-29 2020-03-24 珠海大横琴科技发展有限公司 图像加密方法、装置、电子设备及可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132079A (zh) * 2021-03-31 2021-07-16 广东工业大学 多图像加密方法及解密方法
CN113132079B (zh) * 2021-03-31 2023-08-18 广东工业大学 多图像加密方法及解密方法
CN113190867A (zh) * 2021-05-26 2021-07-30 中国工商银行股份有限公司 密钥生成方法、密钥生成装置、电子设备和存储介质
CN113190867B (zh) * 2021-05-26 2024-02-06 中国工商银行股份有限公司 密钥生成方法、密钥生成装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112272082B (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
Chen et al. An efficient image encryption scheme using lookup table-based confusion and diffusion
Huang et al. An image encryption algorithm based on hyper-chaos and DNA sequence
Kumar et al. IEHC: An efficient image encryption technique using hybrid chaotic map
US7970809B2 (en) Mixed radix conversion with a priori defined statistical artifacts
Boriga et al. A new fast image encryption scheme based on 2D chaotic maps
Mandal et al. Symmetric key image encryption using chaotic Rossler system
US7907723B2 (en) Device, system and method for fast secure message encryption without key distribution
CN110912674B (zh) 图像加密方法、装置、电子设备及可读存储介质
CN110519039B (zh) 一种数据的同态处理方法、设备和介质
Li et al. A robust image encryption algorithm based on a 32-bit chaotic system
US7912213B2 (en) Device, system and method for fast secure message encryption without key distribution
CN110493201B (zh) 一种数据的处理方法、装置和系统
CN112272082B (zh) 图像加密/解密的方法及装置、电子设备、存储介质
Hoang A novel design of multiple image encryption using perturbed chaotic map
Hanif et al. A novel and efficient multiple RGB images cipher based on chaotic system and circular shift operations
CN110519038B (zh) 一种数据的同态处理装置和系统
US11146387B1 (en) Random position cipher encryption using an aperiodic pseudo-random number generator
CN116391346A (zh) 秘密分享的重新分发
Zheng et al. An image encryption algorithm based on multichaotic system and DNA coding
Riyahi et al. A novel image encryption scheme based on multi-directional diffusion technique and integrated chaotic map
Shakir et al. A new four-dimensional hyper-chaotic system for image encryption
Naim et al. New chaotic satellite image encryption by using some or all the rounds of the AES algorithm
Singh et al. Improvement of image transmission using chaotic system and elliptic curve cryptography
Li et al. An image encryption scheme based on precision limited chaotic system
Munir et al. Differential cryptanalysis of diffusion and confusion based information confidentiality mechanism

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