图像加密算法之基于Hash函数和多混沌系统的加密

为了实现对数字图像的有效保护,我们提出一种基于Hash函数和多混沌系统的图像加密算法。该图像加密算法通过像素置乱、灰度置乱及灰度扩散实现图像文件加密。

一、混沌系统

1、Lorenz混沌系统

本文在像素置乱阶段使用Lorenz混沌系统,它的动力学方程为:

灰度置乱阶段采用Logistic系统产生随机序列,其原型为:

式中:xn映射变量,0≤xn≤1,μ——系统参数,0≤μ≤4。当3.5699456…≤μ≤4时,系统进入混沌状态。文中所采用的Logistic混沌系统中μ取为3.9999。图1(b)出示了当x0=0.123456781时的混沌实数序列图,从图中可以看出,序列呈现出一种近化随机的状态。

二、图像文件加密方案

1、图像像素置乱

图像像素置乱的主要目的是为了有效地打乱像素位置。常用的像素置乱方法主要有两种,一是直接对图像的像素点坐标位置进行线性变换,如Arnold变换,幻方变换,3D猫映射,二是先对图像进行分块,然后再置乱,但此种方法的安全性不高。本文利用Hash表来实现像素位置的变换,置乱表由Hash函数产生,函数的基本描述为h(c,λ,d,s,L),其中C代表Lorenz混沌系统,λ是变换参数,d是采样步长,s是采样起始点,L是Hash表长度。

假设选择的图像大小为MxN,图像的置乱步骤为:

(1)由Lorenz混沌系统以及初始密钥产生混沌序列;

(2)根据Hash函数,h(c,λ,d,s,L)构造规则及混沌序列构造散列表h1,其中d1是h1的采样步长;

(3)根据Hash函数h(c,λ,d,s,L)构造规则及混沌序列构造散列表h2,其中d2是h2的采样步长;

(4)根据h1和h2先后对图像的行列进行变换。

2、图像灰度置乱

在现代加密体制中,置换和替代仍是加密体制的两个基本构造模块,单独的置换和替代也能达到一定的加密效果,但如果能两者兼顾则效果更好。在上节中我们利用Hash函数对像素的位置进行了置乱,但这并不能改变灰度值,加密图像和原图像仍具有相同的灰度统计直方图,因此必须对图像灰度进行替代,以抵抗攻击者的统计分析。由于图像灰度的组成元素是0~255的整数值,本文用一种类似初等密码中的多表代替密码对灰度数值进行置乱,使其不再保持原来的灰度值。

对大小为M×N的灰度图像,图像灰度置乱步骤为:

(1)根据初始条件x0由Logistic混沌系统生成一条长度为l的随机序列S,并将其变换为[0,255]之间的整数值。

(2)将图像的灰度矩阵按行优先拉伸成一维数组,然后与序列S中的值对应进行比特异或,得到序列S;

(3)把S按列优先还原成灰度矩阵。

若序列S的长度l

3、像素灰度值的扩散

仅仅对图像进行像素和灰度的置乱容易受到选择明文的攻击,攻击者可以选择单个像素点的变化,而得到像素位置变化的对应关系,而扩散机制的引入则可以很好地避免这一弱点,良好的扩散机制不仅可以使明文的一位灰度值发生变化时能够迅速的引起其后的所有灰度值发生变化,有效地抵御差分攻击,而且还能起到很好的灰度置乱作用。为此,引入如下扩散公式:

式中:P(k)——待处理的像素值,c(k一1)——上一个处理过的像素的灰度值,D——扩散因子,x0——初始密钥面控制生成;N——灰度级。

4、图像文件加密和解密过程

根据以上分析,可得到图像文件加密的基本流程,如图2所示。

加密步骤描述如下:

设图像像素所表示的二维数组为G=(gi)M×N,其中M×N是图像的大小,gi为坐标(i,j)处的像素值。

(1)由Lorenz系统产生初始值,将明文图像按2—1节所示的方法进行像素置乱,置乱后输出图像为G’;

(2)由Logistic系统产生混沌序列并按2—2节的多表代替规则对G’进行灰度置乱,置乱后输出的图像为G”;

(3)对G”进行灰度扩散,输出即为密文图像;出于安全性的考虑可对(2),(3)两步重复多次。

解密过程与加密过程相似,其中扩散的逆变换公式为:

三、模拟实验及性能分析

1、实验结果

本文的实验平台为Matlab7.0,选取256×256的Lena灰度图像进行实验。其中Lorenz系统的密钥(x0,λ,d,s)=(0.42,10的10次方,3,300),面为初始值。Logistic系统的初始值为0.12345678901234,随机序列S的长度l=2000。

