常用图像加密技术-流密码异或加密

异或加密是最常用的一种加密方式,广泛的适用于图像处理领域。这种加密方式依据加密密钥生成伪随机序列与图像的像素值进行异或操作,使得原像素值发生变化,进而使得图像内容发生变化,达到保护图像内容的目的。

该加密方法是以图像的像素为基本操作单位,改变像素值,改变图像像素间的相关性,但是像素的位置没发生变化。异或加密是最常用的一种加密方式,广泛的适用于图像处理领域。这种加密方式依据加密密钥生成伪随机序列与图像的像素值进行异或操作,使得原像素值发生变化,进而使得图像内容发生变化,达到保护图像内容的目的。该加密方法是以图像的像素为基本操作单位,改变像素值,改变图像像素间的相关性,但是像素的位置没发生变化。

设未压缩的原始灰度图像的像素值分布在0~255之间,也就是说该图像的每个像素值P(i,j) 均可以用8位二进制来表示,其中*(i,j)* 表示该像素在图像中的位置,如图像像素值为147,那么用二进制表示就是10010011,若该像素值的第k 个比特位用*P(i,j,k)*表示,那么像素可以用以下公式表示:

(1)

(2)

根据加密密钥生成伪随机序列R(i,j,k) 也是8位二进制,且生成的大小与图像大小一样,将其与像素值二进制*P(i,j,k)*根据公式3进行异或。

(3)

上式中P(i,j,k) 表示图像的各平面二进制,R(i,j,k) 是根据加密密钥生成的二进制,其大小与图像二进制相同,*B(i,j,k)*表示异或得到新的二进制序列,根据公式2将其转换成十进制,由此得到新的像素值,异或加密的效果如图所示。

由于密钥生成的序列是随机的,也就表示生成的序列是毫无规律的,那么与像素值异或得到新的像素值,也是毫无规律,异或加密后,不仅使得像素值发生变化,而且也打乱了像素间的相关性,使得其失去一般规律性,由此得到保护图像内容的安全,统计了图像加密前后的像素直方图分布,如下图所示。从中可以看出,原始图像的像素分布呈现一定的错落,而异或加密后,像素分布呈现出非常规律的均衡化,较平均的分布在[0,255],说明各像素异或后随机分布且像素值发生了变化,异或加密能有效的保护图像信息内容安全。

相关推荐
Young_Zn_Cu27 分钟前
LeetCode刷题记录(持续更新中)
算法·leetcode
天选之女wow32 分钟前
【代码随想录算法训练营——Day31】贪心算法——56.合并区间、738.单调递增的数字、968.监控二叉树
算法·leetcode·贪心算法
lixinnnn.35 分钟前
贪心:火烧赤壁
数据结构·c++·算法
小小前端_我自坚强38 分钟前
前端算法相关详解
前端·算法
szxinmai主板定制专家40 分钟前
基于 ZYNQ ARM+FPGA+AI YOLOV4 的电网悬垂绝缘子缺陷检测系统的研究
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
聚客AI1 小时前
🌈提示工程已过时?上下文工程从理论到实践的完整路线图
人工智能·llm·agent
前端 贾公子1 小时前
《Vuejs设计与实现》第 5 章(非原始值响应式方案)下 Set 和 Map 的响应式代理
数据结构·算法
C嘎嘎嵌入式开发1 小时前
(二) 机器学习之卷积神经网络
人工智能·机器学习·cnn
文心快码BaiduComate1 小时前
开工不累,双强护航:文心快码接入 DeepSeek-V3.2-Exp和 GLM-4.6,助你节后高效Coding
前端·人工智能·后端
AI小云1 小时前
【Python与AI基础】Python编程基础:函数与参数
人工智能·python