CN107886003A - 一种基于非线性系统的密码学置乱方法 - Google Patents
一种基于非线性系统的密码学置乱方法 Download PDFInfo
- Publication number
- CN107886003A CN107886003A CN201710946647.7A CN201710946647A CN107886003A CN 107886003 A CN107886003 A CN 107886003A CN 201710946647 A CN201710946647 A CN 201710946647A CN 107886003 A CN107886003 A CN 107886003A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- sequence
- image
- random number
- scramble
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013507 mapping Methods 0.000 claims description 31
- 230000000739 chaotic effect Effects 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 8
- 230000006835 compression Effects 0.000 abstract description 7
- 238000007906 compression Methods 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 description 10
- 241000282537 Mandrillus sphinx Species 0.000 description 5
- 235000002566 Capsicum Nutrition 0.000 description 4
- 241000758706 Piperaceae Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提出了一种基于非线性系统的密码学置乱方法,通过采用在随机数列中加入整数部分,并只对小数部分进行排序的方式,可以省略查找过程,并大幅缩短传统基于排序的置乱算法的执行时间。同时,本文算法也保持了传统基于排序的置乱算法的优点,即相对于基于2D混沌映射的置乱算法,本算法置乱更完全,置乱效果更好。本算法可应用于图像加密及图像压缩领域。此外,在本文所提出的算法框架具有一定的伸缩性,即具体的随机数序列生成算法和排序算法可以根据安全性或执行效率的要求灵活改变。对于高安全性的加密需求,可以选择使用随机性更好的随机数生成系统实现。
Description
技术领域
本发明属于数字图像机密技术领域,涉及到一种基于非线性系统的密码学置乱方法。
背景技术
置乱算法在图像加密中有广泛的应用,其常用于密码系统的第一步,即重新分配所有像素的位置。目前的置乱技术按照实现算法可以分为两类,一类是基于排序的置乱算法,另一类是基于2D混沌映射的置乱算法。在第一类方法中,根据一串随机序列,产生图像每个像素新位置到旧位置的映射。一般来说,通过非线性系统生成随机序列。在对随机序列排序之后,可以获得排序前位置到排序后位置的映射,这个映射可用于行、列、或像素尺度的置乱。
在第二类算法中,利用离散的2D混沌映射系统进行置乱,常用的混沌映射有猫映射、标准映射、Henon映射以及Baker映射。2D混沌系统产生随机目标位置的集合并将像素映射到要置乱图片中。
对于上面介绍的两类置乱算法,都有各自的优缺点。对于基于排序的置乱算法,如果将行与列作为置乱单位,虽然执行快,但是置乱不够充分,加密图像中存在重复模式(Repeat Patterns)。对于置乱单位是像素的算法,虽然做到了充分的置乱,但是排序加查找的过程耗费了大量的时间,执行效率较低。对于基于2D混沌映射的置乱算法,同样也是速度快,但仍有置乱不充分,存在重复模式的问题。
发明内容
置乱算法在图像加密中有广泛的应用,而现有的两大类算法的实现都有其各自的局限性。有的算法速度快但是置乱效果不好,有的算法达到了充分的置乱但是执行速度太慢。如何在保证置乱效果的情况下,提高算法的执行速度,是一个值得解决的技术问题。
本发明采用的技术解决方案是:
本方法在传统的基于排序的置乱算法上进行改进。传统的方法需要对随机数列进行先排序再查找的过程,而本算法可以将查找算法省略,排序之后直接得到位置映射。
首先通过非线性系统,比如Logistic系统或Chen系统,产生一串伪随机数。产生第i个随机数后,在第i个随机数上加上整数i。之后,利用桶排序将这些随机数排序,排序过程中,比较依据为每个数小数部分的大小。排序之后的随机序列即蕴含了置乱要用到的位置映射信息。对于第i个像素,其映射后的位置为排序后第i个随机数的整数部分。
具体步骤为:
Step 1将要置乱的图像展成一维数组形式,数组的每个元素对应原图像的一个像素,数组的长度为n,即原图像像素的个数;
Step 2利用非线性系统产生长度为n随机数列,其产生过程中,将xi的小数部分用于非线性系统的递推公式,产生xi+1,并将得到的xi+1在加上整数i+1;
Step 3使用桶排序得到排序序列,桶内部使用快速排序;在排序过程中,只对其小数部分进行排序;
Step 4对于已排序的数列,将第i个已排序数的整数部分作为第i个位置的像素的映射位置,得到映射关系;
Step 5利用Step 4的映射关系,对每个图像数组里的像素进行位置映射;将置乱后的一维数组还原成二维数组,得到置乱加密后的图像。
本文提出了一个新的基于非线性系统的密码学置乱方法,通过采用在随机数列中加入整数部分,并只对小数部分进行排序的方式,可以省略查找过程,并大幅缩短传统基于排序的置乱算法的执行时间。同时,本文算法也保持了传统基于排序的置乱算法的优点,即相对于基于2D混沌映射的置乱算法,本算法置乱更完全,置乱效果更好。本算法可应用于图像加密及图像压缩领域。此外,在本文所提出的算法框架具有一定的伸缩性,即具体的随机数序列生成算法和排序算法可以根据安全性或执行效率的要求灵活改变。对于高安全性的加密需求,可以选择使用随机性更好的随机数生成系统实现。
附图说明
图1置乱算法整体框架图。
图2不同排序算法效率比较。
图3置乱算法感知效果图。其中:图3(1)是原始图像Stefan;图3(2)原始图像Sailboat;图3(3)是原始图像Peppers;图3(4)是原始图像Mandrill;图3(5)是置乱图像Elaine;图3(6)是置乱图像Sailboat;图3(7)是置乱图像Peppers;图3(8)是置乱图像Mandrill;图3(9)是猫映射图像Elaine;图3(10)是猫映射图像Sailboat;图3(11)是猫映射图像Peppers;图3(12)是猫映射图像Mandrill。
具体实施方式
以下结合技术方案和附图详细叙述本发明的具体实施例。
实施例1
为评估本本方法的有效性,选用了Elaine、Sailboat、Peppers和Mandrill等TIFF格式的图片测试和分析。上述图片大小均为512×512个像素点,其中Elaine为灰度图像,Sailboat、Peppers和Mandrill为彩色图像。采用的随机数生成系统为Logistic系统(xi+1=μxi(1-xi)),μ=3.99999,初始值x0=0.25369856。测试环境为CPU:Intel Core i7-6700HQ2.60GHz;RAM:8.0GB。测试语言:C++。
通过非线性系统,生成伪随机序列,并对第i个随机数上加上整数i。通过桶排序对随机序列的小数部分进行排序,得到的已排序序列的整数部分即最终的位置映射关系。这样,仅仅通过一遍排序,即可得到置乱的映射关系,省去了传统过程中查找的部分,从而节约大量运行时间。
以Logistic系统为例,详细阐述实现步骤。
Step 1将要置乱的图像展成一维数组形式,数组的每个元素对应原图像的一个像素,数组的长度为n,即原图像像素的个数。
Step 2利用Logistic系统(xi+1=μxi(1-xi))产生长度为n随机数列,其产生过程中,将xi的小数部分用于Logistic系统的递推公式,产生xi+1,并将得到的xi+1在加上整数i+1。例如在μ=3.99999,初始值x0=0.25369856,n=5的情况下得到如下数列:
0.253699 1.75734 2.7351 3.77891 4.68884
Step 3使用桶排序得到排序序列,桶内部使用快速排序。在排序过程中,只对其小数部分进行排序,对于上面的序列得到如下结果:
0.253699 4.68884 2.7351 1.75734 3.77891
Step 4对于已排序的数列,将第i个已排序数的整数部分作为第i个位置的像素的映射位置,这样可以直接得到映射关系。上述数列得到的映射为:
0→0,1→4,2→2,3→1,4→3
Step 5利用如上映射关系,对每个图像数组里的像素进行位置映射。将置乱后的一维数组还原成二维数组,就得到了置乱加密后的图像。
实施例2:以Lotistic map为例说明本方法置乱效率
衡量置乱算法的一个重要指标就是置乱效率,即由于置乱操作而额外增加的时间负担。在传统的基于排序的置乱算法中,时间消耗主要包含四部分:生成随机序列、随机序列的排序、查找每个随机数生成映射表与将映射关系应用到图像中。而本文的算法中,排序完成即意味着映射表生成完成,所以时间消耗主要有三部分:生成随机序列、随机序列的排序与将映射关系应用到图像中。
在测试中,用来生成随机序列的为Logistic映射方程。由于生成随机序列与位置映射只与图像像素多少有关,而与图像其它属性无关,所以效率测试中只考虑测试不同的像素数量。测试中,公式Logistic映射分别迭代1000000次、5000000次、10000000次与50000000次,对应相应像素数量。在排序部分,本文算法采用桶排序,桶的个数为像素个数的500分之一。传统基于排序的置乱算法的排序方法使用快速排序,查找方法使用二分法。在2D混沌系统的置乱算法中,本文选择迭代3次的猫映射系统作为对比。
每种情况所用的平均时间如表1所示。TL表示生成随机数列的时间,TS表示排序的时间,TM表示生成映射表的时间,TA表示将映射应用到图像中的时间,TT表示置乱算法总时间。由于猫映射有着完全不同的执行过程,所以这里只列出猫映射执行的总时间。
表1置乱时间测试对比
从表1中可以看出,较传统基于排序算法,虽然本文算法在生成随机数列的时间与将映射应用到图像中的时间都比传统算法长(因为本文算法中这两步需要额外的处理),但是由于省去了查找时间,总时间较传统算法大幅下降。传统的二分查找算法,时间复杂度为O(nlogn),由上表可以看到,因为省去这部分的时间而造成总时间的减少比例随着数据量的增大而增大。而对于猫映射而言,其执行速度具有绝对优势。
对于排序算法,可以看到数据量越大,桶排序较快速排序越有优势,但二者的效率差别不大。因为本文的算法中,要求桶排序只排序随机数的小数部分,所以增加了一点额外的处理,会比标准桶排序稍微慢一点。而且Logistic系统产生的随机序列并非完全符合均匀分布,这对桶排序的效率也有所影响。本文算法对于排序算法的选择比较灵活,可以将排序部分换成其它的排序算法。本文针对不同的排序算法对[0,1]区间内的浮点数排序效率进行了比较:
由图2可见,在基本的排序过程中(对数字整体进行排序,而不是只针对小数部分),桶排序对于较大数据量的情况还是比较有优势的,所以本文算法选用了桶排序。
实施例3:以Logistics map为例说明本方法的压缩率
衡量加密算法的另一个指标是压缩效率。一个好的视频加密算法应该尽可能少的影响图片编码的之后潜在的压缩率。在本文所述加密算法中,只是针对图像中像素位置的改变,而没有改变像素的值。原图片像素的概率分布是不变的,所以该置乱算法并不影响基于像素概率模型的压缩算法的压缩率。
实施例4:以Logistics map为例说明本方法的安全性
本算法可以做到图像像素较充分的置乱,测试中的加密效果如图3所示。其中图3(1)—图3(4)是各测试的原始图像,图3(5)—图3(8)是对应于这个图像应用本文算法的置乱加密效果,图3(9)—图3(12)是对应于这个图像应用猫映射算法的置乱加密效果。从图3中可以看出,尽管加密后的图像仍能看出原图的一些颜色特征,但整个的图片已经混乱,在图片中看不到重复模式。而基于猫映射的置乱算法则可以很明显的看到重复模式,所以在置乱效果上,该算法优。
Claims (2)
1.一种基于非线性系统的密码学置乱方法,其特征在于,首先通过非线性系统,产生一串伪随机数;产生第i个随机数后,在第i个随机数上加上整数i;之后,利用桶排序将这些随机数排序,排序过程中,比较依据为每个数的小数部分的大小;排序之后的随机序列即蕴含了置乱要用到的位置映射信息;对于第i个像素,其映射后的位置为排序后第i个随机数的整数部分;具体步骤如下:
Step 1将要置乱的图像展成一维数组形式,数组的每个元素对应原图像的一个像素,数组的长度为n,即原图像像素的个数;
Step 2利用非线性系统产生长度为n随机数列,其产生过程中,将xi的小数部分用于非线性系统的递推公式,产生xi+1,并将得到的xi+1在加上整数i+1;
Step 3使用桶排序得到排序序列,桶内部使用快速排序;在排序过程中,只对其小数部分进行排序;
Step 4对于已排序的数列,将第i个已排序数的整数部分作为第i个位置的像素的映射位置,得到映射关系;
Step 5利用Step 4的映射关系,对每个图像数组里的像素进行位置映射;将置乱后的一维数组还原成二维数组,得到置乱加密后的图像。
2.根据权利要求1所述的一种基于非线性系统的密码学置乱方法,其特征在于,所述非线性系统为Logistic系统或Chen系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710946647.7A CN107886003B (zh) | 2017-10-12 | 2017-10-12 | 一种基于非线性系统的密码学置乱方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710946647.7A CN107886003B (zh) | 2017-10-12 | 2017-10-12 | 一种基于非线性系统的密码学置乱方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107886003A true CN107886003A (zh) | 2018-04-06 |
CN107886003B CN107886003B (zh) | 2019-08-09 |
Family
ID=61781415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710946647.7A Expired - Fee Related CN107886003B (zh) | 2017-10-12 | 2017-10-12 | 一种基于非线性系统的密码学置乱方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107886003B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430741A (zh) * | 2008-12-12 | 2009-05-13 | 深圳华大基因研究院 | 一种短序列映射方法及系统 |
US20110138259A1 (en) * | 2009-12-03 | 2011-06-09 | Microsoft Corporation | High Performance Digital Signal Processing In Software Radios |
CN102201001A (zh) * | 2011-04-29 | 2011-09-28 | 西安交通大学 | 基于倒排技术的快速检索方法 |
CN102722856A (zh) * | 2012-06-06 | 2012-10-10 | 北京联合大学 | 基于三维Lorenz混沌映射的DCT域的数字图像加密方法 |
CN106530207A (zh) * | 2016-12-06 | 2017-03-22 | 南京理工大学 | 基于Logistic混沌映射的数字图像加密方法 |
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
-
2017
- 2017-10-12 CN CN201710946647.7A patent/CN107886003B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430741A (zh) * | 2008-12-12 | 2009-05-13 | 深圳华大基因研究院 | 一种短序列映射方法及系统 |
US20110138259A1 (en) * | 2009-12-03 | 2011-06-09 | Microsoft Corporation | High Performance Digital Signal Processing In Software Radios |
CN102201001A (zh) * | 2011-04-29 | 2011-09-28 | 西安交通大学 | 基于倒排技术的快速检索方法 |
CN102722856A (zh) * | 2012-06-06 | 2012-10-10 | 北京联合大学 | 基于三维Lorenz混沌映射的DCT域的数字图像加密方法 |
CN106530207A (zh) * | 2016-12-06 | 2017-03-22 | 南京理工大学 | 基于Logistic混沌映射的数字图像加密方法 |
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
Non-Patent Citations (1)
Title |
---|
周庆等: "一种自适应的图像加密算法的分析及改进", 《电子学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107886003B (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Fast image encryption algorithm based on parallel computing system | |
Tang et al. | Multiple-image encryption with bit-plane decomposition and chaotic maps | |
Zhang et al. | An image encryption scheme using self-adaptive selective permutation and inter-intra-block feedback diffusion | |
US10970804B2 (en) | Image processing device and image processing method for selecting regions based on gradiation for embedding a watermark | |
CN107633175B (zh) | 一种基于混沌的快速彩色图像加密方法 | |
CN108537716A (zh) | 一种基于离散域的彩色图像加密嵌入方法 | |
CN110430336B (zh) | 图像隐藏和恢复的方法、设备和存储介质 | |
Wen et al. | Triple-image bit-level encryption algorithm based on double cross 2D hyperchaotic map | |
CN113938691B (zh) | 一种加密图像可逆信息隐藏方法 | |
Zheng et al. | An efficient image encryption algorithm based on multi chaotic system and random DAN coding | |
CN110677552B (zh) | 一种基于完备分组基的无载体信息隐藏方法 | |
Gao et al. | An Image Encryption Algorithm Based on the Improved Sine‐Tent Map | |
Albdour et al. | A steganographic method based on roberts operator | |
Halboos et al. | Hiding text using the least significant bit technique to improve cover image in the steganography system | |
Chen et al. | An image encryption algorithm based on the LSCMM chaotic map and bidirectional dynamic diffusion | |
Elkhalil et al. | Image encryption using the new two-dimensional Beta chaotic map | |
CN117459649A (zh) | 一种基于图像风格迁移的大容量信息隐藏方法及系统 | |
Khan et al. | PermutEx: Feature-Extraction-Based Permutation—A New Diffusion Scheme for Image Encryption Algorithms | |
KR102185831B1 (ko) | 디해시 기반 악성코드 분석 장치 및 방법 | |
CN108021815A (zh) | 图像加密方法、装置及电子设备 | |
CN107886003A (zh) | 一种基于非线性系统的密码学置乱方法 | |
Shiwei et al. | An image encryption algorithm for visually meaningful ciphertext based on adaptive compressed, 2D-IICM hyperchaos and histogram cyclic shift | |
CN104504429B (zh) | 二维码生成方法和装置 | |
CN113160028B (zh) | 基于彩色字符画的信息隐藏及恢复方法、设备及存储介质 | |
CN106960157A (zh) | 数字图像分辨率分级获取控制管理器的实现方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190809 |
|
CF01 | Termination of patent right due to non-payment of annual fee |