加解密效果如图3所示,其中图3(a)为明文图像,图3(b)为加密后图像,图3(c)是Logistic系统密钥取为0.12345678901235时的解密图像,图3(d)为密钥正确时的解密图像。

2、统计分析

(1)灰度直方图

直方图是图像的重要统计特征,它直观地反映了数字图像的每一灰度级与该灰度级出现频率的对应关系。图4(a)是原始图像(图3(a))的像素灰度直方图,图4(b)则对应密文图像(图3(b))。根据仿真显示,密文与明文的直方图区别很大,密文的直方图分布非常均匀,表明该方案能够有效抵御基于像素值统计的攻击。

式中:cov(x,y))——协方差,D(x)——方差,E(x)——均值,xy——相邻像素的灰度值。

3、差分攻击

通常攻击者会通过图像的一点微小变化,比如只改变一个像素,来观察加密后图像的变化情况,进而发掘明密文之间的关系。为了测试一个像素的改变对整个密文图像的影响,引入如下两个量:像素变化率(NPCR)和归一化平均变化强度(UACI)。对于只有一个像毒声别的两幅密文图像C1和C2,C1(i,j)和C2(i,j)代表两幅图像(i,j)点的像素强度,D是一个和c1,c2同样大小的二值矩阵,若C1(i,j)≠C2(i,j),则D(i,j)=1,否则D(i,j)=0。

4、密钥空间及敏感性分析

(1)密钥空间

在像素置乱阶段,对Lorenz混沌初始条件,散列函数,以及参数见进行穷尽攻击是不可能的,假设对于一个M×N的256级的灰度图像,行变换序列和列变换序列分别有M!和N!种,因此,要加密一个大小为M×N且灰度级为256的图像,可用的初始序列和变换序列有M!×N!种情况。在灰度置乱阶段,由于Logistic混沌随机序列了的引入,当S的长度为L时,理论上有256L个不同的值,同时厶的取值可以是从1到图像向量拉伸的长度M×N,总的组合种类数为:

可见,若把像素置乱与灰度置乱结合起来的密钥空间按照目前的计算条件对其进行穷举攻击是根本不可能的。

(2)密钥敏感性

好的图像加密算法在加密过程中应对密钥非常敏感,密钥的一点细微变化都能引起密文的极大变化,这包括两方面含义:一是加密密钥的细微改变,应使两幅密文图像几乎完全不同;二是解密密钥的细微改变,其解密过程将失败。

仿真实验结果表明,当Logistic系统的初始密钥分别为0.12345678901234和0.12345678901235时,加密后的两幅图像中有99.26%的像素灰度值不相同,密钥的微小变化导致密文几乎完全不同。同样,在解密过程中,密钥的微小变化也会导致解密的失败,如图3,图3(a)为明文图像,图3(b)是初始密钥为0.12345678901234加密图像,图3(c)是解密密钥取为0.12345678901235时的解密图像,从两幅图像看,解密几乎完全失败。因此本文算法在加解密过程中都有良好的密钥敏感性。

小知识之扩散因子

扩散因子:这是一个用于评估期刊影响力的学术指标,显示总被引频次扩散的范围。具体意义为期刊当年每被引100次所涉及的期刊数。

扩散因子=总被引频次涉及的期刊数×100/总被引频次

欢迎访问夏冰加密软件技术博客,您的数据安全知识库和加密技术资讯平台。我们致力于提供最新的加密技术动态、深入的行业资讯以及实用的软件使用技巧,帮助您在数字时代中保护好每一比特的数据。

