这是本菜鸡在《信息隐藏》中实现的图像加密,选用的是logistics混沌加密算法,希望对你的课设或项目有所帮助

文章目录

  • 基于Logistic映射混沌加密算法
    • 逻辑斯蒂(Logistic)模型
    • 特点
  • 二、混沌加密流程图
  • 三、具体实现
    • 四.核心代码实现
      • **logistic迭代函数**
      • 对图片帧的像素的加密函数
    • 五.静态图片加密演示
      • 程序界面
      • 加密过程
      • 解密过程
  • 六、动态图片加密
  • 七、总结
    • logistics算法优点
    • 程序实现中出现的问题

基于Logistic映射混沌加密算法

逻辑斯蒂(Logistic)模型


其中,参数μ∈(0,4],Xn∈(0,1),当3.5699…<μ≤4时,系统处于混沌状态,混沌系统是指在一个确定性系统中,存在着貌似随机的不规则运动,其行为表现为不确定性、不可重复、不可预测,这就是混沌现象

特点

其中,0<u ≤4称为分支参数,Xn+1 ∈(0,1)。当 1≤u < u1=3.0时 ,系统的稳态解为不动点 即周期 1解 ;当 u=u1=3.0时 ,系统 的稳态解由周期 1变为周期 2,这是二分叉过程 ; 当u=u 2=3.449489时 ,系统 的稳态解 由周期 2 分叉为周期 4;当 u= u3=3.544090时,系统 的稳 态解由周期 4分叉 为周期 8;当 达到极限值 u=3.5699456时 ,系统的稳态解是周期 2 解 ,即 3. 5699456<u ≤4时 ,logistic映射呈现混沌状态。

u=4时的特点
随机性:当 b:4时,Logistic映射在有限迭 代 内不稳定运动 ,随后其长时间的动态行为将显示 随机性质 。
规律性:尽管 |Xn|体现出随机性质 ,但它是由确定性方程导出的,初值 x0确定后 Xn便 已确定 ,即其随机性是 内在的,这就是混沌运动的规律性
遍历性:混沌运动的遍历性是指混沌 变量 能在一定范 围内按其 自身规律不重复地遍历所有 状态。
对初值的敏感性:初值 x0的微小变化将 导致序列 {Xn}远期行为的巨大差异。
具有分形的性质:混沌的奇异吸引子在微 小尺度上具有与整体 自相似的几何结构。

二、混沌加密流程图

三、具体实现

四.核心代码实现

logistic迭代函数

private static double logistic(double u, double x, int n){for (int i = 0; i < n; i++){x = u * x * (1 - x);}return x;}

对图片帧的像素的加密函数

public static Bitmap Encrypt(Bitmap src, double u, double x0){Bitmap dest = new Bitmap(src.Width, src.Height);int temp =Convert.ToInt32(3141 * u*u*u);double x = logistic(u, x0, temp);int key=0;for (int i = 0; i < src.Width; i++){for (int j = 0; j < src.Height; j++){Color srcColor = src.GetPixel(i, j);x = logistic(u, x, Convert.ToInt32(u*u));key = Convert.ToInt32(Math.Floor((Math.Sqrt(x) * temp)) % 256);int r = key ^ srcColor.R;//红色组件值x = logistic(u, x, Convert.ToInt32( Math.Sqrt(u)));key = Convert.ToInt32(Math.Floor(Math.Sqrt(x) * temp)) % 256;int g = key ^ srcColor.G;//绿色组件值x = logistic(u, x, Convert.ToInt32(u));key = Convert.ToInt32(Math.Floor(Math.Sqrt(x) * temp)) % 256;int b = key ^ srcColor.B;//蓝色组件值dest.SetPixel(i, j, Color.FromArgb(r, g, b));//基于指定的(红色、绿色和蓝色)创建 Color 结构}}return dest;}

五.静态图片加密演示

程序界面


参数U和X直接影响输出图像,相当于加密的私钥

加密过程

解密过程


解密需要用加密时的参数

六、动态图片加密

主要思想是先将GIF图片拆分成图片帧再分别对每个图片的像素进行加密,最后将图片帧以原GIF图片的帧延迟合并起来成新的加密后的GIF图片,解密同理

七、总结

logistics算法优点

1)安全性高: 混沌系统对初始值和参数非常敏感 ,可以提供 很大的密钥集合 ,完全满足加 密的需要 ,通过对混 沌系统生成的二进制序列进行检验 ,0和 1的分布 均匀,游程符合随机数要求 ,可以认为是随机序列 , 而且混沌加密属于流密码 ,对分组加密的攻击方法 是无效的,同时对选择 明文密文攻击方法 ,由于混 沌的单 向性和混沌信号的迭代处理 ,异或操作后密 钥流的推断几乎不可能
2)代价小:算法的代价包括时间代价和空间代价,时间代 价又分为准备时间和加密时间。通常 ,加密前的准 备时间主要是用来完成生成子密钥,加密时间主要 是在子密钥 的控制下对明文数据进行变换 ,混沌加 密属于流密码的范畴 ,它的准备时间非常短 ;加密 时由于只对数据的各个位进行异或操作 ,其时间主 要花费在密钥流的生成操作上 ,相对于 目前流行的 分组加密算法 ,其时间花费也是很少的。空间代价 分为算法实现的静止空 间和运行态空 间 L。静止 空问指算法变成程序后本身所 占用的空间 ,一般表 现为执行代码 的长度。运行态空间指在加密过程中算法所需要 的临时空间。混沌加密算法没有 s — box空间,临时变量也比较少,而且 ,它通过循环 产生密钥流 ,循环过 程中需要寄存的变量有限 ,因 此,其运行 时占用 的空间很少 ,在空间代价上是 比 较优秀的
3)易于实现 混沌加 密算法其加密和解密过程是可以重用 的,这样其所 占用 的空间大大缩小 它的软件和硬 件实现特性都 比较好。

