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

ops/2025/3/26 13:16:32/

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

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

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

P(i,j,k)=\left\lfloor \frac{P(i,j)}{​{​{2}^{k}}} \right\rfloor \bmod 2,\text{ k=0,1,}\cdot \cdot \cdot \text{7}      (1)

P(i,j)=\sum\limits_{k=0}^{7}{P(i,j,k)\times {​{2}^{k}}}                                (2)

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

B(i,j,k)=P(i,j,k)\oplus R(i,j,k)        (3)

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

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


http://www.ppmy.cn/ops/22704.html

相关文章

PhaGCN2:病毒聚类

https://github.com/KennthShang/PhaGCN2.0 安装 mamba create -n phagcn2 python3.9 numpy pytorch networkx2.5 pandas mcl14.137 diamond0.9.14 biopython1.78 scipy1.5.2 conda activate phagcn2 git clone https://github.com/KennthShang/PhaGCN2.0cd database tar -zx…

浏览器的本地存储---localstorage

web存储对象 Web 存储对象 localStorage 和 sessionStorage 允许我们在浏览器上保存键/值对。 这两个对象保存再本地(客户端),允许保存至少 5MB 的数据(或更多),这些数据不会因为页面刷新而销毁&#xff0…

QT5之lambda

使用lambda需要 配置c11 所以在点.pro文件里面配置添加如下 CONFIG c11 使用到qDebug 打印包含头文件 #include<QDebug> lambda 表达式使用 代替槽如下 #include "mainwidget.h" #include<QPushButton> #include<QDebug> mainWidget::mainWid…

大厂常见算法50题-替换空格

专栏持续更新50道算法题&#xff0c;都是大厂高频算法题&#xff0c;建议关注, 一起巧‘背’算法! 文章目录 题目解法一 String类replace方法解法二 遍历替换总结 题目 解法一 String类replace方法 String类自带的replace&#xff0c;方法传入两个char类型的参数&#xff0c;分…

20240428如何利用IDM下载磁链视频

缘起&#xff1a; https://weibo.com/tv/show/1034:4864336909500449 中国获奖独立纪录片《阿辉》揭秘红灯区“教父”的生存法则 5,751次观看 1年前 发布于 陕西 身为里中横 67.7万粉丝 互联网科技博主 微博原创视频博主 头条文章作者 https://weibo.com/tv/show/1034:4864…

VUE3与Uniapp 四 (Class变量和内联样式)

<template><!-- 通过class绑定开启或关闭某个CSS --><view class"box" :class"{box2:true}">box1</view><view class"box" :class"{box2:isActive}">box2</view><!-- 使用三元表达式实现开启关…

从旁氏三盘理论看MEME币崛起

三盘理论是加密韦陀&#xff08;thecryptoskanda&#xff09;提出的一种关于旁氏的认知模型&#xff0c;本文基于此理论来探索三次牛市的原因&#xff1a;MEME币是互助盘&#xff0c;DeFi是分红盘&#xff0c;ICO是拆分盘。 什么是三盘理论 加密韦陀认为&#xff0c;Crypto最…

Vivado-IP-DDS and Testbench Learning

DDS内部结构 实现流程 首先新建一个工程&#xff0c;创建bd文件&#xff0c;添加DDS Compiler核&#xff0c;此处不多赘述 Block Design 在观测输出的信号时&#xff0c;需要将最高位符号位的信号取反&#xff0c;这样才能输出正弦波&#xff0c;否则输出的波形如下图所示 将t…