THE END
1.人工智能51CTO.COM2024-12-17 13:08:20 AI算法图像宇树机器人强化学习代码全面开源,还有训练到仿真和实操手把手教学 一开始,宇树开源的是英伟达Issac Gym平台上的训练代码,这次新增了对MuJoCo模拟仿真的支持。 2024-12-17 13:00:00 训练代码机器人语言游戏让AI自我进化,谷歌DeepMind推出苏格拉底式学习 近日,谷歌DeepMind的研究人员https://ai.51cto.com/
2.数据结构和算法动态可视化网站算法动态模拟网站文章浏览阅读217次。VisuAlgo_算法动态模拟网站https://blog.csdn.net/weixin_44142151/article/details/111559494
3.自考《电子商务网站设计原理》实践考核模拟题汇总自考摘要:本文为大家提供自考《电子商务网站设计原理》实践考核模拟题汇总,对自考《电子商务网站设计原理》专业实践考核的题型还不清楚的小伙伴赶紧做做题练练手吧! 本文为大家提供自考《电子商务网站设计原理》实践考核模拟题汇总,对自考《电子商务网站设计原理》专业实践考核的题型还不清楚的小伙伴赶紧做做题练练手吧! https://www.educity.cn/zikao/145537.html
4.MaterialsStudio建模与材料模拟计算工作站方案2021v4重点(1)Materials Studio材料模拟软件计算特点 (2)Materials Studio三维建模/可视化硬件配置推荐 (3)Materials Studio量子力学工作站硬件配置推荐 (4)Materials Studio分子力学与分子动力工作站硬件配置推荐 (一)Materialshttp://www.xasun.com/article/b5/2464.html
5.python使用rsa加密算法模块模拟新浪微博登录pythonpython使用rsa加密算法模块模拟新浪微博登录 PC登录新浪微博时,在客户端用js预先对用户名、密码都进行了加密,而且在POST之前会GET一组参数,这也将作为POST_DATA的一部分。这样,就不能用通常的那种简单方法来模拟POST登录(比如人人网)。 通过爬虫获取新浪微博数据,模拟登录是必不可少的。https://www.jb51.net/article/46053.htm
6.上海自考数字媒体艺术概论(14265)自学考试大纲2.领会运用数学规律或算法模拟自然规律生成形状,3D 打印技术能够将其从虚拟变为现实。 3.领会 3D 打印技术的应用领域,识记典型艺术家和作品。 (十二)数字媒体软件与设计 领会数字媒体软件的概念,识记其 5 个类别,以及每个类别所包括的主要设计软件及其特点和应用。 https://www.zikaoben.cn/n/e-9719833081.html
7.人脸识别让寻亲不再是大海捞针人脸识别+人脸模拟算法 缩小寻亲范围 “人工智能在帮助寻亲方面的优势不言而喻。”第十三届全国人大代表、宝贝回家寻子网创始人张宝艳对此充满期待。她说:“以前寻亲,只能一张张翻看、对比照片,当看过成千上万张照片时,人就迷糊了,准确率低。目前,我们网站已登记超过8万份走失者资料,利用人工智能,能够瞬间从这些资https://news.cctv.com/m/a/index.shtml?spm=C94212.P4wBUp7E2r8M.S73105.32&id=ARTIN5DpZaSaXUoDBs0pc8d8190610
8.盘点程序员常用的15个宝藏级网站,强烈建议收藏!GitHub作为最知名的开发者网站,本身是一个面向开源及私有软件项目的托管平台,可以在上面搜到许多优秀的开源项目,包括Apple、Google、Microsof等很多知名互联网公司,都在上面开源过自己公司的项目。 3、VisuAlgo VisuAlgo创建于2011年,是一个数据结构和算法动态可视化网站。里面包含了程序员必学的数据结构和算法,比如排序https://zhuanlan.zhihu.com/p/659846831
9.简单模拟算法(1)viewts简单模拟算法(1) 使用过python的pyautogui库的应该都知道官方文档有一个这样的例子: 源码如下: 1importpyautogui23distance = 2004whiledistance >0:5pyautogui.dragRel(distance, 0, duration = 0.5)#右6distance -= 107pyautogui.dragRel(0, distance, duration = 0.5)#下8pyautogui.dragRel(-distance, 0https://www.cnblogs.com/viewts/p/11070314.html
10.旧金山大学数据结构与算法可视化网站Basics Stack: Array Implementation Stack: Linked List Implementation Queues: Array Implementation Queues: Linked List Implementation Lists: Array Implementation (available injavaversion) Lists: Linked List Implementation (available injavaversion) Recursion https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
11.神经网络计算机器学习计算遗传算法模糊计算群智能计算当然,智能计算的这些不同研究领域和算法各有各的特点,虽然它们具有模仿人类和生物智能的共同点,但是在具体实现方法上还存在一些不同点。例如人工神经网络模仿人脑的生理构造和信息处理的过程,模拟人类的智慧;模糊计算模仿人类语言和思维中的模糊性概念,也是模拟人类的智慧;进化计算模仿生物进化过程和群体智能过程,模拟大https://www.chinaagv.com/news/detail/201901/7763.html
12.遗传算法原理及其应用.pdf用心打造免费、绿色、专业、海量的教育文库网站 本文档来源于第一文库网:/view/9713DE425B686CA 3.html 二. 遗传算法简介 遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化 概率 搜索算法。 2.1 遗传算法概要 对于一个求函数最大值的优化问题(求函数最小值也类同),一般可描述为下述https://max.book118.com/html/2021/0226/7161120004003061.shtm
13.科学网—CodingandPaperLetter(六十九)40.WebAssembly随机模拟算法 wassa 41.使用python和matplotlib进行科学可视化的开放式访问书。 scientific visualization book 42.一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac。 baidu netdisk downloaderx 43.hugo网页主题whisper。 hugo whisper theme https://blog.sciencenet.cn/blog-3247241-1194852.html
14.操作系统虚拟存储管理页面置换算法该程序主要实现了FIFO算法来模拟页面置换过程。 首先,定义了几个常量和结构体,包括页表项和页表项链表的结构。 初始化函数initialize用于初始化页表项和页表项链表,并设置了空闲页面帧和正在使用的页面帧的头节点。 FIFO函数实现了FIFO算法的页面置换过程。该算法的思想是,若所需页面不在内存中,则将内存中的最早进入https://developer.aliyun.com/article/1410793
15.算法如何确定图(Graph)里有没有环(Cycle)?人肉模拟运行算法 我们来找两个例子,按照算法模拟运行一下。 第一个例子 先看图一,图一中节点1,2,3的度是2,节点4和5的度是3,而节点6和7的度是1。 那首先,我们要把节点6和7放到队列里。 然后将节点6弹出,把和节点6相邻的节点5的度减一。从图上,就相当于擦掉了节点5和节点6之间的边。按理说此时节点https://cloud.tencent.com/developer/article/1825193
16.机器博弈(三)虚拟遗憾最小化算法如果不能遍历计算机所有节点的遗憾值,那么可以采用虚拟遗憾最小化算法来进行模拟计算。 假设: 集合 是博弈中所有玩家所能采用的行为集(如在石头-剪刀-布游戏中出石头、出剪刀或出布三种行为) 为信息集,包含了博弈的规则以及玩家采取的历史行动,在信息集 https://www.jianshu.com/p/ad4f121b69ef
17.优化算法黑洞模拟算法(MVO)含Matlab源码479期多元宇宙优化算法(Multi-Verse Optimizer,MVO)是Seyedali Mirjalili等于2016年提出的一种新型智能优化算法[1]。它基于宇宙中的物质通过虫洞由白洞向黑洞进行转移的原理进行模拟。在MVO算法中,主要的性能参数是虫洞存在概率和虫洞旅行距离率,参数相对较少,低维度数值实验表现出了相对较优异的性能。 1 算法原理 该算法主https://sdk.cn/details/DJRrM6gmd43y8eo4mE
18.面向国产神威超级计算机的分子动力学模拟算法优化因此,对分子动力学相关的模拟算法的优化研究势在必行。本文的主要工作是以分子动力学模拟软件大规模原子/分子并行模拟器(Large-scale Atomic/Molecular Massively Parallel Simulator,LAMMPS)为切入点,在国产神威系列超级计算机上进行分子动力学模拟算法的优化研究。首先,本文在“神威·太湖之光”超级计算机上对LAMMPS中的http://cnki.nbsti.net/KCMS/detail/detail.aspx?filename=1022025486.nh&dbcode=CDFD
19.LoRaWAN网络服务器算法下行路径选择算法对比与仿真(下)算法一仅判断信号质量,不判断负载情况,最右处网关在已有17.5%的上行负载时依然需要处理26.9%的下行负载。 算法二在上一个模拟场景中暴露出负载权重过大的缺陷,本场景中未改变负载权重。可以看出相对于算法一,算法二由于网关负载在加权求和的算法中占有一定权重,已经起到了一定效果,将网关4的下行负载降低了一些,但是在https://www.elecfans.com/d/2405920.html
20.PG·麻将胡了(试玩游戏)官方网站·模拟器·模拟器今日发布『模拟器pg麻将胡了』腾辉推荐支持:64/128bit系统类型:体育APP|今日发布现在下载,新用户还送新人!此款游戏是一款好玩的休闲益智类游戏,游戏的画面很是精致,简简单单的操作方法,玩家可以将方块堆到上面,很是考验玩家反应力,玩起来http://zmt666.com/
21.飞行器水载荷结构完整性数值模拟现状与展望南京航空航天大学孙建红团队[108]采用LS-DYNA的ALE算法模拟了带气囊直升机的水上迫降过程(图17),并分析了入水速度、姿态角和气囊安装位置对冲击过载的影响。结果表明:下沉速度对冲击载荷影响显著,而水平速度对冲击载荷影响较小;加装气囊能降低入水的冲击加速度峰值;最佳入水迎角为8°。 https://www.fx361.com/page/2021/0616/11519482.shtml
22.pg模拟器(试玩游戏)官方网站·模拟器/试玩平台【信誉推荐】pg模拟器试玩入口支持:64/128bit,系统类型:pg模拟器试玩入口App官方下载(2024全站)最新版本9.17.18(?安全平台)pg模拟器试玩入口是一家提供绿色安全应用与游戏的安全下载市场,商店上汇聚了海量更新更全的ios-Android软件,ios-Androidhttp://qyslw.gsetc.com.cn/