CN101843087B - 通过像素属性分离进行的加密 - Google Patents

通过像素属性分离进行的加密 Download PDF

Info

Publication number
CN101843087B
CN101843087B CN200880106780.0A CN200880106780A CN101843087B CN 101843087 B CN101843087 B CN 101843087B CN 200880106780 A CN200880106780 A CN 200880106780A CN 101843087 B CN101843087 B CN 101843087B
Authority
CN
China
Prior art keywords
byte
color
tuple
pixel
value
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.)
Expired - Fee Related
Application number
CN200880106780.0A
Other languages
English (en)
Other versions
CN101843087A (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.)
Dynamic Data Technology LLC
Original Assignee
NXP BV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40225393&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101843087(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from GB0718699A external-priority patent/GB0718699D0/en
Application filed by NXP BV filed Critical NXP BV
Publication of CN101843087A publication Critical patent/CN101843087A/zh
Application granted granted Critical
Publication of CN101843087B publication Critical patent/CN101843087B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • 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/32203Spatial or amplitude domain methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Facsimile Transmission Control (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种对由字节序列构成的数字文件进行加密的方法,每一个字节由所述数字文件中的相对位置和值来定义,所述方法包括:使用加密密钥,将每一个字节的所述值和所述相对位置分开编码;以及产生加密后的数字文件,在所述加密后的数字文件中隐藏了所述原始数字文件中每一个字节的相对位置和值之间的相关性。

Description

通过像素属性分离进行的加密
技术领域
本发明涉及用于对数字数据(例如数字图像文件形式的数字数据)加密和解密的方法和装置。
背景技术
图像和数据安全是存储和传输应用中的主要挑战。由于极其强大和廉价的计算资源的可用性,用于这些应用的加密算法暴露在各种威胁和安全侵犯之下。对现有加密算法的暴力和统计学攻击不仅仅是可能的,而且随着类似于分布式和网格计算的技术进步的觉醒变得日益实用。可以由分布在因特网上的代理并行处理大量的数据并且有助于揭示安全信息。使用几种数据加密算法(比如DES[1]、AES[1]、IDEA[1])来保护数字信息,还针对对图像进行加密提出了基于混沌[5][17]、排列组合[13]以及光技术[12]。与安全领域中的这些发展同时暴露的还有算法的弱点。能够以10000美元的低成本构建可以确定DES加密所使用的密钥的机器[16]。线性和差分密码分析或者二者的组合也是易受攻击的。已经开发出类似于旁路攻击和几种高速缓存时序攻击等技术,以用800个写操作在65ms的短时间中破解AES算法并且取回加密密钥[6]。基于混沌的技术(比如CKBA)易受到明文攻击[7]并且即使使用组合排列的算法对不同大小的图像块应用多个排列,使用组合排列的算法与最小尺寸块的排列是一样强的。
在汽车、医疗、建筑以及时尚业中的应用要求保护设计、扫描数据、建筑规划和蓝图免受间谍的攻击。考虑到上述领域中的图像的长久的有效期,不可避免的要开发和使用在内容的整个有效期内保护该内容的技术。
本发明的目的是处理一个或者更多上述问题。具体地,本发明的目的是提供用于保护数字图像的内容的技术。
发明内容
依照于本发明的第一方面,提供了一种对由字节序列构成的数字文件进行加密的方法,每一个字节由数字文件中的相对位置和值来定义,该方法包括:
使用加密密钥,将每一个字节的所述值和所述相对位置分开编码;以及
产生加密后的数字文件,在所述加密后的数字文件中隐藏了所述原始数字文件中每一个字节的相对位置和值之间的相关性。
依照于本发明的第二方面,提供了一种用于对由字节序列构成的数字文件进行加密的设备,每一个字节由数字文件中的相对位置和值来定义,该设备包括:
用于使用加密密钥将每一个字节的所述值和所述相对位置分开编码的装置;以及
用于产生加密后的数字文件的装置,在所述加密后的数字文件中隐藏了所述原始数字文件中每一个字节的相对位置和值之间的相关性。
依照于本发明的第三方面,提供一种对加密后的数字文件进行解密的方法,在所述加密后的数字文件中隐藏所述数字文件中每一个字节的位置和值之间的相关性,所述方法包括:
使用解密密钥,由所述加密后的数字文件,对所述数字文件中每一个字节的所述相对位置和值进行解码;以及
由每一个字节的解码后的位置和值,产生解密后的数字文件。
依照于本发明的第四方面,提供了一种用于对加密后的数字文件进行解密的设备,其中在该加密后的数字文件中隐藏该数字文件中每一个字节的位置和值之间的相关性,该设备包括:
用于使用解密密钥由加密后的数字文件对所述数字文件中的每一个字节的相对位置和值进行解码的装置;以及
用于由每一个字节的解码后的位置和值产生解密后的数字文件的装置。
依照于本发明的第五方面,提供了一种计算机程序,用于指示计算机执行根据本发明的第一或者第三方面所述的方法。
应理解,在整个描述中对图像的引用意在也包含对表示可视图像的数字文件的引用,而不仅仅是对该图像的实际表示的引用。
附图说明
下面是作为非限制性示例、参照附图、对本发明的优选实施例的描述,在附图中:
图1示出了对示例彩色图像的加密;
图2示出了具有位置元组形式的示例字节模式;
图3示出了来自图2的字节模式的缺失字节的密码分析错误雪崩效应;
图4示出了图6a的图像的不等百分比形式的25个不同密文的PI值之间的关系;
图5示出了具有加密图像的尺寸改变形式的、由于加密密钥的小改变而导致的密文尺寸的改变;
图6示出了示例图像的加密:(a)原始图像、(b)加密图像;
图7示出了示例图像的加密:(a)原始图像、(b)加密图像;
图8示出了图7的原始和加密图像的红色分量的柱状图;
图9示出了图7的原始和加密图像的绿色分量的柱状图;
图10示出了图7的原始和加密图像的蓝色分量的柱状图;
图11示出了单一颜色图像的加密:(a)原始图像、(b)加密图像;
具体实施方式
1、介绍
图像中的像素基本上由两个属性构成:位置和颜色。像素属性分离(与对称密钥图像加密根本上不同的方案)将这些属性分离以打乱图像的语义。本文披露的算法的多功能性在于其可应用于任意形式的数字数据。该方案在两个正交阶段中操作,每一个阶段需要加密密钥。第一阶段创建位置向量:由随机颜色排列的集合控制的像素位置信息的有序集合。生成对所有24比特颜色的存在进行标记的位图。第二阶段随机地将图像宽度和高度定位在密码中并且最终对密文字节应用字节换位。隐藏包括宽度、高度以及像素位置-颜色相关在内的图像属性的完整集合,导致强度加密。由于通过破解一个阶段所取回的信息是独立的并且不能被用于推导另一个阶段,阶段的正交性使得密码分析更困难。经典的密码分析技术需要大量的尝试,大多数不能生成有效的加密信息。由于高扩散(Diffusion)和混乱(Confusion)的缘故,线性和差分密码分析是高度无效率。
本文描述了基于像素属性分离的图像加密技术和算法,其中将像素位置和颜色进行分离并且编码。该算法将图像颜色-位置相关性、颜色信息以及图像大小进行隐藏。图像大小的隐藏极大地增强了密码分析的复杂度。当明文和差分攻击不能成功揭示有用的加密信息时,仅纯密文攻击实际上是不可能的。成功的暴力攻击所需的时间是几十亿年量级的,因此不可能被使用任何现有技术的暴力方法破解。
下面的章节的组织如下。第2节指定加密和解密算法。其还提供数学模型并且说明加密技术。第3节阐明了破解加密所需的各种密码分析攻击和单位操作。第4节讨论了算法的计算空间和时间复杂度。第5节提供了对加密强度的定性估计,并且针对各种密码学强度标准评价了该技术。第6节给出了仿真结果。
2、算法
令img代表具有宽度W、高度H并且(W×H)≥1的W×H个像素大小的彩色图像,img(x,y),0≤x<W,0≤y<H是在位置(x,y)的img的24比特RGB级别。所提出的加密方案如下。
2.1、定义和假设
1、使用从左至右并且从上至下地扫描图像img的像素,如光栅扫描一样。
2、
Figure GPA00001052742500051
img中存在的所有颜色的集合
3、函数a使得a(i),
Figure GPA00001052742500052
RGB级别代表级别为i的像素的数量。可以注意到0≤a(i)<W×H
4、函数p指示了img中任意颜色的存在。
p ( i ) = 1 , S ∩ { i } ≠ Φ 0 , S ∩ { i } = Φ
Figure GPA00001052742500054
颜色值
5、函数c使得c(i),
Figure GPA00001052742500055
RGB级别,代表数ne,使得在扫描的任意点处,已经处理了级别i的刚好ne数量的像素。注意到,
0 ≤ c ( i ) ≤ ( a ( i ) + 1 ) , p ( i ) = 1 c ( i ) = 0 , p ( i ) = 0
6、RP(KEY,n,l),KEY∈R(所有实数的集合),n,l∈Z+定义了使用密钥KEY生成、具有l个数的第(n+1)个随机排列,其中任意第j个元素RP(n)[j]使得0≤RP(n)[j]<l,
Figure GPA00001052742500057
7、NRP1∈Z+是处理img的所有W×H个像素使得每个排列处理具有任意颜色C∈S的刚好一个像素所需的随机排列的数量
8、对于任意元组T,Tn代表T的第n个元素并且sz(T)代表T中的元素的数量
9、W1和H1分别代表W和H的最低有效字节,W2和H2分别代表W和H的最高有效字节
10、bw和bh分别代表表示任意像素img(w,h)的宽度w和高度h所需要的比特的最少数量
11、D-GAP[9],经典比特游程长度编码器(Bit Run LengthEncoder)的变种,用序列中第一比特的值对第一字节进行编码,后续字节交替地对1和0(0和1)的游程进行编码。第二字节对由第一字节
1推导参见附录
所表示的比特类型的游程进行编码。本文中所有示例使用D-GAP用于游程长度编码。
2.2、加密算法
加密方案是2密钥密钥算法。其对输入的具有W×H个像素的普通图像img、两个密钥key1和key2进行操作,并且生成具有(W′×H′)1个像素的加密图像img’。下列步骤定义了该算法:
步骤1:生成
CP ( n ) = RP ( key 1 , n , 2 24 ) , &ForAll; 0 &le; n < NRP
步骤2:如下创建位置元组
Pos=[Pos0,Pos1,...,PosW×H-1]
对颜色q=CP(n)[j]执行
1、c(q)=c(q)+1,如果(p(q)=1)∧(c(q)≤a(q))
Figure GPA00001052742500062
在下列条件下:
1、
Figure GPA00001052742500063
重复
Figure GPA00001052742500064
(C1)
k取值0,1,...,m,对于任意0≤m≤W×H
2、
Figure GPA00001052742500065
重复(C2)
其中wc(q)和hc(q)分别代表img的第c(q)个像素的宽度w和高度h,使得img(wc(q),hc(q))=q。
为了方便的数字表示,从Pos创建Pos’,sz(Pos ′)1个字节的元组,其中每一个Posk被表示为(bw+bh+1)1二进制比特的序列
Pos′=[Pos′0,Pos′1,...,Pos′sz(Pos′)-1]
步骤3:创建颜色位图CBM,224个元素(比特)的元组。
Figure GPA00001052742500067
其中任意
B i = p ( CP ( 0 ) [ i ] ) , &ForAll; 0 &le; i < 2 24
步骤4:对CBM进行游程长度编码以创建RCBM,b个字节的元组。
RCBM=RLE(CBM)=[B′0,B′1,...,B′b-1]
步骤5:创建(sz(Pos′)+b)个字节的元组
PB=[Pos′0,Pos′1,...,Pos′sz(Pos′)-1,B′0,...,B′b-1]
步骤6:令(f)1为加密图像的大小。生成TP=RP(key2,0,f),SP=RP(key2,1,f)以及PP=RP(key2,2,sz(PB))
步骤7:令(p)1是加密图像中的填充字节的数量。创建P,p个字节的元组,其中任意Pi=PB(PP[i])
P=[P0,P1,...,Pp-1]
步骤8:创建(sz(PB)+p)个字节的元组
PB′=[PB,P0,P1,...,Pp-1]
步骤9:在元组PB’内的由以下列表指示的位置处插入W1、W2、H1和H2以创建PF,(sz(PB’)+4)个字节的元组
  字节   位置
  W1   SP[0]
  W2   SP[1]
  H1   SP[2]
H2 SP[3]
步骤10:创建F,
f=(W′×H′×3)=(sz(PB′)+4)
个字节的元组,其中任意Fi=PFTP[i]
F=[F0,F1,...,Ff-1]
步骤11:创建大小W′×H′的加密图像img’:
img′(x,y)=[Fi,Fi+1,Fi+2]
被表示为24比特数,并且Fi是MSB,其中i=(x×W′×3)+(y×3),0≤y<H′
2.3、算法说明
考虑16个颜色C0至C15的系统并且令img为具有W=3且H=3的由6个颜色S={C1,C3,C5,C6,C11,C12}的集合构成的彩色图像。图1示出了NRP值为2的图像img并且定义了CP(0)、CP(1)、PP以及SP。
1、p:[0,1,0,1,0,1,1,0,0,0,0,1,1,0,0,0]
2、a:[0,2,0,3,0,1,1,0,0,0,0,1,1,0,0,0]
3、c:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
函数p、a以及c的第i个元素给出了输入颜色Ci-1的相应函数的值。
创建Pos’:
1、n=0,c:[0,1,0,1,0,1,1,0,0,0,0,1,1,0,0,0]
Pos:[(2,2,1),(1,2,1),(0,0,0),(1,1,1),(2,1,1),(0,2,0)]1  (A)
2、n=1,c:[0,2,0,2,0,1,1,0,0,0,0,1,1,0,0,0]
Pos:[(2,2,1),........,(0,2,0),(1,0,0),(0,1,1)]2           (B)
在该点处k=m=7
3、n=1,c:[0,2,0,3,0,1,1,0,0,0,0,1,1,0,0,0]
Pos:[(2,2,1),.............,(0,1,1),(2,0,1)]3       (C)
4、bw=bh=2
Pos′:[171,64,185,145,3,136]4,sz(Pos′)=6
创建RCBM:
1、CBM:[1,0,1,1,0,1,0,1,0,0,1,0,0,0,0,0]
2、RCBM:[1,1,1,2,1,1,1,1,2,1,5],b=11
创建P:
1、PB:[171,64,185,145,3,136,1,1,1,2,1,1,1,1,2,1,5]
2、p=3,P=[1,64,1]
创建PB’:
1、PB′:[171,64,185,...........,2,1,5,1,64,1]
创建PF:
1、W1=0,W2=3,H1=0,H2=3
2、PF:[0,171,64,185,145,3,3,0,136,1,1,1,2,1,1,1,1,2,1,5,1,64,1,3]
1CP(0)的末尾
2CP(1)和(C1)的末尾
3(C2)的末尾
4步骤2的结束
创建F:
1、W′=2,H′=4,f=24
2、F:[1,0,3,5,171,1,1,185,2,145,1,1,64,3,1,64,3,2,1,1,136,1,1,0]创建img’:
(x,y) 0 1
0   65539   371457
1   112898   9502977
2   4195073   4195074
3   65928   65792
加密过程得到具有宽度W′=2和高度H′=4的图像img’。
2.4、算法描述
本算法对明文img和密钥key1和key2进行操作以创建密文img’。为了更好的理解本算法,我们将明文表示为如图1.2所示,其中以它们的颜色为基础对像素进行分组。首先扫描明文以基于他们的颜色对像素分组。在该过程中,通过对224个颜色的每一个的像素的数量进行计数来构成函数p和a。如指定的,函数p指示224个颜色的每一个存在,并且函数a指示了具有特定颜色的像素的数量。在步骤2中,所提出的方案以由颜色排列规定的颜色顺序为基础来设置像素位置信息。在步骤2的每一次迭代中,选择当前颜色排列CP(n)中的当前颜色q=CP(n)[j](参见2.2节),并且如果该像素可用于处理,则在密文中放置具有颜色q的刚好一个像素的位置(宽度和高度)。基于当前颜色q=CP(n)[j]以及在之前迭代中已经处理过的具有颜色q的像素数量,决定在任意这样的迭代中要处理的像素。函数c跟踪在任意点处已经处理过的每一个颜色q的像素数量。注意到,在说明中,开始时c(C3)=0,在点(A)处的c(C3)=1指示已经处理了具有C3的第一像素img(0,2)。在(B)处的c(C3)=2以及在(C)处的c(C3)=3分别指示对第二像素(img(1,0))以及第三像素(img(2,0))的处理。
在密文中放置的像素位置的顺序依赖于在颜色排列CP(0)至CP(NRP-1)中的颜色顺序。在说明中的点(A)处,已经按照由CP(0)定义的顺序在Pos中放置了具有6种不同颜色的6个像素的第一集合(由图1.2中的CP(0)所指示)的位置(参见图1.3)。在点(B)处,按照由CP(1)定义的颜色顺序在密文中放置由CP(1)所指示的第二像素集合的位置。仅当考虑具有至少两种颜色的像素时,像素的颜色顺序才是重要的。注意到,当具有单一颜色的像素可用于处理时,可以不在像素中定义颜色顺序,使得颜色排列的必要性无效。例如,在图1中,可以注意到仅有2个颜色排列就足够了。作为具有颜色C3的最后一个像素的像素img(2,0)不需要颜色顺序。值NRP(随机排列的数量)确保存在足够的颜色排列以定义像素位置信息的顺序,直到在具有至少两种颜色的明文中存在待处理的像素。步骤1用作为种子的key1来生成NRP个数量的颜色排列。
本算法的主要焦点是,将两个属性(明文的像素颜色和位置)分开。步骤2和3实现了该意图。在步骤2中,对于颜色排列CP(n)中的每一个颜色q=CP(n)[j],(从n=0,j=0到n=NRP-1,j=224-1),验证是否存在可用于处理的该颜色的像素,并且如果存在,则在Pos元组中创建其位置的条目。检查p(q)=1,验证在明文中是否存在该颜色的任意像素,并且检查(c(q)<=a(q))验证是否已经处理了该颜色的所有像素。条件(C1)使用颜色排列以处理要求颜色顺序的所有像素。条件(C2)处理属于单色并且不要求颜色顺序的任意剩余像素。如果(C1)处理了(W×H)个像素中的m个,则剩余要由(C2)处理的单色的刚好(W×H-m)个像素。注意到条件(C2)不是强制的。在图1中,如果像素img(2,0)=C5,则(C1)处理所有的明文像素。图1指示了颜色排列和处理明文像素的条件。对进入Pos元组的每一个像素顺序地增加k。注意到,k的最终值是(W×H-1)。
Pos元组的每一个条目由三个元素构成。所考虑的像素的宽度和高度以及指示该像素是否是该颜色的可用于处理的最后一个像素的标记。如果其为最后的像素则将标记设置为1,否则将标记设置为0。条件(c(q)=a(q))指示了正在处理颜色q的最后一个像素。为了跟踪特定颜色q的所处理的像素数量,当颜色q的每一个像素进入元组时,增加c(q)。
使用(bw+bh+1)1个二进制比特来以数字方式表示Pos中的每一个条目以创建元组Pos’。例如,考虑说明中Pos’元组的头两个像素位置条目。部分Pos元组Posp:[(2,2,1),(1,2,1)]。由于bh=bw=2,宽度或者高度的每一个占用2个比特。因此,将(2,2,2)表示为10101并且将(1,2,1)表示为01101。Posp的比特表示为[1010101101]。具有十进制值171的头8个比特10101011形成了Pos’的第一个元素。将剩余两个比特看作第二个元素的最高有效比特。对Pos的所有元素应用相同的技术。最终,用“0”来填充Pos’以完成最后的字节。
在步骤2中,仅考虑像素位置信息。尽管如此,为了对密文进行正确的解密,必须记住哪些颜色构成了明文。对于CP(0)中的每一个颜色q,在CBM中制造比特条目Bq以指示在明文中颜色q的存在。如果q存在则Bq=1,否则Bq=0。CBM由224个比特构成,在步骤4中对CBM进行游程长度编码。
可以注意到,已经将像素位置和像素颜色分为两个分离的元组:Pos’以及CBM。同样地,在密文中将颜色信息完全编码为压缩的位图。隐蔽定义图像语义的最重要信息(颜色像素相关),使得任何类型的密码分析在实际上是不可能的。
通过上面的描述显而易见,作为结果的密文的大小与原始的不同。但是为了对元组Pos’进行解码,对W和H的了解是必需的并且因此原始大小必须是密文的一部分。如果隐藏了原始大小参数,则解密的复杂度极大地增加。最好的隐藏方式是将W1、W2、H1和H2随机地放在密文中。步骤9生成随机排列SP。SP的头四个条目用作在密文中对大小字节进行定位的字节索引。
元组PB连同4个大小字节一起可能不能形成矩形图像,即使形成了,该大小可能不是3的倍数。需要填充元组PB,以让W’、H’以及(sz(PF)/3)是整数。应当选择p个填充字节的值,使得其永远不会帮助密码分析者正确地将F反换位至PF。例如,如果使用PB的头p个字节,
P=[PB0,PB1,...,PBp-1]
1推导参见附录
或者如果选择它们使得对于任意正整数x来说,
P=[x,x+5,x+10,...]
则由于它们遵循模式,存在容易破解步骤10的换位的可能性。因此,必须随机地选择填充字节的值,首选地,从元组PB中选择以进一步使得密码分析复杂化。将排列PP的值用作挑选元组P的值的字节索引。
通过将填充元组P与元组PB级联来创建元组PB’。然后使用稍早描述的SP将4个大小字节插入。作为算法的最后一个步骤,基于使用key2生成的f数量的随机排列TP,对元组PF进行换位以创建F。最终地,通过将3字节的集合解释为24比特颜色来形成密文。该过程导致大小W′×H′的图像img’,每一个像素由3个字节构成。
2.5、解密算法
解密过程起始于使用(f)和key2生成TP和SP。由于NRP不是密文的一部分,因此不能预生成颜色排列CP(0)至CP(NRP-1)的集合。在解密的过程期间必须生成颜色排列。从前节中知道,仅当具有至少两个颜色的像素可用于处理时,颜色排列才是必须的。当可用颜色数量NAC变为1时,解密过程可以决定停止生成颜色排列。NAC的初始值等于元组CBM中1的数量。为了简单起见,我们在说明书中使用NRP。将密文img’认为是用于解密的字节向量F。
步骤1:创建PF使得
PF TP [ i ] = F i , &ForAll; 0 &le; i < W &prime; &times; H &prime;
步骤2:从位置SP[0]至SP[3]分别提取W1、W2、H1和H2,以导出元组PB’。导出W和H。计算bw和bh
步骤3:计算sz(Pos’)。从PB’分离Pos’
步骤4:从PB’的剩余部分中挑选字节,以对RCBM进行解码,直到存在224比特以形成CBM。丢弃形成填充元组P的剩余字节。
步骤5:使用CBM以导出NAC和p(i),
Figure GPA00001052742500122
步骤6:如下由Pos’创建Pos:
Pos k = ( w k , h k , flag k ) , &ForAll; 0 &le; k < W &times; H
其中
1、wk是Pos′k的头bw个比特的值
2、hk是Pos′k的接下来的bh个比特的值
3、flagk是Pos′k的最后一个比特的值丢弃任何剩余的填充比特。
步骤7:如下创建明文img:执行
1、如果p(q)=1,则img(wk,hk)=q
2、如果flagk=1,则p(q)=0,NAC=NAC-1
其中q=CP(n)[j],在下面条件下:
Figure GPA00001052742500132
重复
Figure GPA00001052742500133
k取值0,1,...,m,对任意0≤m<W×H
Figure GPA00001052742500134
重复
Figure GPA00001052742500135
解密过程得到大小W×H的明文的img,每一个像素由3个字节构成。
3、密码分析
本节说明用于密码分析的不同技术。分析了暴力和明文攻击。将差分密码分析作为5.3节的一部分进行了讨论。
3.1、暴力攻击
在暴力攻击中,将算法实施看作是黑盒并且尝试所有有效的密钥组合直到发现正确的密钥。该攻击的复杂度依赖于用于加密的密钥的大小。
密钥大小Key1:Key1的大小依赖于下述事实:对于具有n个元素的任意集合N来说,存在由集合N的n个元构成的(n!)个排列的((n!)!)个不同的可能排列。例如,对于N3={1,2,3},存在(3!=6)个排列可能。
  A   B   C   D   E   F
  1   1   2   2   3   3
  2   3   1   3   1   2
  3   2   3   1   2   1
此外,可能存在着这些6排列的(6!)种不同的排列。{A,C,D,E,F,B,},{A,D,E,F,B,C,}等等。因此对于集合N3,存在(3!)排列的((3!)!)个不同的排列。对于24比特颜色,存在224个不同的可能的颜色,并且可能存在(224)!颜色排列的((224!)!)个不同的排列。因此,Key1的以比特计的最大大小NBK1是log2(((224!)!))。然而,不同的实施根据安全要求可以选择不同的NBK1的值。
密钥大小Key2:由于Key2用于生成PP、SP以及TP,不像最大大小依赖于常数的Key1,Key2的大小NBK2依赖于密文大小(f=W′×H′×3),该密文大小为可变实体。但是可以选择独立于密文大小的Key2的大小。这是由于即使最终需要排列的字节数量(f)是依赖于明文/密文的,随机排列发生器生成(f)数量的
Figure GPA00001052742500141
个随机排列中的一个。在所提出的方案中,不可能在解密期间单独确定Key1或者Key2。这是由于直到完成整个解密过程时,才能确定涉及Key1或者Key2的解密尝试的正确性。因此,平均来说,需要次尝试来成功地破解密钥。
同样地,在所提出的方案中,将明文中的任何颜色的存在标记为元组CBM中的比特。在解密过程的步骤5中,填充函数p来标记明文颜色的存在。当针对解密考虑每一个元素Posk时,如果具有颜色q的像素img(wk,hk)是该颜色的最后一个像素(由flagk=1来指示),则将p(q)设置为0,指示不存在其它可用于处理的颜色q的像素。在下一个颜色排列中,丢弃颜色q。仅在已经针对处理考虑过前一个颜色排列CP(n-1)的所有颜色q=CP(n-1)[j]之后,才知道与在CP(n)中必须丢弃哪些颜色相关的信息。因此,解密是顺序过程并且不能将其并行化。与类似于DES和AES的算法不同,不能将所提出的方案中的密文分成可以并行解密的块。这极大地增加了暴力攻击的复杂度。
在具有1GB RAM的1.83GHz Intel Centrino DUO机器上,该解密方案的基本实施花费大约Δt=5秒钟来对图6中的图像进行解密。考虑较快的机器,Δt=.005秒。考虑NBK1=NBK1=64,需要平均27×1027年来破解加密。
3.2、纯密文攻击
该方法考虑解密过程中的不同阶段并且确定每一个阶段的候选。候选的正确集合将成功地对明文进行解密。该解密过程包括下列阶段。
反换位是由经换位的编码字节向量F导出PF的过程。由于sz(F)是f字节,因此存在(f)!种可能的排列,其中之一是F本身。因此存在PF的(f)!-1种不同的候选。由于F中字节的值是随机数,因此不存在可以证明作为PF候选的反换位结果的有效性的特定签名或参考。因此,仅在整个解密过程之后才可以证明任何反换位结果的有效性。针对该阶段成功获得正确解的完全解密的平均数是(f!-1)/2。
推导W和H涉及提取在PF中随机放置的4个大小字节W1、W2、H1和H2。由于W和H未知,针对解密必须考虑所有可能的宽度和高度值。存在从f字节的集合中选择4个的(fP4)种方式。由于2个字节代表W或者H,明文可以具有最大65536×65536个像素,当然不总是这么多。如果明文支持最大大小4096×4096,则宽度和高度的最高有效字节不能超过阈值16。可以丢弃较高字节中的超过该阈值的所有值。同样地,可以丢弃导致W或者H中任意一个为0的字节的集合。这个认为协助消除作为该阶段候选的所有无效字节组合。假定z个字节具有值零并且u个字节具有大于阈值的值,并且如果
1、M是使得W或者H=0的组合数
2、T是使得W2或者H2>t的组合数
3、MT是同时满足上述条件的组合数
下面给出该阶段的有效候选的数量
V=fP4-M-T+MT1            (1)
其中
M=zP4+4(f-z)(zP3)+2(zP2)((f-z)P2)
1推导参见附录
T=uP4+4(f-u)(uP3)+5(uP2)((f-u)P2)+2(u)((f-u)P3)
MT=2(u)(f-u)(zP2)+2(zP2)(uP2)
加上MT是由于在等式内部将这些组合消去了两次,一次在M中另一次在T中。
位置向量解码和图像重构涉及向量Pos和CBM的标识。取回的大小字节可以被用于标识元组Pos’因而Pos。剩余的密文字节可以用于导出CBM(2.5节的步骤2、3以及4)。该图像重构过程使用CP(0)至CP(NDP-1)的随机颜色排列的集合以及颜色位图CBM,以将每一个Posk与其颜色进行匹配(2.5节的步骤5、6和7)。NDP是在任何解密尝试中重构明文所需的颜色排列的数量并且可以对不同的尝试取不同的值。注意,成功的解密尝试NDP=NRP。并且颜色是三字节值(RGB),所以对于每一个颜色排列来说,存在(224)!个候选。如果NDPavg是任何解密尝试所需的颜色排列的平均数量(对大量尝试进行平均),则平均而言,该过程对每一个解密尝试会需要使用(224!×NDPavg)个候选颜色排列。
由于NRP的值是未知的,所需颜色排列的数量根据明文中颜色和像素的数量可以在1至(W×H)/2之间变化1
验证是攻击的最后阶段并且由于缺少参考图像不能使其自动化。因此,必须通过观看图像是否正确来手动地进行对解密图像的验证。
应当注意,不可能单独验证每一个阶段的正确性。而是,对于每一个阶段的每一次尝试,必须完成整个解密过程来验证它们的有效性。因此,成功攻击所需的时间不是每一个阶段所需时间的和,而是它们的乘积。
令完成每一个阶段的单次尝试所花时间分别为Δ1、Δ2、Δ3以及Δ4,则用所有阶段的候选的正确集合对密文进行成功解密所需的最坏情况时间是CA,由下列等式给出
CA=((f!-1)Δ1×(VΔ2)×(224!)(NDPavg3×Δ4)     (2)
平均而言,需要CA/2个时间单位来成功地对密文进行解密。由于
1仅具有一种颜色或者所有224种颜色的图像的NRP是1。仅由两种颜色C1和C2构成的图像(其中a(C1)=a(C1)=(W×H)/2)得到NRP的最大值(W×H)/2。
每一个阶段所需的时间的相乘以及过多数量的迭代,因此在没有必要信息的情况下破解该算法是极不实际的。
3.3、选择性明文攻击
选择性明文攻击(CPTA)的目的是揭示加密信息,比如颜色排列的集合CP(0)至CP(NRP-1)、换位排列TP、排列SP以及填充排列PP。密码分析者具有关于算法的知识并且配备有可以用密钥key1和key2对任意输入明文进行加密的加密器。密码分析者具有构建任意明文的能力,当对该明文加密时,该明文具有揭示加密信息的潜力。尽管典型CPTA的意图是揭示加密密钥,在所提出的方案中,从CP、TP、SP以及PP中取回密钥key1和key2是非常复杂的。由于随机排列的生成涉及将密钥作为伪随机数生成器(PRNG)的种子来使用,起始于排列的密钥生成过程实际上是不可能的。
根据通用排列RP的定义以及排列TP、SP和PP,应当注意到,后三个排列依赖于基于输入明文的属性导出的参数。同样地,对于给定密钥,PRNG对不同的l值生成不同的排列。因此,由于不能将它们应用于其它图像,致使所揭示的排列TP、SP以及PP无用。作为结果,CPTA能够潜在揭示的唯一有用的加密信息是颜色排列的集合。本节的其它部分描述CPTA的不同方法。
考虑具有W=H=1的输入明文img1。由img1(0,0)标识的图像中的唯一的像素具有颜色C。令img′1为具有宽度W’和高度H’的加密图像,W′×H′个像素中的每一个具有224颜色中的任意一个。对于该图像:
1、Pos:[(0,0,1)]
2、Pos’:00100000(5个比特的0填充)
3、NRP=1
密码分析的第一步是从F导出PF的反换位运算。可以注意到,存在对F进行反换位的((f)!)种可能的方式。但是由于关于Pos’的知识以及在PF’中Pos’处于任意其它字节之前,具有第一字节值00100000的所有结果是PF’的候选。由于第一字节是固定的,该结果的数量是(f-1)!,减少了因子f。由前节我们显而易见,直到完成整个解密才可能判别(f-1)!个候选结果中的哪一个是PF。同样地,由于大小字节的位置是未知的,密码分析者不得不选择具有值0,1,0,1的4字节集合。候选结果中的1和0的数量依赖于明文、key1和key2以及使用的具体RLE方案。因此,这些参数确定密码分析者挑选无效字节集合的概率,所述无效字节集合可能潜在地变为密码分析错误雪崩效应1的牺牲品。但是由于该图像的大部分PF是RCBM,无效大小字节选择可能引入的最大错误是CBM中唯一的1的偏移,这还导致C在CP(0)中的错误位置。假定正确地选择W1、W2、H1以及H2并且将它们从候选中移除,则剩下的是元组PB’。
密码分析者现在的任务是推导C在CP(0)中的位置,该位置可以是224个可能的不同位置中的任意一个。
显而易见地,仅当密码分析者得到img1时,反换位运算的正确性、大小字节的选择以及CP(0)的选择才可以得到证明。但是在该攻击中,CP(0)的所有224个选择将导致使得该攻击无用的img1。下面的示例解释了该现象。
令一个反换位候选采用下列形式,
F:[32,1,1,255,0,255...]
指示Pos’值是32,RCBM的第一比特是1,其后是510个0的序列等等。由于CBM的第一元素是1,对CP(0)具有C作为其第一颜色的尝试导致img1。类似地,如果,
F:[32,0,1,1,255,0,255...]
对具有C作为其第二颜色的候选CP(0)的使用导致img1。因此,采用上述攻击,不可能唯一地确定C在CP(0)中的位置。
考虑具有W=2并且H=1的输入明文img2。由img2(0,0)和img2(0,1)标识的图像中的两个像素分别具有颜色C1和C2。令img2为具有宽度W’和高度H’的加密图像,W′×H′个像素中的每一个具有224颜色中的任意一个。依赖于在CP(0)中C1出现在C2之前还是之后,位置向量采用下列形式。
1、颜色顺序C1 C2
1参见5.3节
(a)Pos:[(0,0,1),(0,1,1)]
(b)Pos’:00101100(2个比特的0填充)
2、颜色顺序C2 C1
(a)Pos:[(0,1,1),(0,0,1)]
(b)Pos’:01100100(2个比特的0填充)
3、NRP=1
由于密码分析者不具有关于CP(0)的知识,第一字节值为00101100或者01100100的所有反换位结果变为PF的候选。在该情况下,直接确定C1和C2的相对位置。字节00101100的出现揭示了颜色顺序是C1 C2并且01100100的出现揭示了颜色顺序C2 C1。如果两个字节同时出现在密文img′2中时,密码分析者可能会迷惑。一般地,密码分析者仅当在密文中不出现属于其它颜色顺序的字节序列时,才可以确定颜色顺序。在img2的情况下,由于明文仅由两种颜色构成,在CBM中仅可以存在两个1,同时有大量连续的0。作为结果,RCBM由具有值0、1和255的字节构成,使得上述字节00101100和01100100的出现的概率几乎为0。
由于在之前攻击中解释的原因(用于解密的CP(0)的多个选择导致img2),导出C1和C2的绝对位置是不可能的。
尽管之前的攻击不能揭示C1和C2的绝对位置,其揭示了他们的相对位置。如果对具有C1、C2和C3的三个像素的图像img3进行密码分析,则可以导出颜色C3相对于C1和C2的相对位置。
下表将各Pos’值与颜色的相对位置进行映射,假定C2在C1之前出现。
  Pos’   颜色顺序
  01010011 00010000   C3 C2 C1
  00110101 00010000   C2 C3 C1
  00110001 01010000   C2 C1 C3
可以注意到,对于给定顺序C1和C2,C3可以取导致三种不同颜色模式以及Pos’元组的三个不同位置。密码分析者不得不搜索字节模式的任意一个以导出三个颜色的相对位置。
应当注意到,使用仅具有C1和C3或者C2和C3的图像将分别揭示C3仅相对于C1或者C2的相对位置,而找到C3同时相对于C1和C2的相对位置是重要的。因此,当确定排列中颜色Cn的相对位置时,必须考虑所有其它n-1个颜色。
可以对于颜色排列CP的所有224颜色扩展上述过程,总体上揭示了CP的所有颜色的绝对位置。但是应当注意,随着明文中颜色和像素数量的增加,该攻击逐渐退化到暴力攻击。这是由于下列原因。
1、随着颜色和像素的数量增加,对于每一个像素的Pos’中的条目跨越多于一个的字节,增加了揭示颜色顺序的字节模式搜索的数量和复杂度。
2、CBM中的1的数量增加导致非标准(除了0、1和255之外的值)字节条目,这进一步让密码分析者在唯一确定字节模式以及因此确定颜色顺序时产生困惑。
3、为了唯一地确定第n个颜色相对于已经确定了其相对位置的其它n-1个颜色的相对位置,需要分析n个不同的字节模式的组合,而如果任意n-1个颜色的相对位置未知,需要分析n!个字节模式的组合以揭示n个颜色的相对位置。因此,密码分析者被迫顺序地进行密码分析。
4、由于Pos元组的条目数量的增加以及RCBM中非标准的字节值,密文中存在指定多个颜色顺序的字节模式存在很高的概率。这使得密码分析者对选择哪个顺序以继续密码分析产生困惑。
5、密码分析者不仅必须分析密文以揭示使用的颜色顺序CP,还必须进一步验证与其它颜色顺序相对应的字节模式以指示它们的存在或者使它们的存在无效。
因此,随着颜色和像素增加,密码分析的复杂度逐渐与暴力攻击趋同并且在大多数情况中由于指定多个颜色顺序的字节的存在不能提供有效的加密信息。
上述技术需要224-1次密码分析尝试以揭示任意颜色排列CP,每一次尝试要比之前一个在复杂度上更高,最终退化到暴力攻击。需要进行分析以揭示颜色排列的字节模式的组合的数量是A1,其中
A1=2+3+...+224              (3)
可以针对多个颜色排列对上述攻击进行扩展。考虑具有H=W=2的、由两种颜色C1和C2构成的明文img4,使得img4(0,0)=img4(0,1)=C1并且img4(1,0)=img4(1,1)=C2。由于每种颜色存在两个像素,NRP=2,排列CP(0)处理像素img4(0,0)和img4(1,0)并且排列CP(1)处理像素img4(0,1)和img4(1,1)。如果在CP(0)中C2在C1之前,并且在CP(1)中C1在C2之前,则
1、Pos:[(1,0,0),(0,0,0),(0,1,1),(1,1,1)]
2、Pos’:10000001 11110000(4个比特的0填充)
如果密码分析者成功找到上述字节序列,则揭示了CP(0)和CP(1)中的颜色C1和C2的相对顺序。但是如果搜索也导致了关于下表所示的其它颜色顺序可能的字节模式,存在密码分析者产生混淆的可能。
  Pos’   CP(0)   CP(1)
  10000011 10110000   C2 C1   C2 C1
  00010011 10110000   C1 C2   C2 C1
  00010001 11110000   C1 C2   C1 C2
对于具有三种颜色的明文图像来说,假如预定两个排列中的C1和C2的相对定位,则存在可以放置颜色C3的32种方式。如果在CP(0)中C1在C2之前并且在CP(1)中C2在C1之前,则下表列出了C3的可能位置。
  CP(0)   CP(1)
  C1 C2 C3   C2 C1 C3
  C1 C2 C3   C3 C2 C1
  C1 C2 C3   C2 C3 C1
  C3 C1 C2   C2 C1 C3
  C3 C1 C2   C3 C2 C1
  C3 C1 C2   C2 C3 C1
  C1 C3 C2   C2 C1 C3
  C1 C3 C2   C3 C2 C1
  C1 C3 C2   C2 C3 C1
一般地,如果进行尝试以揭示在m个不同颜色排列中第n个颜色与在所有m个颜色排列中已经确定了相对位置的n-1个不同颜色的相对位置,则需要分析nm个不同的字节模式。
尽管揭示CP(0)至CP(m)所需的尝试次数保持为224-1,需要分析以揭示所有m个颜色排列的字节模式的组合的数量是Am,其中
Am=2m+3m+...+224m    (4)
从上面的攻击的集合,可以推论出,由于为了揭示颜色排列的可能的集合,TP和CP的多个组合正确地对密文进行解密,并且其涉及大量的尝试,每一次尝试在密码分析复杂度上比之前的更高,最终退化为暴力攻击,因此确定TP、SP、PP以及CP实际上是不可能的。
3.4、已知明文攻击
CPTA的目标和限制适用于已知明文攻击。在KPTA中,密码分析者可以访问明文图像img及其相应密文img’。密码分析者具有下列知识。
1、原始宽度W和高度H
2、W×H个像素的每一个的颜色值
3、NRP
在排列密文字节的(f!)个不同方式中,按照指定的顺序满足下列条件的反换位结果是元组PB的候选。
1、所提取的4个大小字节分别具有W1、W2、H1和H2的值。应当注意到,存在至少1个或者更多的可用4字节集合。
2、所提取的元组Pos具有下列属性。
wk<Posk的W并且hk<Posk的H,
Figure GPA00001052742500221
3、任意条目Posk的wk的值应当具有在从0到W-1范围中唯一的值,并且hk的值应当具有在从0到H-1的范围中唯一的值。
4、令s为图像中出现的所有颜色C的集合S的大小。元组Pos中头s个条目应当提供具有s个不同颜色C0,C1,...Cs∈S的像素的位置信息。
5、所提取并且解码的元组CBM由正好224个比特构成。
6、元组CBM具有s数量的1。
条件4的理由如下。每一个颜色排列仅处理任何颜色的一个像素。由于对于第一个颜色排列所有像素都可用于处理,因此由CP(0)处理最大数量的像素。CP(0)正好处理s个像素。
对于具有大于256×256的大小的任何图像来说,bw和bh大于8。因此wk和hk的值跨越多个字节。为了验证条件2、3以及4,必须从多个字节中提取出比特,这涉及大量逐比特运算和整数比较。表1给出了成功验证候选是否满足前述条件所需的对于各种明文大小的16比特左移(LS)、右移(RS)、与以及或运算的大致数量。
为了验证是否满足条件2和3,对于每个Pos条目需要4个整数比较,为了验证条件4,需要用于头s个条目的1个比较。由于存在W×H个Pos条目,整数比较IC的数量是
IC=4(W×H)+s
验证反换位结果是否是有效候选涉及大量的比特处理以及整数比较,因此是耗时的。
表1:明文图像大小对逐比特运算(表值需乘以104)
  W×H   LS   RS   AND   OR
  4096×4096   5242.9   4404.0   1929.4   9646.9
  512×512   62.3   68.8   262.2   131.1
  256×256   13.9   172.0   62.3   31.1
  640×480   76.8   76.8   307.2   153.6
  1024×768   206.4   206.4   825.8   412.9
  1000×200   47.5   52.5   200.0   100.0
  234×1452   84.9   68.0   305.8   152.9
由于可能存在对于反换位结果的多个大小字节集合,在最坏的情况下,必须对所有(f)!-1(平均上((f)!-1)/2)种可能的每一个这样的大小字节选择执行上述验证。如果对于明文图像,B是可以选择W1、W2、H1和H2的方式的数量,并且Δ是用于尝试验证所有条件的时间,则需要大约
(((f)!-1)×2B×Δ)/2              (5)
个时间单位来得到PB的有效候选。由于不是所有尝试都需要完整的验证,因此将时间Δ取半。
令n<(W×H)!为元组PB的候选的数量。由于在该攻击中所有像素的颜色已知,可以丢弃CBM和填充字节。Pos’的n个候选的每一个导致n个不同的像素顺序并且因此导致排列CP(0)至CP(NRP-1)的n个不同的颜色顺序。不存在用于准确导出颜色顺序的确定性的标准,这是由于不管Pos’条目的顺序如何,由于像素颜色已知,所有候选导致正确的解密。同样地,即使密码分析者通过唯一地并且正确地对密文进行解密而成功地导出所有C∈S的颜色顺序,在明文中没有出现的其他颜色的颜色顺序是未知的。因此,不可能完全地导出颜色排列。
可以看到,KPTA不能准确地确定明文中的颜色顺序并且还无助于确定在图像中没有出现的颜色的顺序。由于挫败了攻击的这一主要目的,因此使KPTA无用。
算法中的较小改变极大地增加了密码分析的复杂度。基于W×H个比特的随机比特模式,做出将像素宽度或者高度置为(W×H)个Pos条目中每一个的第一实体进行的决定。例如,第k个比特的比特值1导致Posk=(hk,wk,(1/0))并且对于值0,Posk=(wk,hk,(1/0))。该增强导致密码分析复杂度的大幅增长。
4、计算复杂度
本节讨论所提出的方案的计算时间和空间复杂度。讨论每一个阶段的复杂度以得到该算法的整体复杂度。将不依赖于图像参数的阶段的复杂度看作O(1)。
4.1、时间复杂度
所提出的方案涉及随机排列的生成和解析、颜色位图CBM的生成、通过基于颜色顺序的像素位置排列创建Pos’以及结束前字节向量PF的换位。本节讨论不同阶段的最好、平均和最坏情况的复杂度,最终导出算法的复杂度。
生成具有正好224个颜色值的随机颜色排列CP的复杂度是O(1)。该方案要求最小一个以及最大(W×h)/21个颜色排列。生成颜色排列的最好和最坏情况的时间复杂度是Ω(1)和O(W×h)。由于对于任何给定的图像,仅使用NRP数量的颜色排列,因此平均情况的复杂度是Θ(NRP)。
在处理像素之前,必须基础它们的颜色将它们进行分组,这要求对所有W×H个像素进行解析。平均和最坏情况的复杂度是O(W×H)。
位置向量的创建涉及对NRP个颜色排列的所有224个颜色的解析。解析每一个排列花费O(1)的时间。因此,该阶段的平均和最坏情况的复杂度是O(NRP)。但是不是所有的像素都由CP覆盖。将属于单一颜色的像素输入独立于任何排列的位置向量。该过程的最坏情况的复杂度是O(W×H)。因此整个位置向量创建的时间复杂度是
O(NRP)+O(W×H)=O(W×H)
RCBM的创建涉及对224个不同颜色进行解析以验证该颜色是否在图像中出现。不需要将游程长度编码实现为分离的活动,相反由于验证颜色的存在可以对比特进行编码。该过程是具有复杂度O(1)的恒定时间。
应当注意到,排列PP、SP以及TP的生成具有复杂度O(W′×H′×3)。W’和H’的计算以及向填充字节赋值具有线性时间复杂度并且是无关紧要的。大小字节集合的插入无需导致所有后续字节的偏移。可以在最终字节换位的实施期间执行该插入。由于最终字节换位对W′×H′×3个字节操作,复杂度是Θ(W′×H′×3)。
应当注意到,由于该最终字节换位涉及处理W′×H′×3个字节,因此具有在所有阶段中的最大时间复杂度。但是值W′×H′×3随着像素的数量W×H线性改变。这是由于RCBM的大小存在224比特的限制并且唯一改变的实体是位置向量比特。
由于所有阶段的时间复杂度随着明文大小而线性地改变,算法的时间复杂度随着图像中的像素数量W×H而线性地改变。
1对于仅具有一个颜色或者所有224个颜色的图像来说NRP为1。仅由两种颜色C1和C2构成的图像(其中a(C1)=a(C1)=(W×H)/2)得到NRP的最大值(W×H)/2。
4.2、空间复杂度
就加密过程使用的数据结构,来讨论本算法的计算空间需求。可以使用两个不同的数据结构来表示基于颜色的像素分组:S个节点(指针)的链表(每一个颜色C∈S一个)或者由24比特颜色索引的224个整数指针的数组。在两个结构中,每一个指针指向具有该颜色的像素的列表(参见图1)。在选择数据结构时存在时间-空间的折中。由于对于每一个具有颜色C的像素来说,需要对列表进行解析以找到指向C的节点,因此在链表的情况下,基于颜色的像素分组是代价高的。
在链表方案中,每一个节点由3个实体构成:颜色、指向像素列表的指针以及指向下一个节点的指针,需要总共12个字节。数组方案对每一个指针需要4个字节。由于图像宽度W或者高度H的最大值是4096,因此每一个像素位置表示需要两个16比特整数(4字节)。如果将颜色索引的像素组实施为链表,像素表示还需要指向组中下一个像素的整数指针。如果整数指针是4字节实体,则表示该数据结构所需的字节总数对于链表方案来说为
(S×12)+8(W×H)
对于数组方案来说
(224×4)+8(W×H)
个字节。由于S中的颜色数量是W×H,因此该数据结构的空间复杂度是Θ(W×H)。
颜色排列的表示是与实施相关的。如果在需要时生成排列、使用和丢弃排列,可以在单一公共缓冲区中表示颜色排列。如果Δcp是生成颜色排列所需的时间,在本情况下执行时间增加NRP×Δcp。否则,可以预生成所有NRP个颜色排列并且将其在存储器中存储,需要
NRP×224×4
个字节。由于NRP的最大值是W×H/2,因此空间复杂度是O(W×H)。可以将PP和SP所需的空间与CP所需的空间进行共享。如果分别表示它们,则复杂度是Θ(W×H)。
表示密文所需的字节数量是W′×H′×3。由于明文和密文图像大小之间的线性关系,该数据结构的复杂度是Θ(W×H)。
由于所有阶段的空间复杂度随着明文大小线性地变化,本算法的空间复杂度随着图像中的像素数量W×H而线性地变化。
5、算法的强度
前节基于明文相关的信息范围以及可用于密码分析的资源,描述了单位操作的数量和对密文解密所需的时间。在该过程中,它们还以数学等式提供了客观强度。本节提供本算法的主观强度和对特定的密码算法强度标准相关的评价。
5.1、像素属性分离
考虑密码分析者拥有key2。则可以成功地实现反换位和对大小字节的提取,得到元组PB。元组PB包含像素位置信息和作为CBM的一部分的指示224个颜色的任意一个的存在的1和0的组合。像素位置信息Pos的每一个条目由仅描述像素的位置而非其颜色的实体来构成。整个Pos元组包含明文中所有W×H个像素的位置值。由于密码分析者在该阶段具有对W和H的知识,并且可以导出图像中所有像素的位置,因此该信息是显而易见的。由于元组CBM由比特值构成其不传递与明文的实际颜色相关的信息。元组PB的大部分包含对于密码分析者没有用处的信息。因此,元组PB中每一个比特的价值不高。密码分析者不得不构造key1或者尝试大约((224)!×NDPavg)个颜色排列以生成明文,这使得本算法实际上不能被破解。
如果破解了key1,密码分析者具有用于加密的颜色排列的知识。由于缺少与明文大小相关的信息并且因此缺少与Pos’相关的信息,因此该知识无用。元组CBM并且因此明文中出现的颜色的集合是未知的,使得不可能辨明像素的位置-颜色关联。
5.2、明文大小隐藏
从前节可知,本算法导致密文大小与明文大小不同。该属性不仅使得密码分析复杂化(参见第3节),还帮助隐藏图像的类型。由于对扫描文档的电子处理的增加,具有标准大小和模板的文档变得快速流行起来。作为结果,在很多应用中,必须隐藏明文的大小使得不揭示文档类型。典型的示例是在移民署之间的生物计量信息的交换。移民署遵循固定的模板来发送类似于指纹和视网膜扫描等信息。在该情况下,对文档大小的知识可能潜在地揭示发送的信息的本质并且可能导致伪造和假扮。为了避免该弱点,必须隐藏明文大小。
一般地,在大小A1,A2,...,An的n个块中加密的A字节的流将导致大小D1,D2,...,Dn的密文块。由于加密块的每一个导致与相应的明文块不同的大小,因此不可能评估原始字节流的大小。
5.3、密码分析错误雪崩效应(CEAE)
CEAE导致在解密过程的任意阶段期间发生的小错误会引起解密的图像具有大量的错误。由于元组Pos和CBM的条目紧密封装,因此小错误放大为解密图像与原始明文的极大偏差。例如,对于512×512的图像,需要9个比特来表示任何宽度或者高度。图2示出了该图像的Pos’中的字节模式以及它们在创建Pos条目中的使用。
在解密期间,上述字节模式导致下列Pos元组。
Pos:[...,(2,183,0),(305,235,0),...]
但是,如果由于反换位中的错误或者由于选择大小字节中的错误,第二个字节丢失,则在Pos条目中存在大量的差异。图3示出了丢失字节B2的元组。
以下Pos元组是由于错误的Pos’导致的。
Pos:[...,(3,332,0),(373,282,0),...]
应当注意到,由于该解密错误,扰乱了从字节取回的比特数量和取回的目的,这持续到取回所有W×H个条目为止。在该过程中,来自CBM的一些比特在Pos条目中结束,导致Pos和CBM中的大量错误。
考虑下列RCBM元组,
RCBM:[1,167,25,34,123...]
该元组指示CBM中头167个比特是1,之后是连续25个0、34个1和123个0。如果由于上述原因具有值167的字节丢失,则完全地改变了元组的语义。修改后的元组由首先连续的25个1,之后34个0和123个1构成,指示非现有颜色的存在并且使得现有的颜色无效,扰乱了解密图像中的颜色-位置相关性。
5.4、混淆和扩散
所提出的算法的特征在于,在密文中将明文比特良好扩散。如果明文中比特改变,则正好一个像素的颜色从C0改变至Cn。这在Pos中添加了新的条目,其位置是从颜色排列中Cn的位置导出的。如果Cn是新的颜色,则在Pos中的头s个条目内制成该条目。移除与C0相对应的条目。条目的插入和移除具有导致后续条目偏移的级联效应。如果Cn还没有在明文中出现,则改变CBM以适应改变正好2比特的Cn。即使仅在CBM中改变两个比特,改变了游程构成导致RCBM中不可忽视的改变。该效果导致W’和H’中的改变。由最终字节换位将这些比特改变随机地散布在整个图像中。严格明文雪崩标准(SPAC),对于固定密钥满足,当补偿明文块的任何比特时密文块的每一个比特以有一半的概率发生改变。Pos中条目的插入-移除以及RCBM中的比特游程改变影响大约50%比特,满足SPAC。
差分密码分析试图在明文和密文的单位改变之间的开发出模式或者关系。扩散的越大,则差分攻击的复杂度就越高。扩散的良好度量是两个密文img’和img”之间的不等百分比PI,前者是从原始明文img导出的并且后者是从对img的单位改变导出的。下列等式定义了PI,
PI=(NDP×100)/(W×H)              (6)
其中NDP是img”与img’中相应的像素相比不同像素的数量。如果两个密文之间的PI的值为高,则称扩散大。
此外,如果该值对于不同的密文对随机地改变,而不显示模式,则差分攻击变得实际上不可能。
图4示出了针对图6中明文-密文对测量的25个不同密文的PI值。应当注意到,PI的变化在6%到97%的范围内并且其不遵循任何模式。
尽管扩散使得明文和密文之间的关系复杂化,混淆在密文和加密密钥之间实现了相同效果。在所提出的方案中,不在明文比特上直接操作密钥,而是将密钥作为生成随机排列的种子来使用。随机排列被用作排列像素位置信息并且生成颜色位图的子密钥,改变了明文的基本结构。密文字节的最终随机换位移除了像素位置排序对key1的依赖性。密码安全随机排列的特征在于,种子中的小改变会导致在排列顺序的巨大改变,使得密钥-密文关系复杂化。同样地,已经讨论了从排列CP、TP、SP和PP中取回密钥实际上是不可能的。这使得密钥-密文关系复杂化,导致高度的混淆。严格密钥雪崩标准(SKAC),对于固定的明文块,当密钥的任何比特改变时,密文块的每一个比特以一半的概率发生改变。密钥中一个比特的改变将导致完全不相关的CP、TP、SP和PP,导致密文的巨大改变,满足SKAC。
由于key1改变,CBM中的比特模式改变导致RCBM的内容和大小的改变。这完全地改变了W’和H’的值。图5示出了由于key1的小改变导致密文大小的改变。对于每一次尝试(x轴),key1的值增加一个常量。可以注意到,W’和H’的改变不遵循任何模式。
5.5、强度标准
本节针对由[3]指定的不同密码算法强度标准来评估所提出的算法。
5.5.1、安全性
在不使用密钥key1和key2的情况下,极不可能从密文导出明文。这可以归功于像素的属性(颜色和位置)被分离这一事实。完全地隐藏了颜色信息并且使得颜色和位置之间的相互关联完全隐蔽。
5.5.2、密码分析复杂度
由节3.1和(2)显而易见,暴力攻击是极不可行的。由于所需的单位运算的数量是每一个阶段中尝试次数的乘积,因此不可能实现该攻击。从(3)和(4)清楚需要224次尝试以揭示选择明文攻击中的颜色排列。随着密码分析的进展,每一次尝试中的分析密文的复杂度上升,最终退化到暴力攻击。很多该CPTA尝试导致使得CPTA的该目的无效的多个合法的颜色排列。为大数量反换位尝试执行的海量逐比特运算(参见(5))以及缺少确定性标准使得已知明文攻击无用。同样地,尝试揭示最终换位排列实际上是不可能的并且无用的。
5.5.3、算法认知
对算法的了解不减小密码的强度,该强度在于其结构。从上述的密码分析节显而易见,在没有密钥的情况下对密文解密或者揭示随机排列是不切实际的。
5.5.4、密码和明文之间的相关性
由于不存在映射map使得
map ( img ( x , y ) ) = img &prime; ( x &prime; , y &prime; ) , &ForAll; 0 &le; x , x &prime; < W , 0 &le; y , y &prime; < H
因此在明文和密文比特之间不存在相关性。同样地,由于将密钥用作生成用于加密的随机排列的种子,因此在密钥比特和输出之间不存在相关性。即使随机排列是已知的,也不可能由它们恢复密钥。
5.5.5、算法对明文和密钥的依赖性
算法中的替换和排列是在输入数据和密钥的控制之下。由输入数据(比如颜色C的存在和具有该颜色的像素的位置)来指定替换。密钥依靠其在随机排列生成中的使用来影响替换和换位。
5.5.6、冗余比特组
在密文中完全隐蔽明文中的冗余比特组(像素)。由于像素位置和颜色位图构成了密文,因此将具有单一颜色的图像加密成为图11所示的多颜色输出。
5.5.7、明文属性的隐藏
对于图像,关键属性是宽度和高度、颜色集合、像素位置-颜色相关性以及像素排序。本算法成功地将图像属性的完整集合加以隐藏。
6、仿真结果
本节提供所提出的方案的基本实施的实验结果。在具有1GB存储器的1.83GHz Intel Centrino Duo处理器上进行实验。
已经考虑了用于实验的具有不同宽度和高度组合的图像,用不同的密钥集合对每一个进行加密。
图6示出了输入图像“莉娜”及其加密形式。key1和key2的值分别是0.298760以及0.514984。图7示出了输入“红花”的加密结果,用key1=0.658754以及key2=0.321786来加密。应当注意到,加密图像(b)暗示了密文的宽度和高度的改变。表2的条目2和5还分别提供了与图6和7相关的细节。
图8、9以及10分别示出了图7的原始和加密图像的红、绿和蓝分量的柱状图。应当注意到,加密图像的柱状图暗示了均匀分布和密文的RGB分量相对于明文的显著差异,这是任何加密方案所需要的属性。
图11示出了当明文图像由单一颜色构成时的加密图像。应当注意到,本算法确保对明文属性的完全隐藏。
表2示出了明文和密文属性、用于具有不同的大小和NRP要求的所选图像集合的以秒为单位的加密时间(ET)和解密时间(DT)。
表2:加密-解密时间
  W×H   W′×H′   NRP   p   ET   DT
  256×256   461×224   37   8   5.4   4.7
  512×512   635×499   21   1   6.0   5.0
  640×480   614×576   703   8   6.1   5.1
  1024×786   1201×745   431   1   7.7   6.1
  2816×2112   3461×1961   258   11   27.0   17.4
  3648×2736   4437×2417   5712   17   40.0   25.1
结果显示本算法具有高安全性并且其特征在于良好的混淆和扩散。给定其高度的密码分析复杂度,本技术特别适用于涉及具有较长使用期的敏感数据的安全存储和传输的应用。可以容易地改变本算法用于任意类型的数字数据,并且不一定仅用于数字图像文件。在非图像明文数字文件的情况下,可以将一个或者更多字节的任意集合认为是像素。对于RGB编码的图像,每一个像素由3个字节构成,形成总共24个比特,允许224个颜色,并且每一个颜色排列包含224个条目。因此一般地,在具有形成像素的n个字节的数字文件的情况下,存在28n个可能的颜色并且在颜色排列中存在相同数量的条目。
未来的工作包括对用于表示颜色的比特数量的研究。当将本算法应用于除了图像之外的数字数据时,24比特值无需始终得到最优的密文。对明文的扫描将导出协助决定该值的属性。对游程长度编码方案的选择的研究也是必须的。可以探索更快的和并行的实施。可以分析作为第3节的一部分提出的增强,以导出密码分析复杂度增加的因子。
附录
推导:NRP
NRP的最小值是1。即使所有像素具有相同颜色(当可以不定义颜色顺序时),第一颜色排列是创建CBM所必须的。应当存在足够的排列以定义像素的颜色顺序直到存在可用于处理的至少两个颜色的像素。没必要为单一颜色的像素定义颜色顺序。如果基于颜色对像素进行分组并且按照组大小对他们进行排序,则NRP是以最大大小开始的列表中的第二个分组的大小。如果存在具有最大数量像素的多个集合,则NRP是一个这样的集合的大小。
1、pixmax=max{a(1),a(2),...,a(224-1)}
2、多集合
Figure GPA00001052742500331
3、 pix s max = max ( { a ( i ) , &ForAll; 0 &le; i &le; 2 24 - 1 } - { pix max } )
Figure GPA00001052742500333
位置向量大小的推导
令表示任意宽度wk和高度hk所需的比特数量分别为bw和bh。
1、如果W≤2,bw=1,否则
Figure GPA00001052742500341
2、如果H≤2,bh=1,否则
Figure GPA00001052742500342
对于任意条目Pos′k,使用1个比特以传递是否已经处理过特定颜色的所有像素。该条目的大小被给出为
sz(Pos′k)=bw+bh+1个比特
由于存在W×H数量的该条目,位置向量BPV的比特总数为
BPV=sz(Pos′k)×(W×H)个比特
但是需要对大小进行填充以使其成为8的倍数。函数R(x,y)返回要向y添加的数量以使其成为x的倍数。
Figure GPA00001052742500343
所需的填充比特数量是pb=R(8,BPV)。因此,表示元组Pos’所需的字节总数为
sz(Pos′)=(BPV+pb)/8个字节
推导:W’、H’f以及填充字节大小p
必须对中间密文字节进行填充以使得img’呈现矩形图像,该矩形图像具有由三个字节构成的每一个像素。必须选择W’和H’的值使得最终密文缓冲区形成W′×H′个像素的矩形图像。令
1、spb=sz(PB)+4
2、Rem=R(3,spb)
3、spb′=spb+Rem
对密文填充Rem个字节可能无法导致W’和H’的整数值。为了使W’和H’为整数,需要对密文进一步填充。计算
Figure GPA00001052742500344
2、对于任意非负整数i,ti=R(i,fp)
3、W′=w′,使得
t w &prime; = min { t i : t i &NotEqual; 0 , &ForAll; h + q &GreaterEqual; i > h - q }
4、H′=(spb′+tw′)/w′
5、p=Rem+(3×tw′)
6、f=W′×H′×3
本技术通过假定大小fp字节的中间密文为正方形图像,h为其宽度来开始。其为每一个在w′=(h-h/2)至(h+h/2)之间的候选宽度w’计算p的值。其挑选p具有最小非零值的宽度W′=w′。
推导:M、T以及MT
如下导出f个字节的柱型中的无效大小字节集合的数量(在该f个字节中z个字节携带值0并且u个字节携带大于阈值t的字节)。
令Bn为第n个选择的字节。注意到B1=W1,B2=W2,B3=H1以及B4=H2
令Z代表具有值0的字节,并且N代表具有非零正数值的字节。应当注意到m=(f-z)是可用的非零字节的数量。由于必须从柱型中随机选择4个字节,因此可以存在16种不同的可能。在表3中将每一种可能的字节组合B1B2B3B4、可以选择每一种组合的方式数量Num以及其有效性Val示为大小字节集合,最左侧字节是B1
同时具有B1=0和B2=0或者同时具有B3=0和B4=0的字节组合分别导致W或者H为0。应当丢弃该组合。x指示字节组合无效。
表4示出了导出所有16种组合的值N的原理。
应当注意到,存在(z)种方式选择第一个Z,(z-1)种方式选择第二个,(f-z)种方式选择第一个N,(f-z-1)种方式选择第二个,并且以此类推。导致W和H同时或者任意一个为0的4字节集合的数量M为
M=zP4+4(f-z)(zP3)+2(zP2)((f-z)P2)
在相同行上,可以导出导致W2>t或者H2>t的4字节集合的数量T。具有B2>t或者B2>t的所有字节组合是无效的。表5示出了无效字节组合以及相应的值N。G和L分别表示具有大于或者小于t的值的字节。存在正好(v=f-u)数量的类型L的字节。
加上所有无效组合,T的值是
uP4+4(f-u)(uP3)+5(uP2)((f-u)P2)+2(u)((f-u)P3)
将同时满足无效大小字节集合的上述类别的字节组合无效了两次,比如ZZLG。必须从M+T中减去一次该组合的数量MT。表6列出了该字节组合和N的值。
由下式定义MT。
MT=2(u)(f-u)(zP2)+2(zP2)(uP2)
无效大小字节组合的总数I是
I=M+T-MT
尽管已经通过上述实施例描述了本发明,对于本领域技术人员应当显而易见的是可以在不背离本发明的范围的情况下做出修改。
表3:具有H=0或者W=0的大小字节选择的数量
  B1B2B3B4   Num   Val
  ZZZZ   (z)(z-1)(z-2)(z-3)   x
  ZZZN   (z)(z-1)(z-2)(m)   x
  ZZNZ   (z)(z-1)(m)(z-2)   x
  ZZNN   (z)(z-1)(m)(m-1)   x
  ZNZZ   (z)(m)(z-1)(z-2)   x
  ZNZN   (z)(m)(z-1)(m-1)   √
  ZNNZ   (z)(m)(m-1)(z-1)   √
  ZNNN   (z)(m)(m-1)(m-2)   √
  NZZZ   (m)(z)(z-1)(z-2)   x
  NZZN   (m)(z)(z-1)(m-1)   √
  NZNZ   (m)(z)(m-1)(z-1)   √
  NZNN   (m)(z)(m-1)(m-2)   √
  NNZZ   (m)(m-1)(z)(z-1)   x
  NNZN   (m)(m-1)(z)(m-2)   √
  NNNZ   (m)(m-1)(m-2)(z)   √
  NNNN   (m)(m-1)(m-2)(m-3)   √
表4:四个大小字节的选择数量
  Z
  B1   z
  B2   z-1
  B3   z-2
  B4   z-3
  N
  B1   f-z
  B2   f-z-1
  B3   f-z-2
  B4   f-z-3
表5:具有W2或者H2>阈值的大小字节组合的数量
  B1B2B3B4   Num
  GGGG   (u)(u-1)(u-2)(u-3)
  GGGL   (u)(u-1)(u-2)(v)
  GGLG   (u)(u-1)(v)(u-2)
  GGLL   (u)(u-1)(v)(v-1)
  GLGG   (u)(v)(u-1)(u-2)
  GLLG   (u)(v)(v-1)(u-1)
  LGGG   (v)(u)(u-1)(u-2)
  LGGL   (v)(u)(u-1)(v-1)
  LGLG   (v)(u)(v-1)(u-1)
  LGLL   (v)(u)(v-1)(v-2)
  LLGG   (v)(v-1)(u)(u-1)
  LLLG   (v)(v-1)(v-2)(u)
表6:同时在M和T中的大小字节集合
  B1B2B3B4   N
  ZZLG   (z)(z-1)(f-u)(u)
  ZZGG   (z)(z-1)(u)(u-1)
  GGZZ   (u)(u-1)(z)(z-1)
  LGZZ   (f-u)(u)(z)(z-1)
参考文献
[1]W.Stallings,Cryptography and Network Security principles andpractices,third ed.:Pearson Education,2003.
[2]D.Knuth,The Art of Computer Programming,Volume 2:Seminumerical Algorithms,Reading,MA:Addison-Wesley,1998.
[3]N.D.Jorstad,L.T.Smith,Jr.,“Cryptographic AlgorithmMetrics,”Institute for Defense Analyses Science and Technology Division,January.1997.
[4]C.Shannon,“Communication Theory of Secrecy Systems,”BellSystems Technical Journal,no.4,1949.
[5]J.cheng;J.I.Guo,“A new chaotic key-based design for imageencryption and decryption,”The 2000 IEEE International Symposium onCircuits and Systems,2000.Proceedings.ISCAS 2000 Geneva,vol.4,no.4,pp.49-52,May.2000.
[6]D.A.Osvik,A.Shamir,E.Tromer,Cache Attacks andCountermeasures:the Case of AES,November,2005.Available athttp://theory.csail.mit.edu/tromer/papers/cache.pdf.
[7]SJ.Li and X.Zheng,“Cryptanalysis of a chaotic imageencryption method,”The 2002 IEEE International Symposium on Circuitsand Systems Proceedings 2002.ISCAS 2002 Scottsdale,Arizona,vol.1,2006
[8]R.B.Davies,Newran02C-a random number generator library,April,2006.Available at http://www.robertnz.net/.
[9]Anatoliy Kuznetsov,D-Gap Compression,2002.Available athttp://bmagic.sourceforge.net/dGap.html
[10]S.K.Sahni,Data Structures,Algorithms,and Applications inC++,,Second Edition,McGraw Hill,NY,2005.
[11]Shiguo Lion,Jinsheng Sun and Zhiquan Wang,“A Novel ImageEncryption Scheme Based-on JPEG Encoding,”Proceedings of the EighthInternational Conference on Information Visualisation(IV04),2004
[12]J.A.Munoz Rodrguez and R.Rodrguez-Vera,“Imageencryption based on phase encoding by means of a fringe pattern andcomputational algorithms,”REVISTA MEXICANA DE FISICA 52(1),pp.53-63,Feb.2004
[13]A.Mitra,Y.V.Subba Rao and S.R.M Prasanna,“A New ImageEncryption Approach using Combinational Permutation Techniques,”INTERNALTIONAL JOURNAL OF COMPUTER SCIENCE,vol.1,no.5,2006
[14]W.Diffe and<.E.Hellman,“New Directions in Cryptography,”IEEE Transactions Inofrmation Theory,vol.22,no.6,pp.644-654,Nov.1976.
[15]P.P.Dang and P.M.Chau,“Image Encryption for SecureInternet Multimedia Applications,”IEEE Transactions ConsumerElectronics,vol.46,no.3,pp.395-403,Aug.2000.
[16]R.B.Davies,COPACOBANA,a $10,000 DES cracker based onFPGAs by the universities of Bochum and Kiel,Decemner,2006.Available at http://www.copacobana.org/.
[17]A.Fuster and L.J.Garcia,“An efficient Algorithm to GenerateBinary Sequences for Cryptographic Purposes,”Theoretical ComputerScience 259,pp.679-688,2001.

Claims (11)

1.一种对由字节序列构成的数字文件进行加密的方法,每一个字节由所述数字文件中的相对位置和值来定义,所述方法包括:
使用加密密钥,将每一个字节的所述相对位置与所述值分开编码;以及
产生加密后的数字文件,在所述加密后的数字文件中隐藏了原始数字文件中每一个字节的相对位置和值之间的相关性,
其中,所述数字文件代表由像素阵列构成的数字图像,每一个字节代表具有在所述数字图像中的相对位置的像素,每一个字节的所述值是可能的颜色值的范围中的颜色值,并且其中所述加密密钥用于将每一个像素的所述相对位置与每一个像素的所述颜色值分开编码,所述加密后的数字文件是加密后的数字图像文件,在所述加密后的数字图像中隐藏所述原始数字图像中每一个像素的所述位置和颜色值之间的所述相关性;
所述加密密钥包括:第一密钥,用于在将每一个像素的所述相对位置与所述颜色值分开编码的所述步骤中,生成每一个像素的所述可能颜色值的多个随机排列;以及
使用随机颜色排列之一来生成颜色位图元组,所述元组具有与可能的颜色值的数量相等的元素数量。
2.根据权利要求1所述的方法,其中,在所述加密后的图像中隐藏构成所述原始图像的所述阵列的尺寸。
3.根据权利要求1所述的方法,其中,由所述字节的所述相对位置创建位置向量,将所述位置向量编码为包括标记的比特向量,所述标记指示每一个字节是否为该字节的值的序列中的最后一个字节。
4.根据权利要求1所述的方法,其中,将所述颜色位图元组进行压缩以创建压缩后的元组。
5.根据权利要求4所述的方法,其中,通过游程长度编码对所述颜色位图元组进行压缩以创建所述压缩后的元组。
6.根据权利要求4或者权利要求5所述的方法,其中,将所述压缩后的元组与位置元组进行组合,以创建组合元组。
7.根据权利要求6所述的方法,其中,所述加密密钥包括第二密钥,所述第二密钥被用于生成所述组合元组的随机排列以产生另一元组的方法。
8.根据权利要求7所述的方法,其中,所述另一元组由与所述加密后的图像中的像素数量的倍数相等数量的字节构成,所述加密后的图像像素位置以及颜色值由所述另一元组的字节序列生成。
9.根据权利要求7或者权利要求8所述的方法,其中,用足够的附加填充字节对所述组合元组进行填充,使得所述加密后的图像由矩形阵列构成。
10.根据权利要求6所述的方法,其中,通过将所述压缩后的元组与所述位置元组连接,来创建所述组合元组。
11.一种对加密后的数字文件进行解密的方法,在所述加密后的数字文件中隐藏所述数字文件中每一个字节的位置和值之间的相关性,所述方法包括:
使用解密密钥,由所述加密后的数字文件,对所述数字文件中每一个字节的相对位置和值进行解码;以及
由每一个字节的解码后的位置和值,产生解密后的数字文件,
其中,所述数字文件代表由像素阵列构成的数字图像,每一个字节代表具有所述数字图像中的相对位置的像素,每一个字节的所述值是可能的颜色值的范围中的颜色值,所述解密密钥用于对来自所述加密后的数字图像文件的每一个像素的所述位置和颜色值进行解码,所述方法由所述解码后的位置和颜色值产生解密后的数字图像文件,以及
使用解密密钥的步骤包括:
使用所述解密密钥,来由代表所述加密后的图像的字节向量生成组合元组;
由所述组合元组导出所述数字图像文件的尺寸信息;
从所述组合元组中分离出所述尺寸信息以留下剩余元组;以及
对所述剩余元组进行解码以形成颜色位图元组以及位置元组,
并且其中,由所述解码后的位置和颜色值产生所述解密后的图像文件的步骤包括:由所述颜色位图和位置元组导出所述数字图像。
CN200880106780.0A 2007-09-13 2008-09-09 通过像素属性分离进行的加密 Expired - Fee Related CN101843087B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0718699A GB0718699D0 (en) 2007-09-13 2007-09-13 Image encryption by pixel property separation
GB0718699.2 2007-09-13
EP08103697.2 2008-04-23
EP08103697 2008-04-23
PCT/IB2008/053630 WO2009034520A1 (en) 2007-09-13 2008-09-09 Encryption by pixel property separation

Publications (2)

Publication Number Publication Date
CN101843087A CN101843087A (zh) 2010-09-22
CN101843087B true CN101843087B (zh) 2013-06-05

Family

ID=40225393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880106780.0A Expired - Fee Related CN101843087B (zh) 2007-09-13 2008-09-09 通过像素属性分离进行的加密

Country Status (4)

Country Link
US (1) US8520849B2 (zh)
EP (1) EP2191638A1 (zh)
CN (1) CN101843087B (zh)
WO (1) WO2009034520A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251143B2 (en) 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
US9558680B2 (en) * 2014-04-04 2017-01-31 Sizhe Tan Payload in picture encoding
CN104966525B (zh) * 2015-01-14 2016-11-23 腾讯科技(深圳)有限公司 文件加密、解密方法和装置
CN108182220A (zh) * 2017-12-25 2018-06-19 重庆邮电大学 云服务器中基于用户隐私保护的图像检索方法
CN108777622B (zh) * 2018-05-11 2021-03-26 吉林大学 一种二进制流散列取模加密解密方法
CN111614455B (zh) * 2020-04-30 2021-11-19 河南大学 一种彩色图像压缩加密方法
CN113595715A (zh) * 2021-07-23 2021-11-02 华东交通大学 一种基于Logistic双像素矩形映射彩色图像加密及解密方法
CN114553581A (zh) * 2022-03-01 2022-05-27 珠海金山数字网络科技有限公司 一种数据处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4345582A (en) * 1979-11-19 1982-08-24 Aharon Naaman B System for the utilization of solar energy
US4295621A (en) * 1980-03-18 1981-10-20 Rca Corporation Solar tracking apparatus
US4476854A (en) * 1983-11-14 1984-10-16 Zomeworks Corporation Gas spring solar tracker
US6064738A (en) * 1996-12-10 2000-05-16 The Research Foundation Of State University Of New York Method for encrypting and decrypting data using chaotic maps
WO2002051058A2 (en) * 2000-12-19 2002-06-27 At & T Wireless Services, Inc. Synchronization of encryption in a wireless communication system
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data

Also Published As

Publication number Publication date
EP2191638A1 (en) 2010-06-02
US20100241869A1 (en) 2010-09-23
US8520849B2 (en) 2013-08-27
CN101843087A (zh) 2010-09-22
WO2009034520A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
CN101843087B (zh) 通过像素属性分离进行的加密
Mirzaei et al. A new image encryption method: parallel sub-image encryption with hyper chaos
Li et al. Cryptanalyzing a color image encryption scheme based on hybrid hyper-chaotic system and cellular automata
CN101739695B (zh) 一种基于三维Arnold映射的图像分组加密方法
CN106327414B (zh) 一种基于明文自身特性的双混沌图像加密方法
RU2449482C2 (ru) Устройство обработки шифрования, способ обработки шифрования и компьютерная программа
CN113194213B (zh) 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法
CN107292184B (zh) 图像加密方法、装置及密钥流生成方法和密钥流生成器
CN109981921B (zh) 一种混合混沌虚拟光学图像加密方法
Charan et al. A novel LSB based image steganography with multi-level encryption
CN107274457A (zh) 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法
CN104751401A (zh) 一种新型的分段线性混沌映射图像加密与编码方法
Xiang et al. Cryptanalysis and improvement of a reversible data-hiding scheme in encrypted images by redundant space transfer
CN108833736A (zh) 基于Logistic混沌映射的非对称多图像加密方法
CN112800444A (zh) 基于二维混沌映射的彩色图像加密方法
CN110225222B (zh) 一种基于3d正交拉丁方和混沌系统的图像加密方法
Ganesan et al. Image encryption using eight dimensional chaotic cat map
CN104050617A (zh) 基于Liu混沌系统的图像加密方法
Jarjar et al. Further improvement of the HILL method applied in image encryption
Bidgar et al. Key based visual cryptography scheme using novel secret sharing technique with steganography
Shakir et al. A new four-dimensional hyper-chaotic system for image encryption
Rani et al. A novel and efficient approach to encrypt images using chaotic logistic map and stream cipher
Raj et al. An expeditious chaos based digital image encryption algorithm
Abdelsatir et al. A novel (k, n) secret sharing scheme from quadratic residues for grayscale Images
Goyal et al. Texture based video steganography technique using block-wise encryption

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CAYMAN ISLANDS BUSINESS TRIDENT MICROSYSTEMS CO.,

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20101119

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: EINDHOVEN, HOLLAND TO: ENGLISH CAYMAN ISLANDS

TA01 Transfer of patent application right

Effective date of registration: 20101119

Address after: Cayman Islands

Applicant after: British Cayman Islands Shangtai Ding Microsystems Co.,Ltd.

Address before: Holland Ian Deho Finn

Applicant before: NXP B.V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ENTROPIC COMMUNICATIONS, INC.

Free format text: FORMER OWNER: CAYMAN ISLANDS BUSINESS TRIDENT MICROSYSTEMS CO., LTD.

Effective date: 20131009

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131009

Address after: California, USA

Patentee after: ENTROPIC COMMUNICATIONS, Inc.

Address before: Cayman Islands

Patentee before: British Cayman Islands Shangtai Ding Microsystems Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180629

Address after: American Minnesota

Patentee after: Dynamic data technology LLC

Address before: California, USA

Patentee before: Entropic Communications, Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130605

Termination date: 20210909