程序实现中出现的问题

对于静态图片的加解密在功能实现上是没有问题的,但是对GIF加密图像解密后不能完全还原,解密出来的图片有噪点问题,该问题应该是在分解或合成图片时出现的,使用的相关函数是从网络中找的,自己写的加密算法本身没有问题

C#实现基于Logistic映射混沌加密算法(可加密静态图片和动态图片)相关推荐

  1. 混沌序列 java,基于Logistic映射混沌加密算法的研究_韩凤英

    第7卷第1期长沙航空职业技术学院学报 Vo1.7No .1 2007年3月 CHANGS HA AERO NAUT I CAL VOCATI ONAL AND TECHN I CAL COLLEGE ...

  2. aes解密流程图_基于AES和混沌的图像加密方法与流程

    本发明涉及一种信息加密技术,特别是涉及一种图像加密方法. 背景技术: 在军事系统.电子政务.金融系统以及日常生活等领域,每天都会产生大量的图像.为保护这些图像信息内容不被窃取,图像加密技术引起了学术界 ...

  3. 基于MATLAB的混沌密码与数字图像加密应用、信息隐藏

    基于MATLAB的混沌密码与数字图像加密应用.信息隐藏 实验目的:利用Matlab软件基于Logistic映射的加密算法对图像进行加密和解密,以及利用DEV C++软件.Excel表格绘制图像基于Lo ...

  4. 混沌加密算法python_基于混沌Logistic加密算法的图片加密与还原

    摘要 一种基于混沌Logistic加密算法的图片加密与还原的方法,并利用Lena图和Baboon图来验证这种加密算法的加密效果.为了能够体现该算法在图片信息加密的效果,本文还采用了普通行列置乱加密算法 ...

  5. 基于 Logistic 混沌映射和 Arnold 变换 的变换域水印改进算法【高级网络与信息安全技术-信息隐藏期末课程论文】

    基于 Logistic 混沌映射和 Arnold 变换 的变换域水印改进算法 摘要 1 简介 1.1 Arnold 变换 1.2 Logistic 混沌映射 1.3 DCT 变换 1.4 PSNR 和 ...

  6. 基于Logistic混沌序列和DNA编码的图像加解密算法仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 离散的Logistic映射对初值和结构参数的改变具有极端的牧感性,在一定条件下能够产生混沌,并且产生的混沌序列具有类白噪声统计 ...

  7. 混沌加密 matlab,MATLAB,简单的Logistic混沌加密算法原理

    上课要学习MATLAB,然后搞各种图像问题,头都大了,这里分享一个简单的Logistic混沌加密算法,其实这个算法的核心是很简单的,只是几个逻辑操作就完成了. 先说一下原理吧 这里先不谈这个算法问题, ...

  8. 【图像加密】基于Logistic混沌图像加密与解密Matlab代码

    1 简介 当今时代,科学技术发展迅猛,网络成为人们获取成为人们获取多媒体数字信息的主要渠道,数字图像作为日常交流的主要传输媒介,更是承担着信息传递的重任.保证信息在传播过程中的安全性和完整性便成了目前 ...

  9. 基于Logistic混沌序列图像加密

    Logistic映射方程形式如下: X k + 1 = u X k ( 1 − X k ) , ( k = 1 , 2 , 3 - ) X_k+1 = uX_k ( 1- X_k),(k=1,2,3- ...

最新文章

  1. 不同硬件协议类型,相同的理解思路
  2. python split()
  3. 【机器学习基础】说模型过拟合的时候,说的是什么?
  4. android中字符串转换成整型
  5. FtpWebRequest.UsePassive属性:设置FTP工作模式
  6. response.setContentType()的作用及MIME参数详解
  7. ScrollView嵌套EditText联带滑动的解决办法
  8. paros web中间件攻击、扫描、监控
  9. 实现背景透明的方法,兼容ie6/7/8等浏览器
  10. 深度优先搜索——全排列(洛谷 P1706)
  11. aws s3 静态网站_使用AWS S3存储桶启动静态网站
  12. GoLand 快速入门教程
  13. 跨域问题的一次深入研究
  14. 精华阅读第7期|程序员职业人生规划的三点建议
  15. 2018 推荐系统总结
  16. Audiophobia(Floyd算法)
  17. 如何在IOS上玩gba游戏(免越狱)
  18. 利用Oracle RDA( Remote Diagnostic Agent)快速收集Oracle产品分析数据
  19. Unity Shader 玻璃材质
  20. leetcode 385. 迷你语法分析器

热门文章

  1. 无表单不业务,动态表单让业务系统更高级
  2. DBUtils学习记录(传智播客视频)
  3. VUE3集成Markdown编辑器(http://editor.md.ipandao.com/)
  4. [内附完整源码和文档] 基于JAVA的酒店住宿管理系统
  5. Kaptcha-验证码使用及扩展
  6. ❤️AI 从入门到精通❤️
  7. CHINA-PUB 网上书店购书优惠券
  8. 最新nod32 for windows2003
  9. 电驱动机电一体化仿真
  10. Android 淘气三千传之 —— 插件化的一点理解(上)