[发明专利]一种基于非线性系统的密码学置乱方法有效
申请号: | 201710946647.7 | 申请日: | 2017-10-12 |
公开(公告)号: | CN107886003B | 公开(公告)日: | 2019-08-09 |
发明(设计)人: | 张伟豪;张伟 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;H04L9/08 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 陈玲玉;梅洪玉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 非线性 系统 密码学 方法 | ||
本发明提出了一种基于非线性系统的密码学置乱方法,通过采用在随机数列中加入整数部分,并只对小数部分进行排序的方式,可以省略查找过程,并大幅缩短传统基于排序的置乱算法的执行时间。同时,本文算法也保持了传统基于排序的置乱算法的优点,即相对于基于2D混沌映射的置乱算法,本算法置乱更完全,置乱效果更好。本算法可应用于图像加密及图像压缩领域。此外,在本文所提出的算法框架具有一定的伸缩性,即具体的随机数序列生成算法和排序算法可以根据安全性或执行效率的要求灵活改变。对于高安全性的加密需求,可以选择使用随机性更好的随机数生成系统实现。
技术领域
本发明属于数字图像机密技术领域,涉及到一种基于非线性系统的密码学置乱方法。
背景技术
置乱算法在图像加密中有广泛的应用,其常用于密码系统的第一步,即重新分配所有像素的位置。目前的置乱技术按照实现算法可以分为两类,一类是基于排序的置乱算法,另一类是基于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的映射关系,对每个图像数组里的像素进行位置映射;将置乱后的一维数组还原成二维数组,得到置乱加密后的图像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710946647.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种桶体灌装专用吸气罩
- 下一篇:一种用于药液灌装机的储药装置