CN100350430C - 用随机子序列加密数字图像的方法 - Google Patents
用随机子序列加密数字图像的方法 Download PDFInfo
- Publication number
- CN100350430C CN100350430C CNB2005102007627A CN200510200762A CN100350430C CN 100350430 C CN100350430 C CN 100350430C CN B2005102007627 A CNB2005102007627 A CN B2005102007627A CN 200510200762 A CN200510200762 A CN 200510200762A CN 100350430 C CN100350430 C CN 100350430C
- Authority
- CN
- China
- Prior art keywords
- subsequence
- byte
- image
- reflection
- encrypting
- 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
Links
Images
Abstract
利用已有的随机序列作为母序列,从母序列产生子序列。子序列又可以用于控制对于母序列元素的录用或丢弃从而产生新的子序列。产生子序列的参数越多、参数可选择的范围越大,则破解的难度也越大。两个子序列用于加密数字图像。其中一个子序列为图像的数据字节指定新位置实现重新排序,该子序列的元素取值范围是随元素序号递减的,并且容许元素之间在数值上重复。另一个子序列控制数据字节的值是否替代为该值与255之差。对一幅图像的RGB24格式文件和JPEG格式文件加密后,都看不到原图像的痕迹。
Description
技术领域
本发明涉及数字图像的加密,防止数字图像中的信息被未经许可者窥视。
背景技术
将数字图像的数据重新排序可以使数字图像面目全非,Arnold变换、幻方算法和混沌图像置乱算法等引起人们的普遍关注(例如北方工业大学学报第11卷第1期1999年3月“关于Arnold变换的周期性”和“矩阵变换及其在图像信息隐藏中的应用研究”、中国图象图形学报第10卷第5期2005年“基于排序变换的混沌图像置乱算法”等)。打乱数字图像的最直接方法莫过于将数字图像数据字节按照随机序列重新排列,而由程序语言逐次调用随机函数rnd()就能方便地制造随机序列的元素Rn=int(L*rnd()),其中L是数字图像的长度(以字节为单位),int()是取整数。可是有两个问题需要解决:一是简单地利用公知的随机序列加密数字图像容易破解;二是剔除数值上重复的序列元素要花费许多时间。本发明解决了这两个问题,有利于数字图像加密的普及应用。
发明内容
本发明的目的是提高利用已有随机序列加密数字图像的破解难度,提高含数字图像的系统的安全性能。已有的随机序列可以是公知的随机序列也可以是其他随机序列。
为了达到发明的上述目的,首先提供了从已有的随机序列构造子序列的方法,然后提供了用子序列加密数字图像的方法即子序列控制图像数据字节重新排序和用字节值与255之差随机替代字节值的方法。
附图说明
图1为连续录用母序列元素构造子序列的方框图
图2为在子序列控制下从母序列产生新子序列的方框图
图3为产生用于指定映像空位的子序列的方框图
图4为用子序列加密数字图像的方框图
图5是数字图像加密和解密的流程图。
图6示例待加密的RGB24格式的数字图像
图7示例保留了.bmp文件头的加密后图像
图8示例待加密的JPEG格式的数字图像
图9示例保留了.jpg文件头和标记的加密后图像
具体实施方式
把已有的随机序列称为母序列,从母序列构造子序列就是从已有的随机序列构造子序列。截取母序列的有限长度的一段,丢弃其中一些元素并录用其余部分就成为子序列。
构造子序列的最简单方法就是连续录用母序列的t个元素,t为整数,如图1所示。在图1中,常数C为选用的整数,它限制母序列和子序列的元素取值范围为0到C-1。函数rnd()的所有各次调用确定了母序列Rr的元素R0,R1,R2,....,Rn,....,其中首次调用函数rnd()确定了R0=int(C*rnd()),第n次调用函数rnd()确定了Rn=int(C*rnd())等等。子序列Sa连续录用了母序列从Rn到Rn+t-1的t个元素:
A0=Rn;A1=Rn+1;.....;At-1=Rn+t-1
这样产生的子序列与母序列的某一段相吻合,若直接用于加密较易破解,但可以用于控制母序列元素的丢弃或录用从而产生新的子序列。
利用已经产生了的子序列控制母序列元素的丢弃或录用,由此产生的新子序列用于加密就难以猜破。图2说明用子序列控制母序列元素的丢弃或录并产生新子序列的原理。作为例子,其中用于控制的已有子序列Sa的元素An取值小于4的整数,相当于图1中的C=4所产生的子序列。图2中的常数D为选用的整数,它限制母序列和新子序列Sb的元素取值范围为0到D-1,L是新子序列Sb的指定长度。在图2中,参数可以自由选择,参数值不同使得所产生的新子序列也不同。
参数n:指定截取母序列的起点;
控制规则:例如可将图中的“Ai=0或Ai=3”改为当Ai=1时录用母序列的元素;
子序列Sa的元素取值范围:例如图中的“Ai可能取值0,1,2,3”可改为取值0或1;
控制规则应与子序列Sa元素的取值范围相配合。参数成为恢复数字图像的“钥匙”的一部分。产生子序列Sa的参数(例如连续录用母序列的起点)通过影响子序列Sa进而影响新子序列Sb,所以也成为“钥匙”的一部分。当子序列Sa是由几段较短序列拼接而成时影响新子序列Sb的参数就更多了。参数越多、参数可选择的范围越大使得破解的难度也越大。
用子序列将数字图像重新排序最容易想到的方案是要求子序列长度等于图像数据的长度L、子序列元素的取值应为0到L-1并且子序列元素的取值不能重复。这并不难实现,例如在图2中取D=L并在X点插入一个核查方框:子序列新赋值的元素若与已有元素在数值上相同,丢弃这个新赋值的元素并重新寻找下一个可录用的母序列元素。可是这个方法随着子序列已有元素的增加,因为数值重复而丢弃新赋值元素越来越频繁,运行消耗很长时间。
本发明另辟新途:预备一个与待加密数字图像的字节大小相等的图像,以下称为映像。映像中的图像数据字节都作为空位并将被待加密的数字图像的字节逐个替代,以L表示映像中初始空位总数。映像中的空位按其字节序号的先后编号,称为空位号。初始的空位号与字节序号一致。子序列Sb的第0个元素B0的数值代表待加密数字图像中字节序号0对应映像的L个空位中的一个空位号,该字节从待加密数字图像填入映像的对应空位使得映像的空位总数减少为L-1个,因而映像中的空位号变得与字节序号不尽相同。子序列Sb的第1个元素B1的数值代表待加密数字图像中字节序号1对应映像的L-1个空位中的一个空位号,该字节从待加密数字图像填入映像的对应空位并使映像中的空位总数减少为L-2个并且空位号再次变化。以此类推,直到待加密数字图像中最后一个(第L-1个)字节填入映像剩余的第0个空位,填满数据的映像就是加了密的数字图像。可以看出,子序列Sb的每一个元素的值都唯一地指定映像中的一个空位,元素间数值上可能的重复并不影响加密操作。图3说明用于指定映像空位的子序列Sb的产生过程。随着待加密数字图像的数据字节逐个填入映像使得映像中的空位数目逐个减少,所以子序列Sb的元素取值范围是随元素序号递减的。图4说明用子序列加密数字图像的原理。变量V作为载体把待加密数字图像的字节传递给映像的空位。图4中使用了两个子序列,都与图像数据等长(L)。其中子序列Sb用于指定映像空位,是按照图3构成的。子序列Sc则用于控制图像数据字节的值V是否用255-V替代。子序列Sc是按照图2构成的,元素取值0或1(D=2)。计算机程序迁移数据总是按字节序号来迁移数据的,因此有必要把子序列Sb的元素指定的映像空位号“翻译”成映像字节序号。标志序列Ff具有L个初始值为0的元素。映像中每有一个空位被填入数据,依据该空位在映像中的字节序号,将Ff的相同序号的元素赋值为1作为标志。对Ff的数值为0的元素计数S与元素序号j的关系正是映像中空位号与字节序号的对应关系。填满后的映像就是加了密的数字图像。
要从映像恢复原数字图像,预备一个与待加密数字图像的字节大小相等的图像,以下称为反映像。反映像中的图像数据字节都作为空位并将被映像的字节逐个替代。用上述加密的逆过程把数据字节从映像逐个填入反映像。填满后的反映像就是解密图像并且与加密前的数字图像完全相同。加密过程和解密过程共享产生各子序列的所有参数,各自产生子序列。加密过程和解密过程产生的子序列完全相同。加密过程和解密过程的不同仅仅在于图像数据的迁移方式。加密过程是把依字节序号大小排列的数据字节填入由子序列指定的映像中的空位从而打乱了数据字节原有的排列。解密过程是把由子序列指定的映像中尚未提取过的的字节依反映像的字节序号顺序填入反映像从而恢复了数据字节原有的排列。图5是数字图像加密和解密的流程图。
图像数据的排列是有格式的,例如常用的RGB格式(.bmp文件)和JPEG格式(.jpg文件),不同格式通常有各自的文件头和标记。本发明的加密方法允许把文件头和标记都当成图像数据一起加密,使用非常简单,但是加密后的数字图像因为破坏了文件头和标记所以在解密之前不能显示,只有解密之后才能显示。在实际应用中经许可的观看者并不需要在解密之前显示打乱了的图像。可是破译高手有可能将窃取到的数据嵌入一幅正常图像中来窥视窃取到的数字图像。为此在考察加密效果时有必要保留文件头和标记,仅将色彩和灰度数据加密,不经解密直接显示,看原图像的信息是否已经完全隐藏。图6是待加密的RGB24格式的数字图像,图7是保留了文件头的加密后图像,解密后图像与图6完全相同。图8是待加密的JPEG格式的数字图像,图9是保留了文件头和标记的加密后图像,解密后图像与图8完全相同。从图7和图9看不出原图像的痕迹。
Claims (4)
1.一种加密数字图像的方法,其特征是利用已有的随机序列作为母序列,先从母序列产生子序列,然后用子序列而非母序列对数字图像加密,包括以下步骤:
预备一个与待加密数字图像的字节大小相等的图像,以下称为映像,映像中的图像数据字节在待加密的数字图像数据填入之前称为空位;
连续录用母序列的一段元素产生子序列,再用由此产生的子序列控制对于母序列元素的录用或丢弃从而产生两个新的子序列用于加密数字图像;
依待加密图像的字节序号顺序逐个提取待加密图像的字节,上一步骤产生的用于加密数字图像的两个子序列中的一个子序列用于控制每个字节的数值替代为(255-字节数值)或不替代,然后填入另一个子序列指定的映像中的空位,填满后的映像就是已经加了密的数字图像,以上是加密步骤;
以下是解密步骤,预备一个与待加密数字图像的字节大小相等的图像,以下称为反映像;
采用与加密时相同的参数和相同的方法产生两个子序列用于解密数字图像,它们与加密时产生的用于加密数字图像的两个子序列完全相同;
上一步骤产生的用于解密数字图像的两个子序列中的一个子序列用于指定逐个提取映像中尚未提取的字节,另一个子序列控制每个字节的数值替代为(255-字节数值)或不替代,然后依反映像的字节序号顺序填入反映像,填满后的反映像就是已经解了密的数字图像。
2.根据权利要求1的一种加密数字图像的方法,其中所说的待加密图像的字节填入另一个子序列指定的映像中的空位和一个子序列用于指定逐个提取映像中尚未提取的字节填入反映像,所说的这两个子序列的元素取值范围是随元素序号递减的,并且容许元素之间在数值上重复。
3.根据权利要求1的一种加密数字图像的方法,其中所说的将待加密图像的字节填入子序列指定的映像中的空位,是通过对映像中的空位计数取得该空位在映像中的字节序号,然后按该字节序号填入来实现的。
4.根据权利要求1的一种加密数字图像的方法,其中所说的在解密时采用与加密时相同的参数和相同的方法产生两个子序列用于解密数字图像,所说的参数包括截取母序列的起点、控制录用和丢弃母序列元素的规则以及子序列元素的取值范围,还包括产生这两个子序列时用于控制对于母序列元素的录用或丢弃的子序列的这些参数,参数是解密与加密共享的钥匙的一部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005102007627A CN100350430C (zh) | 2005-12-05 | 2005-12-05 | 用随机子序列加密数字图像的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005102007627A CN100350430C (zh) | 2005-12-05 | 2005-12-05 | 用随机子序列加密数字图像的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787009A CN1787009A (zh) | 2006-06-14 |
CN100350430C true CN100350430C (zh) | 2007-11-21 |
Family
ID=36784453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005102007627A Expired - Fee Related CN100350430C (zh) | 2005-12-05 | 2005-12-05 | 用随机子序列加密数字图像的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100350430C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035253B (zh) * | 2006-11-14 | 2010-05-26 | 北京中星微电子有限公司 | 一种实现加密或解密的方法、装置及实现加密和解密的系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997012459A1 (en) * | 1995-09-26 | 1997-04-03 | Xian Kan Lin | A method for encryption of file |
FR2786050A1 (fr) * | 1998-11-13 | 2000-05-19 | Georges Madar | Procede, dispositif et support d'enregistrement pour securiser la transmission rapide d'images, de sons, de textes ou de donnees techniques dans un reseau de communication |
CN1471019A (zh) * | 2003-06-26 | 2004-01-28 | 上海交通大学 | 基于余数图像的数字水印嵌入和提取方法 |
-
2005
- 2005-12-05 CN CNB2005102007627A patent/CN100350430C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997012459A1 (en) * | 1995-09-26 | 1997-04-03 | Xian Kan Lin | A method for encryption of file |
FR2786050A1 (fr) * | 1998-11-13 | 2000-05-19 | Georges Madar | Procede, dispositif et support d'enregistrement pour securiser la transmission rapide d'images, de sons, de textes ou de donnees techniques dans un reseau de communication |
CN1471019A (zh) * | 2003-06-26 | 2004-01-28 | 上海交通大学 | 基于余数图像的数字水印嵌入和提取方法 |
Non-Patent Citations (3)
Title |
---|
Decryption of pure-position permutation algorithms ZHAO Xiao.yu (赵晓宇),CHEN Gang (陈刚),ZHANG Dan (张亶).Journal of Zhejiang University SCIENCE. 2004 * |
一种基于指数性混沌序列的灰度图像加密算法 李昌刚,韩正之,张浩然.计算机工程与应用 2002 * |
一种基于混沌序列的图像加密算法 易开祥 等.计算机辅助设计与图形学学报,第12卷第9期 2000 * |
Also Published As
Publication number | Publication date |
---|---|
CN1787009A (zh) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ge et al. | A novel chaos-based symmetric image encryption using bit-pair level process | |
US6069954A (en) | Cryptographic data integrity with serial bit processing and pseudo-random generators | |
Abdul et al. | Biometric security through visual encryption for fog edge computing | |
JPH11507141A (ja) | 数字コーディングされた情報単位からなるシーケンスの符号化方法 | |
CN106327414B (zh) | 一种基于明文自身特性的双混沌图像加密方法 | |
Sudeepa et al. | A new approach for video steganography based on randomization and parallelization | |
JPH0834587B2 (ja) | 画像データの秘匿方法 | |
US20110246768A1 (en) | Systems and methods improving cryptosystems with biometrics | |
CN109635576B (zh) | 一种在图像中隐藏数据方法和系统 | |
Neamah et al. | Hide text depending on the three channels of pixels in color images using the modified LSB algorithm | |
Coatrieux et al. | Lossless watermarking of categorical attributes for verifying medical data base integrity | |
CN106651735A (zh) | 一种基于混沌理论的数字图像并行加密方法 | |
CN106604040A (zh) | 基于混合图元和全排列的多图像加密方法 | |
TİKEN et al. | A comprehensive review about image encryption methods | |
CN100350430C (zh) | 用随机子序列加密数字图像的方法 | |
CN113132079B (zh) | 多图像加密方法及解密方法 | |
CN1454351A (zh) | 编辑/恢复电子信息的方法 | |
Ye et al. | Color image encryption scheme based on quaternion discrete multi-fractional random transform and compressive sensing | |
Das et al. | An Ameliorate Image Steganography Method using LSB Technique & Pseudo Random Numbers | |
Sun et al. | Image based information hiding with one-dimensional chaotic systems and particle swarm optimization | |
Yan et al. | QHSL image encryption scheme based on a logistic chaotic system | |
CN1542628A (zh) | 电子文件字符内码变换加密方法 | |
IT201800006911A1 (it) | Metodo di codifica e decodifica di informazioni digitali | |
Kumar et al. | New signal security system for multimedia data transmission using genetic algorithms | |
Kumar et al. | Secret Image Share hiding using Steganography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |