像素比特行列置乱加密算法安全性分析

news2024/9/21 18:49:44

比特行列置乱加密

将M×N大小的灰度图像每个像素值转换为8bit二进制,得到M×8N大小的二值图像。
基于加密秘钥,生成随机序列TM和TN分别对二进制图像的行列进行置乱,生成置乱加密后的图像。
图1.得到M×8N大小的二值图像
Logistic混沌序列加密:

在这里插入图片描述

选择明文攻击过程

文献【2】与文献【1】主要内容有了攻击方法的不同,文献【2】采用选择明文攻击,用了9张构造的特殊图像进行加密后攻击,利用图像的特殊特性可以有效的预测得到原始密钥。下图是在对行置乱序列TM进行预测所构造的明文的过程,将比特化后的白色图像每一行的某几位比特进行“0”赋值,例如第一行赋一个比特为“0”,第二行赋两个比特为“0”,以此类推。原则是明了每行“0”的个数,并且遍历每行。

1.构造明文

构造明文的原理
下图是选择明文攻击构造的9张明文:
构造明文

对构造的明文进行行列置乱加密并估计置乱秘钥

下图为将构造的明文行列置乱加密后得到的密文。利用构造的明文和对应的密文估计置乱秘钥。
在这里插入图片描述

步骤1:比较原始比特图像和加密图像每一行“1”的个数,把只有唯一“1”个数的行下标记录在集合R中。
步骤2:如同步骤1,比较原始比特图像和加密图像每列“1”的个数,并把唯一“1”个数列下标记录在集合C中。

在这里插入图片描述
步骤3:取出原始比特矩阵中有唯一“1”个数的行,构成一个中介矩阵,把该矩阵和从加密矩阵中取出所对应R集序号的矩阵进行比较,把加密矩阵完全相同的列数存入集合C。
步骤4:同3,取出原始比特矩阵中唯一“1”个数的列,构成一个中介矩阵,把该矩阵和从加密矩阵中取出所对应C集序号的矩阵进行比较,把加密矩阵完全相同的行数存入集合R。

在这里插入图片描述
步骤5:由于上述1234步每次取都是取唯一相同的行或列,只操作一轮矩阵中肯定存在其余无法确定的行和列,因为存在有若干行列“1”的个数会相同。 比如:1、2步有相同“1”的个数的行列;3、4步对于R\C有相同的行列。 所以第5步需要重复3步和第4步,直到集合R、C不再增加,即可得到加密置乱矩阵。
在这里插入图片描述
利用该算法,在对加密图像进行已知明文攻击时,所需要的明文密文对不需太多,并且效果较好

实验结果

测试图像及加密图像
下表表示了文献【1】分别用airplane、pepper图对baboob进行攻击每一步后R、C得到的正确行列长度,并且计算了在此时其与最大行列的比率,也即表示预测正确率。结论:对R进行预测时,往往在第3步时就能得到所有正确置乱序号。对C进行预测时,由于列数多,第一步正确率较少,但在第二步就能得到大部分正确序号。
在这里插入图片描述
文献【1】、【2】中介绍的行列置乱加密图像和随机置乱加密图像比较,有明显的图像特征,因此有较大的安全隐患。
在这里插入图片描述

结论

对于行列置乱,无论在最初TM,TN迭代多少次,本质上都只是矩阵的变换:
在这里插入图片描述
其安全性并不会随着迭代次数增多而增强…因此通过将行列置乱通过【3】可知,无论是仅仅只对像素进行该置乱,还是将图像比特化后进行该置乱,该加密方案并不是一个较安全的方案。

参考文献:

【1】Li C , Lin D , Lü, Jinhu. Cryptanalyzing an Image-Scrambling Encryption Algorithm of Pixel Bits[J]. IEEE Multimedia, 2016, 24(3):64-71.
【2】Zhao L , Adhikari A , Xiao D , et al. Cryptanalysis on an Image Scrambling Encryption Scheme Based on Pixel Bit[C]// Digital Watermarking - 9th International Workshop, IWDW 2010, Seoul, Korea, October 1-3, 2010, Revised Selected Papers. Springer-Verlag, 2010.
【3】 Li, Shujun , et al. “A general quantitative cryptanalysis of permutation-only multimedia ciphers against plaintext attacks.” Signal Processing: 23.3(2008):212-223.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Node内置模块 【path模块】

文章目录 🌟前言🌟path模块🌟引用模块🌟常用属性🌟path.sep🌟在MacOSX、 Unix、Linux操作系统上:🌟在 Windows 上: 🌟常用方法🌟将路径转换为对象…

【python视图1】networkx操作Graph图

一、说明 数据可视化需要显示种种数据,matplotlib负责曲线类画图,然而类似于图论的操作用什么方法。这里用networkx程序包完成。本文专门介绍这种程序包的用法。 二、生成图(Creating a graph) 2.1 创建一个没有节点和边的空图。…

Linux:centos 7:查看运行级别 控制init运行级别 已安装图形化以后设置开机进入图形化或命令行

0 target 关机状态,使用该级别时将关闭主机 1 rescue.target 单用户模式,不需要密码验证即可登录系统,多用于系统维护 …

HTTP 的工作原理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、简单 HTTP二、HTTP 连接请求 I请求Ⅱ 持久 HTTP并执行 HTTP默认浏览器连接设置总结 前言 在处理 Web 性能监控或优化时,了解 HTTP 协议的基础知…

leetcode每日一题——美团笔试题【3】

第一题: 股票的最大利润 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 1)的时候买入,在…

UWB隧道人员定位技术应用,施工作业安全精准保障

