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

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

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

设未压缩的原始灰度图像的像素值分布在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,说明各像素异或后随机分布且像素值发生了变化,异或加密能有效的保护图像信息内容安全。

相关推荐
冬奇Lab18 小时前
代码库知识库系列(06):把调用图编码进 Embedding——结构增强有效,但不够
人工智能
橘子汽水16818 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
冬奇Lab18 小时前
开源项目第175期:Buzz — Jack Dorsey 的 Block 用 Nostr 重新定义团队协作,AI Agent 拥有自己的加密身份
人工智能·开源·资讯
huameinan狮子18 小时前
Adaboost算法原理与计算实例
算法
AI分享猿18 小时前
游戏原画与建筑灵感:AI图像生成如何服务前期设计
人工智能·游戏
别怪我很水18 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
字节跳动视频云技术团队18 小时前
为什么 AI 视频,需要“懂生成”的画质增强
人工智能
后端小肥肠19 小时前
我做了个能一键搭建个人工作台的 Skill,已开源
人工智能·aigc·agent
码云之上19 小时前
AI Agent 工程化总览篇:从 Prompt 到 Harness
前端·人工智能