基于像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 基于像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

密文域可逆信息隐藏(RDHEI)受到越来越多的关注,因为它可以保护原始图像的内容,同时可以准确地提取嵌入的数据,并且可以无损地重建原始图像。 为了充分利用相邻像素的相关性,本文提出了一种基于像素预测和位平面压缩的RDHEI方案。 首先,将原始图像分成相等大小的块,并计算原始图像的预测误差。 然后,分别执行8个预测误差的位平面的重排和位流压缩。 最后,通过流密码对腾出空间后的图像进行加密,并通过多LSB(最低有效位)替换将附加数据嵌入到腾出的空间中。 实验结果表明,该方法的嵌入能力优于现有方法。

⛄ 部分代码

function [origin_bits] = BitStream_DeCompress(compress_bits,L_fix)

% 函数说明:解压缩比特流

% 输入:compress_bits(压缩比特流),L_fix(定长编码参数)

% 输出:origin_bits(原始比特流)


len_bits = length(compress_bits); %统计压缩比特流的长度

comp_t = 0;%计数,已遍历压缩比特流的长度

origin_bits = zeros(); %用来记录原始比特流

ori_t = 0; %计数,原始比特流的数目

while comp_t<len_bits

   label = compress_bits(comp_t+1); %压缩段的第一个比特值

   %-------------------表示接下来的一段比特流是压缩比特流-------------------%

   if label==1

       L_pre = 0;  %前缀标记位

       for i=comp_t+1:len_bits

           if compress_bits(i) == 1

               L_pre = L_pre+1;

           else

               L_pre = L_pre+1; %前缀标记以0结束

               break;

           end

       end

       comp_t = comp_t + L_pre; %用于记录相同比特流压缩后的前缀部分

       l_bits = compress_bits(comp_t+1:comp_t+L_pre);%用于记录相同比特流压缩后的中间部分

       comp_t = comp_t + L_pre;

       [l] = BinaryConversion_2_10(l_bits); %中间部分的值

       L = 2^L_pre + l; %相同比特流的长度

       bit = compress_bits(comp_t+1);  %用于记录相同比特流的比特值

       comp_t = comp_t + 1;

       for i=1:L %记录原始比特流

           ori_t = ori_t+1;

           origin_bits(ori_t) = bit;

       end

   %----------------表示接下来的一段比特流是直接截取的比特流----------------%

   elseif label==0

       if comp_t+L_fix+1<=len_bits

           comp_t = comp_t + 1; %标记位

           origin_bits(ori_t+1:ori_t+L_fix) = compress_bits(comp_t+1:comp_t+L_fix);

           ori_t = ori_t + L_fix;

           comp_t = comp_t + L_fix;

       else

           comp_t = comp_t + 1; %标记位

           re = len_bits - comp_t;

           origin_bits(ori_t+1:ori_t+re) = compress_bits(comp_t+1:comp_t+re);

           ori_t = ori_t + re;

           comp_t = comp_t + re;

       end

   end

end

⛄ 运行结果

⛄ 复现文献

Reversible Data Hiding in Encrypted Images Based on Pixel Prediction and Bit-Plane Compression DOI: 10.1109/TDSC.2020.3019490

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
2月前
|
存储 SQL 安全
加密后的数据如何进行模糊查询?
在数据安全和隐私保护日益重要的今天,加密技术成为保护敏感数据的重要手段。然而,加密后的数据在存储和传输过程中虽然安全性得到了提升,但如何对这些数据进行高效查询,尤其是模糊查询,成为了一个挑战。本文将深入探讨如何在保证数据安全的前提下,实现加密数据的模糊查询功能。
237 0
|
21天前
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
60 3
|
2月前
|
数据安全/隐私保护 Python
Zipfile学习笔记(二)::通过zipfile模块暴力破解加密的压缩文件
如何使用Python的zipfile模块生成密码表并尝试暴力破解加密的ZIP压缩文件。
38 1
Zipfile学习笔记(二)::通过zipfile模块暴力破解加密的压缩文件
|
27天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:从漏洞到加密,保护数据的关键步骤
【10月更文挑战第24天】在数字化时代,网络安全和信息安全是维护个人隐私和企业资产的前线防线。本文将探讨网络安全中的常见漏洞、加密技术的重要性以及如何通过提高安全意识来防范潜在的网络威胁。我们将深入理解网络安全的基本概念,学习如何识别和应对安全威胁,并掌握保护信息不被非法访问的策略。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你提供宝贵的知识和技能,帮助你在网络世界中更安全地航行。
|
2月前
|
算法 安全 数据安全/隐私保护
加密和解密数据
【10月更文挑战第6天】加密和解密数据
50 2
|
3月前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
95 11
|
3月前
|
数据安全/隐私保护
vuex数据持久化、加密(vuex-persistedstate、secure-ls)
本文介绍了如何在Vuex中使用`vuex-persistedstate`和`secure-ls`库进行数据的持久化和加密,确保在Vite打包上线后,Vuex中的数据安全。
89 1
|
3月前
|
存储 安全 数据库
Uno Platform 安全数据存储秘籍大公开!加密、存储、读取全攻略,让你的数据固若金汤!
在软件开发中,安全的数据存储至关重要。本文介绍如何在跨平台开发框架 Uno Platform 中实现安全数据存储,包括选择合适的数据存储方式(如本地文件或 SQLite 数据库)和使用 Bouncy Castle 加密库对数据进行 AES 加密。通过示例代码展示了数据的加密、存储及解密过程,帮助开发者保护用户敏感信息,防止数据泄露。
45 3
|
2月前
|
安全 数据安全/隐私保护 开发者
保护敏感数据:使用Python加密数据的实用方法
保护敏感数据是一项基本的安全实践,Python通过上述库提供了强大的加密工具来实现这一目标。选择哪种方法取决于具体的应用场景和安全需求:对称加密(如AES)适合快速处理大量数据,而非对称加密(如RSA)更适合安全地交换密钥或进行身份验证。哈希函数则用于验证数据的完整性和一致性。通过合理使用这些技术,开发者可以大大增强其应用程序的安全性。
78 0
|
2月前
|
存储 安全 数据库
Uno Platform 安全数据存储秘籍大公开!加密、存储、读取全攻略,让你的数据固若金汤!
在 Uno Platform 中实现安全的数据存储需要选择合适的数据存储方式,并对存储的数据进行加密。通过加密数据,可以保护用户的敏感信息,防止数据泄露。同时,在读取和使用数据时,需要进行解密操作,确保数据的可用性。希望本文对你在 Uno Platform 中实现安全的数据存储有所帮助。
30 0
下一篇
无影云桌面