隧道施工的安全不仅关系到工程项目的质量和施工效率,也关系到我国的资金安全、施工人员和人民的生命财产安全。如何有效加强隧道施工的安全管理能力,成为隧道施工企业管理者最关心的问题。国家铁道局在《关于加强铁路隧道工程安全工作的若干意见》中指出…

人力资源软件的六个功能,你知道吗?

企业组织越来越多地转向通过人力资源软件来简化他们的人力资源运作。在疫情开始后,人力资源软件的采用尤其迅猛,因为组织希望无缝地管理他们的远程和混合员工。根据SkyQuest的调查人力资源技术市场预计到2028年将达到356.8亿美元。 如果您正在考虑采用人…

面试题思路分享以及延伸问题探讨三

面试题思路分享以及延伸问题探讨 1.前言2. 环形链表初阶2.1 审题2.2 代码实现以及紧急情况的处理方法2.3 延伸问题2.3.1 为什么slow和fast一定会遇上?2.3.2 走n步会是什么样的情况? 3. 环形链表进阶3.1 审题3.2 代码实现3.3 方法二:相交链表法 4. 复制带随机指针的链表4.1审题…

vue3组件二次封装Ui处理

vue 组件二次封装Ui处理 vue 组件二次封装Ui处理 在Vue开发中,我们常常需要使用UI框架提供的组件。但是UI框架的组件可能并不符合我们的需求,这时候就需要进行二次封装。下面是一些关于Vue组件二次封装Ui处理的技巧: 常规时候咱们使用组件…

深元AI盒子在矿山安全生产中实现皮带跑偏、异物、煤流量、大块煤等识别

摘要:随着技术的发展,矿山安全生产已经从传统的人工监测逐步转向现代化智能化。本文旨在探讨矿山安全生产AI盒子在皮带跑偏、异物、煤流量和大块煤之外的功能,以期进一步提高矿山生产的安全性和效率。 正文: 一、引言 矿山安全生…

【获奖案例巡展】信创先锋之星——中信证券基于国产图数据库构建企业图谱的应用实践

为表彰使用大数据、人工智能等基础软件为企业、行业或世界做出杰出贡献和巨大创新的标杆项目,星环科技自2021年推出了“新科技 星力量” 星环科技科技实践案例评选活动,旨在为各行业提供更多的优秀产品案例,彰显技术改变世界的力量&#xff0…

vue2、vue3实现暗黑模式

1、序言 elementPlus、naive UI这些UI组件里面封装好了暗黑模式,直接使用相关api即可实现暗黑模式切换功能,而elementUI没有封装好,我们可以看看elementPlus、naive UI如何实现暗黑模式,然后在elementUI中模仿,从而实现…

【C++】模板初识

C模板初识 1.泛型编程2.函数模板2.1.函数模板概念2.2.函数模板格式2.3.函数模板使用的原理2.4.函数模板的实例化2.5.模板参数的匹配原则 3.类模板3.1.类模板格式3.2.类模板的实例化 1.泛型编程 在实际编程中,经常会用到交换函数。比如有整型值的交换,浮…

Nacos 鉴权系统源码讲解

目录 1. 介绍 2. Nacos SPI 鉴权机制 3. 后台管理 / HTTP 接口鉴权 4. 客户端 / GRPC 接口鉴权 1. 介绍 鉴权功能默认没有开启,开启后的效果就是 Nacos 的接口需要用户登录并且具有权限才能调用该接口。例如注册实例、发布配置等。 鉴权也就是 我是谁、我能干…

探讨接口测试颗粒度

偶然间在论坛上看到一个帖子,帖子内容如下: 假设现在有一个新增商品的接口,返回的参数中有新增商品的 id(每次返回的 id 都不一样)、success(判断是否成功,0 失败 1 成功) 1. 接口…

代码随想录之对称二叉树

本内容来自代码随想录 使用后序遍历。 class Solution { public:bool traversal(TreeNode* left,TreeNode* right){//处理空节点情况if (left nullptr && right ! nullptr) return false;else if (left ! nullptr && right nullptr) return false;else if …

Python人工智能之混合高斯模型运动目标检测详解分析

搬运工项目,换个平台纪录,之前的广告太多 运动目标检测是计算机视觉领域中的一个重要内容,其检测效果将会对目标跟踪与识别造成一定的影响,本文将介绍用Python来进行混合高斯模型运动目标检测,感兴趣的朋友快来看看吧 …

4.2寸黑白红TFT电子标签【基站版】

ESL_TFT_4.2_V4 产品参数 产品型号 ESL_TFT_4.2_V4 尺寸(mm) 101.7*84.4*6.5mm 显示技术 TFT反射式 显示区域(mm) 84.8(H) * 63.6(V) 分辨率(像素) 400*300 像素尺寸(mm) 0.212x0.212 显示颜色 黑/白/红 视觉角度 45/45/60/60 工作温度 -20-70℃ 产品重量…

Spring6从入门到精通 第一章 带你玩转Spring

这里写目录标题 一 Spring框架产生的原因二 Spring6配置的关键环节 一 Spring框架产生的原因 传统的JavaWeb存在着耦合度较高的问题,而且实现完整的的MVC三层架构,开发成本过大,因此出现了Spring这个轻量级的开发框架,相当于建筑里…

C++初阶之命名空间的使用

目录 前言 命名空间的介绍 1.1 命名空间的定义 1.2 命名空间的使用 C输入&输出 总结: 前言 今天小编就给大家带来C的相关内容了,相对于C语言而言C的语法会比较复杂一点点,但是我相信大家通过自己的努力,也会很快的上手…