图像加密和解密的制作方法

文档序号:15395252发布日期:2018-09-08 02:02阅读:231来源:国知局
本公开的实施例总体上涉及信息安全领域,更具体地涉及用于加密和解密图像的方法和设备。
背景技术
:数字图像是常见的一种多媒体形式,图像文件格式通常包括jpg、bmp以及gif等。图像根据是否包括彩色信息可分为彩色图像和灰度图像,其中彩色图像是指可以使用红、绿、蓝三原色来表示每个像素的颜色,而灰度图像是指每个像素只有一个颜色,这类图像通常显示为从最暗黑色到最亮的白色的灰度。例如,每个像素通常使用8个比特来表示该像素的灰度值,则每个像素可以存在256个灰度级别。随着通信技术的发展,图像在不同设备之间被频繁传输,图像安全性已经成为一个关注热点,例如在图像共享、视频会议中。为了保证图像内容的安全性,需要采用计算机加密技术对图像进行加密。不同于传统的文本加密方式,图像具有数据内容大、结构复杂等特性,因而传统的文本加密方法并不适用于对图像加密。此外,现有的一些图像加密方法图像加密效率较低,需要花费大量的时间,并且加密的安全性不够,容易遭到攻击或破解。技术实现要素:有鉴于此,本公开的各实施例提出了一种用于加密和解密图像的方法和设备。本公开的实施例通过使用选择性图像加密(sie,selectiveimageencryption)和对图像熵和加密密钥的加密,不仅能够提高图像加密的效率,而且能够提高图像加密的安全性。根据本公开的第一方面,提供了一种图像加密方法。该图像加密方法包括:生成用于对图像加密的密钥;基于密钥,对图像中的每个像素的比特序列中的一部分比特进行加密以生成第一加密图像,其中比特序列表示相应像素的值;确定图像的图像熵值;基于图像熵值,对第一加密图像进行置乱以生成第二加密图像;使用目标设备或目标用户的公钥对密钥和图像熵值进行加密;以及将第二加密图像、经加密的密钥和图像熵值关联地存储或传输。根据本公开的第二方面,提供了一种图像加密设备。该图像加密设备包括处理器和耦合至处理器并且存储有指令的存储器。所述指令在由处理器执行时执行以下动作:生成用于对图像加密的密钥;基于密钥,对图像中的每个像素的比特序列中的一部分比特进行加密以生成第一加密图像,其中比特序列表示相应像素的值;确定图像的图像熵值;基于图像熵值,对第一加密图像进行置乱以生成第二加密图像;使用目标设备或目标用户的公钥对密钥和图像熵值进行加密;以及将第二加密图像、经加密的密钥和图像熵值关联地存储或传输。根据本公开的第三方面,提供了一种图像加密设备。该图像加密设备包括:用于生成用于对图像加密的密钥的装置;用于基于密钥来对图像中的每个像素的比特序列中的一部分比特进行加密以生成第一加密图像的装置,其中比特序列表示相应像素的值;用于确定图像的图像熵值的装置;用于基于图像熵值来对第一加密图像进行置乱以生成第二加密图像的装置;用于使用目标设备或目标用户的公钥对密钥和图像熵值进行加密的装置;以及用于将第二加密图像、经加密的密钥和图像熵值关联地存储或传输的装置。根据本公开的第四方面,提供了一种图像解密方法。该图像解密方法包括:获得加密图像和与加密图像相关联的加密密钥序列;使用目标设备或目标用户的私钥对加密密钥序列进行解密以获得第一序列和第二序列,其中第一序列表示与加密图像相对应的原始图像的图像熵值,并且第二序列表示用于加密原始图像的密钥;基于图像熵值,对加密图像进行逆置乱以生成中间解密图像;以及基于密钥,对中间解密图像中的每个像素的比特序列中的一部分比特进行解密以生成原始图像,其中比特序列表示相应像素的值。根据本公开的第五方面,提供了一种图像解密设备。该图像解密设备包括处理器和耦合至处理器并且存储有指令的存储器。所述指令在由处理器执行时执行以下动作:获得加密图像和与加密图像相关联的加密密钥序列;使用目标设备或目标用户的私钥对加密密钥序列进行解密以获得第一序列和第二序列,第一序列表示与加密图像相对应的原始图像的图像熵值,并且第二序列表示用于加密原始图像的密钥;基于图像熵值,对加密图像进行逆置乱以生成中间解密图像;以及基于密钥,对中间解密图像中的每个像素的比特序列中的一部分比特进行解密以生成原始图像,其中比特序列表示相应像素的值。根据本公开的第六方面,提供了一种图像解密设备。该图像解密设备包括:用于获得加密图像和与加密图像相关联的加密密钥序列的装置;用于使用目标设备或目标用户的私钥对加密密钥序列进行解密以获得第一序列和第二序列的装置,第一序列表示与加密图像相对应的原始图像的图像熵值,并且第二序列表示用于加密原始图像的密钥;用于基于图像熵值对加密图像进行逆置乱以生成中间解密图像的装置;以及用于基于密钥对中间解密图像中的每个像素的比特序列中的一部分比特进行解密以生成原始图像的装置,其中比特序列表示相应像素的值。此外,本公开的实施例还提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令。这些计算机可读程序指令可以用于执行根据本公开中的各个实施例所描述的方法。附图说明结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:图1图示了根据本公开的实施例的用于图像加密和解密的架构的示意图;图2图示了根据本公开的实施例的图像加密方法的流程图;图3图示了根据本公开的另一实施例的图像加密过程的示意图;图4图示了根据本公开的实施例的图像解密方法的流程图;图5图示了根据本公开的另一实施例的图像解密过程的示意图;图6图示了根据本公开的实施例的示出示例原始图像、加密图像和解密图像的示意图;图7图示了可以用来实施本公开的实施例的设备的示意性框图。具体实施方式以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。在本公开内容中,术语“基于”是“至少部分地基于”;术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制发明的范围。图1图示了根据本公开的实施例的用于对图像进行加密和解密的架构的示意图。如图1所示,架构100包括设备110和设备160,其中设备110和160可以为具有图像处理能力和通信能力的任何电子设备,例如移动设备(诸如智能手机、平板电脑以及便携式计算机)或固定设备(诸如台式计算机、服务器)。如图1所示,设备110可以包括选择性加密模块120和密钥序列加密模块140,以对例如原始图像115进行加密,并且对用于加密的密钥序列(即用于加密的密钥和图像的图像熵值的组合,例如密钥和图像熵值130)进行加密,其中密钥可以随机被生成,图像熵值可以基于原始图像115被确定。选择性加密模块120可以基于密钥和图像熵值130来对原始图像115进行加密,以生成加密图像125。密钥序列加密模块140可以使用公钥135对密钥序列(即密钥和图像熵值130)进行加密,以生成加密密钥序列145。其中公钥135是目标设备或目标用户的公钥,例如公钥135可以是设备160的公钥,设备160还具有其自己的私钥175。公钥与私钥是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。使用公钥加密的数据,必须使用对应的私钥进行解密。在一些实施例中,设备110和设备160可以各自包括通信模块(未示出),并且设备110与设备160可以在网络上相连接。可选地,该网络可以包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(vpn)网络、无线通信网络等。如图1所示,设备110可以使用其通信模块将生成的加密图像125和加密密钥序列145通过网络发送给设备160的通信模块。如图1所示,设备160可以包括密钥序列解密模块170和选择性解密模块190,以对用于加密密钥序列145进行解密,并且对加密图像125进行解密。密钥序列解密模块170基于私钥175(例如与公钥135相对应的设备160的私钥)对加密密钥序列145进行解密,以生成密钥和图像熵值180,其与密钥和图像熵值130相同。选择性解密模块190基于经解密的密钥和图像熵值180,对加密图像125进行解密,以获得原始图像195。本领域技术人员应当理解,虽然架构100中同时包括了设备110和设备160,但是设备110和设备160也可以是同一个设备,即,将原始图像115在一个设备上加密,并且本地存储,然后在这个设备上再进行解密。在这种情况下,公钥135可以是针对特定用户的公钥,也就是说,仅该特定用户能够对加密图像125进行解密。图2图示了根据本公开的实施例的图像加密方法200的流程图。应当理解,方法200可以由参考图1所描述的设备110执行。在210,生成用于对图像加密的密钥,例如可以随机地生成密钥。在220,基于密钥,对图像中的每个像素的比特序列中的一部分比特进行加密以生成第一加密图像,其中比特序列表示相应像素的值。例如,仅对每个像素的比特序列中的重要比特位进行加密,以减少加密内容以便提高加密效率。也就是说,选择性图像加密方法虽然不能保证最大的图像安全性,但是能够在相对很安全的前提下提高计算效率。在230,确定图像的图像熵值,图像熵能够反映图像中的平均信息量。在240,基于图像熵值,对第一加密图像进行置乱以生成第二加密图像(例如图1中的加密图像125)。根据本公开的实施例,通过使用图像的图像熵来对图像进行加密,可以抵抗选择明文攻击。在250,使用目标设备或目标用户的公钥对密钥和图像熵值进行加密,其中目标设备或目标用户是需要解密第二加密图像的设备或用户。在260,将第二加密图像、经加密的密钥和图像熵值关联地存储或传输。也就是说,将加密图像和对应的加密密钥序列关联,使得仅仅只有目标设备或目标用户才能基于该加密密钥序列对加密图像进行解密。因此,根据本公开的实施例的方法200不仅能够提高图像加密的效率,而且能够提高图像加密的安全性。应当理解,根据本公开的实施例的图像可以为灰度图像。在另一些实施例中,根据本公开的实施例的图像也可以是彩色图像,则可以针对彩色图像中的三个颜色通道(即,红、绿、蓝)分别执行依次方法200。也就是说,针对彩色原始图像,可以重复三次执行方法200。本领域技术人员应当理解,虽然图2中以一定顺序描述了各个动作,然而这些动作也可以以不同于图2中所描述的顺序发生,同时某两个动作实际上可以基本并行地执行,例如,动作210和动作230可以并行执行,动作250可以在动作240之前执行,等等。图3图示了根据本公开的另一实施例的图像加密过程300的示意图。在获得原始图像305之后,可以将原始图像305分割成第一子图像310和第二子图像315,其中第一子图像包括图像中的每个像素的比特序列中的高有效比特,并且第二子图像包括图像中的每个像素的比特序列中的低有效比特。在比特序列中,高有效比特通常比低有效比特更影响比特序列的取值变化。因此,可以仅对比特序列中的高有效比特(例如,最重要的那些比特)进行加密,而不需要对比特序列中的低有效比特(例如,最不重要的那些比特)进行加密。例如,假定比特序列包括8个比特(虽然比特序列也可以包括其他数目的比特),例如10110111,则可以选择对前4个比特(即1011)进行加密,而保持后4个比特(即0111)不变。因此,图像中的每个像素的前4个比特组成第一子图像,而图像中的每个像素的后4个比特组成第二子图像。例如,针对具有m×n个像素的原始灰度图像i,令f(i,j)=p(7)p(6)…p(0)是坐标(i,j)处的像素pi,j的值,并且p(7)p(6)…p(0)表示每个像素的比特序列。在一些实施例中,可以将每个像素pi,j分割成两部分:前4个最高有效比特(msb)和后4个最低有效比特(lsb)。因此,针对msb,f1(i,j)=p(7)p(6)p(5)p(4);而针对lsb,f2(i,j)=p(3)p(2)p(1)p(0)。因此,原始灰度图像i可以被分成第一子图像imsb=[f1(i,j)]i=1,...m;j=1,…,n和第二子图像ilsb=[f2(i,j)]i=1,...m;j=1,…,n。加密密钥325是一个随机生成的比特序列,当比特序列包括大于128个比特时,通常认为加密密钥能够阻挡暴力破解攻击。例如加密密钥k可以为40个十六进制数(即160个二进制比特),其可以被划分成5组,即k=k1k2k3k4k5,其中每个ki(1≤i≤5)由8个十六进制数组成,并且可以被转成十进制数di(1≤i≤5),例如可以由以下式(1)求出di的值。di=hex2dec(ki)/232(1)在一些实施例中,逻辑斯蒂(logistic)混沌系统320可以基于随机生成的加密密钥325,生成dna(deoxyribonucleicacid)编码规则330和dna矩阵335。逻辑斯蒂混沌系统是一种对初始条件和系统参数敏感并且伪随机性更好的随机生成系统,其可以通过迭代来生成dna编码规则和dna矩阵。根据本公开的实施例,混沌系统的极度敏感性能够使得产生的随机数更随机。接下来,可以使用dna编码规则330对第一子图像310进行dna编码,以生成第一编码子图像340。一个dna链由腺嘌呤(a)、胸腺嘧啶(t)、胞嘧啶(c)和鸟嘌呤(g)四个不同的基本核苷酸基因组成,这四种核苷酸能够结合在一起形成一条长序列,且a与t配对、c与g配对。dna编码是一种基于生物dna原理的编码规则,a、c、g、t例如可以被分别编码为00、01、10、11,这样的编码方案有24种,但只有八种编码规则满足watson-crick基础配对规则,这八种dna编码规则如表1所示。表1:八种dna编码规则01234567a-00a-00c-00c-00g-00g-00t-00t-00c-01g-01a-01t-01a-01t-01c-01g-01g-10c-10t-10a-10t-10a-10g-10c-10t-11t-11g-11g-11c-11c-11a11a-11例如,针对比特序列为10110111的图像像素,如果使用表1中的第0种编码规则(即00被编码为a,01被编码为c,10被编码为g,11被编码为t),则该比特序列可以被编码为gtct。通过使用这八种dna编码规则,能够有效增强图像的混淆和扩散能力。在一些实施例中,可以根据图像中像素矩阵的列数来确定要使用的dna编码规则。此外,dna编码之间可以执行加法操作和/或减法操作,以下表2示出了dna加法操作规则,表3示出了dna减法操作规则。例如a+a=t,a+c=a,a+g=c,以及a+t=g,同时t-a=a,a-a=c,c-a=g,以及g-a=t。表2:dna加法操作规则+acgtatacgcacgtgcgtatgtac表3:dna减法操作规则-acgtacatgcgcatgtgcatatgc接下来,可以使用dna矩阵335来调整第一编码子图像340以生成第一替代子图像345,例如可以对第一编码子图像340的dna编码与dna矩阵执行dna加法或减法操作。然后再随机使用另一预定dna编码规则对第一替代子图像345进行dna解码,以生成第一加密子图像350,其中另一预定dna编码规则可以是预定的一个固定dna编码规则,例如,可以随机选择表1中的八种dna编码规则中的第一种dna编码规则。至此,第一子图像310已经被加密成第一加密子图像350,然后合并第一加密子图像350和第二子图像315以生成中间加密图像335(也被称为第一加密图像)。在一些实施例中,可以基于原始图像305确定原始图像305的图像熵值360,例如可以通过以下式(2)求出图像熵值h。其中p(mi)表示第mi个事件的发生概率,在灰度图像中通常存在256个信息状态,l表示像素的数目(例如1024×768),然后通过式(3)截断h的小数部分。其中表示向下取整,ε表示耦合参数。然后,可以通过以下式(4)将h转换成64比特二进制序列hbinary。相反地,也可以通过以下式(5)将二进制序列hbinary转换成十进制序列hdecimal。hbinary=dec2bin(h,64)(4)hdecimal=bin2dec(hbinary)(5)此外,还可以通过bellsystemtechnicaljournal期刊中claudeshannon的文章“communicationtheoryofsecrecysystems”(1949年,第28卷第4期)中的方案来确定图像的图像熵值。因此,可以通过以下式(6)确定时空混沌系统365的控制参数us,其中在式(6)中选择常数3.75来使得混沌系统处于混沌状态。us=3.75+0.25hdecimal(6)在一些实施例中,时空混沌系统365可以基于图像熵值360生成用于置乱像素位置的置乱序列370。其中时空混沌系统由于具有良好的混沌动力学特征,在数字化中有更长的周期和更高的维度,具有良好密码特征,所以特别适合混沌密码的设计和生成。此外,时空混沌能够并行实现,具有较大的密钥空间。在一个实施例中,时空混淆系统可以以下式(7)和(8)中的耦合映像格子(cml)表示。f(x,u)=ux(1-x)(8)其中i为离散空间坐标,i=1,2…,n,u∈[3.75,4],n表示控制参数(例如可以被设置为3),其代表时空混沌系统的维数,xn+1(i)表示第i个格子在第n时刻的状态,n为离散时间坐标,f(x,u)表示逻辑斯蒂混沌映射,ε表示耦合参数,其中时空混沌系统的边界条件为xn(j)=xn(n+j)。接下来,基于置乱序列370,对中间加密图像335(即第一加密图像)进行置乱以生成加密图像375(也被称为第二加密图像)。例如,可以通过交换图像中的不同行列中的像素值来实现对图像的置乱。本领域技术人员应当理解,原始图像305可以为参考图1所描述的原始图像115,并且加密图像375可以为参考图1所描述的加密图像125。在一些实施例中,可以向目标设备(例如图1中所描述的设备160)或目标用户发送加密图像125和经加密的密钥序列(例如图1中所描述的加密密钥序列145)。在一个实施例中,例如,设备110生成加密密钥k,并且计算出原始图像的图像熵值hbinary,然后设备110使用k和hbinary来对原始图像i进行选择性加密,以生成加密图像icipher。令密钥序列m=k||hbinary,然后设备110根据切比雪夫多项式算法利用公钥y来对密钥序列m进行加密以生成加密密钥序列c=(c1,c2)。接下来,设备110将m=(c,icipher)发送给设备160。设备160在接收到m之后,首先使用其私钥s来解密加密密钥序列c=(c1,c2),以获得m=k||hbinary。然后,设备160使用k和hbinary来对加密图像icipher进行解密,从而生成原始图像i。在一些实施例中,可以使用切比雪夫多项式对密钥序列进行加密。例如,可以获得由时空混沌系统生成的伪随机数,并对密钥和图像熵值进行单向哈希以生成密钥序列,至少部分地基于伪随机数和公钥,使用切比雪夫多项式(pkccp)对密钥序列进行加密。切比雪夫(chebyshev)是以递归方式定义的一系列正交多项式序列,可以用于针对公钥的加密方案。在一些实施例中,,可以通过以下式(9)-(12)来对具有l个比特长度的密钥序列m进行加密。rseed=tr(y)(10)z=prng(rseed)[1,…l+q],t=h(rseed||m)(11)其中x属于随机正数,x∈zp,x≠1,p为大质数,z表示伪随机数,h为单向哈希函数h:{0,1}*→{0,1}q,其中q为哈希函数的长度;prng为伪随机数生成器prng:ω→{0,1}*,其中ω是prng的种子集。此外,其中y为公钥,表示从集合中随机选择一个元素,||表示二进制串的串联,[·]i…j表示从位置i到j的比特。则根据式(9)-(12),可以将密钥序列m加密成c=(c1,c2)。相应地,c=(c1,c2)可以通过切比雪夫多项式进行解密,如以下式(13)-(14)所示。r′seed=ty(c1),z′=prg(rseed)[1,…,l+q](13)其中如果t′=h(r′seed||m′),则m’输出为解密的密钥序列,否则输出为⊥,表示解密错误。在一些实施例中,,还可以通过ieeejournalonselectedareasincommunications期刊上的y.zheng等人的文章“immunizingpublickeycryptosystemsagainstchosenciphertextattacks”(1993年,第11卷第5期)中的方案来使用切比雪夫多项式对比特序列进行加密。还可以通过yangxiuping等人的文章“acubicmapchaoscriteriontheoremwithapplicationsingeneralizedsynchronizationbasedpseudorandomnumbergeneratorandimageencryption”(doi:http://dx.doi.org/10.1063/1.4917380)中的方案生成伪随机数。因此,本公开的实施例通过基于dna编码和混沌系统的加密,并且结合选择性图像加密和切比雪夫多项式,可以更有效地保证密钥序列的安全性。图4图示了根据本公开的实施例的图像解密方法400的流程图。应当理解,方法400可以由参考图1所描述的设备160执行。在410,获得加密图像和与加密图像相关联的加密密钥序列,例如获得加密图像125和对应的加密密钥序列145。在420,使用目标设备或目标用户的私钥(即与加密公钥对应的私钥)对加密密钥序列进行解密以获得第一序列和第二序列,其中第一序列表示与加密图像相对应的原始图像的图像熵值,并且第二序列表示用于加密原始图像的密钥。在430,基于图像熵值,对加密图像进行逆置乱以生成中间解密图像。在440,基于密钥,对中间解密图像中的每个像素的比特序列中的一部分比特进行解密以生成原始图像。因此,根据本公开的实施例的图像解密方法400需要首先使用其私钥对加密密钥序列进行解密,然后选择性图像解密的方式对图像进行解密,因而也能够提高图像解密的效率。图5图示了根据本公开的另一实施例的图像解密过程500的示意图。在获得加密图像505和对应的加密密钥序列之后,使用目标设备或目标用户的私钥对加密密钥序列进行解密。例如,可以获得由时空混沌系统510生成的伪随机数,然后至少部分地基于伪随机数和私钥,使用切比雪夫多项式并且通过单向哈希判断来对加密密钥序列进行解密以获得图像熵值515和加密密钥550。时空混沌系统510基于图像熵值515,生成用于逆置乱像素位置的置乱序列52。然后可以基于置乱序列520对加密图像505进行逆置乱以生成中间解密图像525。接下来,将中间解密图像525分割成第一解密子图像530和第二解密子图像535,第一解密子图像530包括中间解密图像中的每个像素的比特序列中的高有效比特,并且第二解密子图像535包括中间解密图像中的每个像素的比特序列中的低有效比特。使用预定dna编码规则将第一解密子图像530编码成第一编码解密子图像540,其中预定dna编码规则可以是预定的一种固定dna编码规则,例如,始终是八种dna编码规则中的第一种dna编码规则。如图5所示,在一些实施例中,逻辑斯蒂混沌系统545可以基于加密密钥550生成dna矩阵555和dna编码规则560。然后,可以使用dna矩阵555来调整第一编码解密子图像540以生成第一替代解密子图像565。例如,可以对第一编码解密子图像540的dna编码与dna矩阵执行dna加法或减法操作。例如,加密使执行dna加法操作,则解密时可以执行相反的dna减法操作。使用dna编码规则560对经第一替代解密子图像565进行dna解码以生成第三解密子图像570。接下来,合并第三解密子图像570和第二解密子图像535以生成原始图像575,从而完成对加密图像505的解密过程,使得被加密的图像能够仅被具有解密权限的设备或用户解密,从而保证了图像内容的安全性。图6图示了根据本公开的实施例的示出示例原始图像610、加密图像650和解密图像690的示意图600。本领域技术人员应当理解,原始图像610可以为参考图1所描述的原始图像115、或参考图3所描述的原始图像305,加密图像650可以为参考图1所描述的原始图像125、参考图3所描述的原始图像375、或参考图5说明书的加密图像505,解密图像690可以为参考图1所描述的原始图像195、或参考图5所描述的原始图像575。如图6所示,根据本公开的实施例的图像加密方法,通过选择性加密而生成的加密图像650具有很好的加密性,使得无法看到原始图像的任何内容。因此,根据本公开的实施例的图像加密方法能够在保证图像加密效果的同时提高图像加密的效率。此外,根据本公开的实施例的图像解密方法,通过选择性解密可以将被加密的加密图像650解密成解密图像690,并且解密图像690能够完全反映原始图像610的图像特性,从而有益地保证了图像加解密的效果。应当理解,该设备可以利用各种方式来实现。例如,在某些实施例中,该设备可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、光盘载体介质、诸如只读存储器的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本公开的实施例的设备和装置不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合来实现。图7图示了可以用来实施本公开的实施例的电子设备700的示意性框图。应当理解,电子设备700可以被实现为图1所描述的电子设备110或160。如图7所示,设备700包括中央处理单元(cpu)701(例如处理器),其可以根据存储在只读存储器(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram703中,还可存储设备700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。上文所描述的各个过程和动作,例如方法200和400,可由处理单元701执行。例如,在一些实施例中,方法200和400,可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到ram703并由cpu701执行时,可以执行上文描述的方法200和400中的一个或多个动作。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。应当注意,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附的权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1