像素旋转:一种在加密图像中实现安全的可逆数据隐藏方案

news2024/12/23 16:16:44

文章目录

  • 前言
  • 一、提出的PR-RDHEI方案
  • 二、算法步骤简介
    • 1.图像加密
    • 2.数据嵌入(重点)
    • 3.图像恢复(重点)
  • 总结
  • 收获与思考


前言

原文题目《Reversal of pixel rotation: A reversible data hiding system towards cybersecurity in encrypted images》
发表期刊:JVCIR 中科院三区
发表年份:2022年
发表单位:台湾逢甲大学

随着5G通信和传输技术的成熟,云存储和云计算技术的爆炸式发展,越来越多的用户通过基于云的社交网络应用处理自己的图像。然而,一些未经授权的攻击者可能会在传输过程中拦截和泄露敏感图像数据,造成网络安全漏洞。因此,如何在云环境中保护用户的隐私受到了广泛的关注。图像加密和可逆数据隐藏技术的组合可以作为一种潜在的解决方案,以保护信息隐私,同时启用传输身份验证。图像加密是一种使用加密密钥将明文图像加密为密文图像的技术,只有经过授权的接收方才能解密图像[1]。另一方面,可逆数据隐藏(RDH)可用于将额外的数据(例如身份验证水印)以不可察觉的方式[2]嵌入到图像中。它还允许反转数据嵌入和图像恢复。迄今为止,RDH方案主要基于差分展开[3-5]、直方图移动[6,7]、无损压缩加[8]和一些扩展方案,如像素值排序(PVO)[9]、改进像素值排序(IPVO)[10]、像素误差扩展(PEE)[11],甚至深度学习[12]。由于图像内容在云应用程序中是私有的,传统的RDH技术并不适用。因此,利用图像加密领域中的可逆数据隐藏,即加密图像中的可逆数据隐藏(RDHEI),近年来变得至关重要。RDHEI方案中有三个假设用户,包括:内容所有者、数据隐藏者和接收者。整个过程是内容所有者使用图像加密密钥对原始图像进行加密,然后将加密后的图像上传到云服务器进行数据嵌入。数据隐藏程序从云中获取加密图像,并将时间戳、水印和版权信息等其他数据嵌入其中。具有数据隐藏密钥的接收器可以提取嵌入的数据,而图像加密密钥[14]可以获得解密图像。RDHEI技术被广泛应用于空间图像和压缩图像[15-17]。在RDHEI中引入了同态加密[18]和秘密共享技术[19]。现有的空间RDHEI方案主要分为两类:1)保留图像加密前的空余房间(RRBE)[20-30]和2)腾出图像加密后的空余房间(VRAE)[31-43]。在RRBE方案中,在图像加密之前,即在明文图像中预留空闲空间。通过对RDHEI方案的回顾,RRBE方案在图像加密前需要进行预处理。另一方面,传统的VRAE方案在提取数据和恢复图像时往往不可避免地存在误差,且嵌入率相对较低。同时,为了避免错误和提高嵌入率,基于块的VRAE方案减少了对安全性的考虑。为了克服传统VRAE方案的不足,本文首先提出了一种基于像素旋转的RDHEI方案(PR-RDHEI),该方案可直接应用于加密图像。在每个2 × 2大小的加密图像块中,向右旋转4个像素,在大多数块中嵌入2位额外的数据,并且可以根据最大/最小像素的位置无损地提取数据。因此,我们提出的PR-RDHEI方案可以保证提取的数据没有任何误差。在恢复加密块时,比较四种解密旋转状态的复杂度,选择复杂度最低的解密旋转状态作为最终恢复块。大多数加密块可以完全恢复,因为有意义的图像具有一定的连续性。为了实现无损图像恢复,我们进一步提出了LPR-RDHEI方案。在LPR- RDHEI方案中,内容所有者仅采用图像恢复阶段一次,记录无法正确恢复的块,然后使用我们提出的像素旋转技术将位置地图嵌入到加密图像中。由于LPR-RDHEI在图像加密前不需要预处理,因此也可以认为是一种VRAE方案,在将图像上传到云端之前,在加密图像中嵌入一些辅助信息。为了记录辅助信息,使用一些正面备用房间来嵌入这些数据,使得LPR-RDHEI的嵌入率低于PR-RDHEI,但备用空间仍足以进行额外的数据嵌入(平均达到0.4494 bpp)。同时,利用我们提出的两种方案对加密后的图像进行完全加密;因此,可以保证图像的安全性。此外,两种方案都对像素顺序进行了分块旋转,并保留了像素值,保证了嵌入加密图像的安全性。此外,两种方案的数据提取和图像恢复是可分离的。方案主要贡献如下:
1)本文提出的PR-RDHEI方案采用像素旋转技术,与传统VRAE方案相比,嵌入率显著提高,传统VRAE方案可在加密图像中嵌入0.4994 bpp的附加数据,并可无损提取数据。
2)所提出的LPR-RDHEI方案在数据提取和图像恢复方面都实现了无损功能。在将加密的图像上传到云端之前,只应用一次图像恢复过程,因此可以在内容所有者端轻松执行该方案。
3)两种方案的数据提取和图像恢复是可分离的,可用于多种场景。
4)加密图像和嵌入的加密图像是完全加密的。由于我们提出的方案只改变了每个块中像素的顺序,因此没有暴露原始图像的统计属性和纹理。我们方案的安全级别优于最先进的基于块的VRAE方案.

一、提出的PR-RDHEI方案

提出一种像素旋转技术,将数据嵌入加密图像(PR-RDHEI)。内容所有者通过流密码对原始图像进行完全加密,以确保安全性。在数据隐藏端,加密后的图像被分割成不重叠的2 × 2大小的块;然后,将所有的块分为四种块类型:唯一块、双重块、三重块和不可用块。接下来,双重区块被进一步划分为两个子区块:双重c区块和双重d区块。属于唯一块的块、双重块和三重块是应用像素旋转技术可以携带额外数据的可用块。相反,不可用的块被保留,没有数据被隐藏。可用块中的像素,除两倍块外,向右旋转形成四种旋转状态,以嵌入2位额外数据,每个两倍块只嵌入1位。数据提取和图像恢复是可分离的,利用数据隐藏密钥可以很容易地从嵌入的加密图像中无损地提取嵌入的数据。在恢复映像时,可以通过直接解密块来恢复不可用的块。对于一个可用的块,接收器需要旋转像素以获得四种旋转状态,并对这些状态进行解密以计算复杂性。由于有意义的图像具有一定的连续性,原始块中的像素应该非常接近,因此可以通过选择块复杂度最小的解密旋转状态来获得最终的解密可用块。因此,大多数可用的块可以被恢复而没有任何错误。图1显示了我们提出的PR- RDHEI的框架。图像加密、像素旋转数据嵌入、数据提取和图像恢复的详细阶段将在以下小节中描述

在这里插入图片描述

二、算法步骤简介

1.图像加密

采用异或随机数加密原始图像。

2.数据嵌入(重点)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
小结信息嵌入实际上是对2×2图像块不同类型进行编码标记,并将编码标记作为秘密信息进行隐藏。
对于唯一块(仅有一个最大值),最大值的位置一共有四种状态,对应四种编码,每位编码可以用Log2(4)=2比特表示。

3.图像恢复(重点)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
小结这里的第一种方案无法完全正确恢复图像,这是因为存在最小标准差无法完全精确确定位图像块正确状态的情况第二种方案通过对这些无法恢复的块标记记录(辅助信息),并恢复


总结

本文提出了一种加密图像中可分离可逆数据隐藏方案,该方案利用新的像素旋转技术(PR- RDHEI)将数据直接嵌入到完全加密图像中。通过识别四种旋转状态,可以无错误地提取嵌入数据。在恢复图像时,以块复杂度最小的解密旋转状态作为最终解密块,大部分原始图像块可以无损恢复。为了实现图像的全恢复,在LPR-RDHEI中,内容所有者只需要应用一次PR- rdhei的图像恢复过程,并记录下PR嵌入无法无损恢复的块,因此在图像加密前不需要进行额外的预处理。我们提出的两种方案的加密图像和嵌入式加密图像是完全加密的,原始图像的统计属性和纹理没有暴露。实验结果表明,两种方案的平均嵌入率分别为0.4994 bpp和0.4494 bpp,与国内先进水平相比有明显提高。在未来,我们将引入深度学习技术,进一步优化算法计算块复杂度,提高我们的PR-RDHEI方案的解密图像质量,并减少辅助信息的长度,提高嵌入率。

收获与思考

这篇论文提出一种基于像素异或加密的加密后腾出空间RDH-EI方案,存在两个问题:1)安全性低:前面已经提到异或加密无法抵抗唯密文攻击。2)嵌入容量能够提升:嵌入容量与图像块的状态有关,如果以位平比特块为基本单位,可以增加状态或许可以提升容量。

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

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

相关文章

任意组件通信:全局事件总线、消息订阅与发布

全局事件总线:任意组件间通信 1、一个重要的内置关系: VueComponent.prototype.__proto__ Vue.prototype 2、为什么要有这个关系: 让组件实例对象(vc)可以访问到Vue原型上的属性,方法。 第一步&#xf…

mysql-JDBCDruid基本使用方法

JDBC 今日目标 掌握JDBC的的CRUD理解JDBC中各个对象的作用掌握Druid的使用 1,JDBC概述 在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。 1.1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API 全称:( …

网络编程 重叠IO模型

目录 1.概念 2.代码详解 事件通知实现逻辑​ 1.WSASocket函数 2.AcceptEx函数 3.WSARecv函数 4.WSAGetOverlappedTesult函数 5.WSAResetEvent函数 6.WSASend函数 ##重叠IO模型事件通知整体代码 完成例程实现逻辑​编辑 ##重叠IO模型完成例程的整体代码 1.概念 重叠IO模型是对…

微信小程序集成three.js--1.创建各种光源的场景

1.实例演示 微信小程序集成Three.js,各种光源效果演示2.源码 (1)引入three.js库文件 import * as THREE from ../../libs/three.weapp.js import {OrbitControls } from ../../jsm/controls/OrbitControls const app getApp() 库文件下载…

第七章面向对象编程

第七章面向对象编程 7.1对象在内存中存在形式 7.1.1属性/成员变量/字段(field) 1.属性成员变量字段field,概念上相等 public class Object02 {//编写一个 main 方法public static void main(String[] args) {}} class Car {String name;//属性, 成员变…

数据防泄露之图文档及业务数据经验分享

场景描述 信息化时代发展迅速,数据防泄露一词也频繁的出现在我们身边。无论企业或政府单位,无纸化办公场景越来越多,数据泄露的时间也层出不穷。例如:世界最大职业中介网站Monster遭到黑客大规模攻击,黑客窃取在网站注…

跟着pink老师学JS的第三天总结

* 这个仿京东的商品放大镜效果真不好做&#xff01; 鼠标拖拽&#xff1a; * 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"…

FineReport报表设计工具- 配置DB2外接数据库(1)

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 - 11.0.3 1&#xff09;首次配置外接数据库时&#xff0c;支持自行选择是否「迁移数据至要启用的数据库」 2&#xff09;迁移外接数据库的过程提示细化&#xff0c;方便用户了解迁移进度 1.2 功能简介 报表系统配置外接数…

Seata使用教程

文章目录一、Seata简介1.Seata 概念介绍2.分布式事务3.Seata核心组件4.Seata 工作流程5.Seata四大模式二、Seata实战教程1.下载资源2.配置Seata-Server3.增加相关表结构4.代码配置三、常见报错解决一、Seata简介 1.Seata 概念介绍 Seata 是一款阿里巴巴开源的分布式事务解决方…

eNSP 设备启动失败,错误代码:40 解决方案

eNSP 路由器启动失败&#xff0c;错误代码&#xff1a;40 解决方案 eNSP 路由器启动失败&#xff0c;错误代码&#xff1a;40 解决方案 文章目录eNSP 路由器启动失败&#xff0c;错误代码&#xff1a;40 解决方案一、出现错误代码&#xff1a;40二、解决方法1.确定相关的软件安…

《设计模式》外观模式

《设计模式》外观模式《设计模式》设计模式的基本原则 《设计模式》单例模式 《设计模式》工厂模式 《设计模式》原型模式 《设计模式》建造者模式 《设计模式》适配器模式 《设计模式》桥接模式 《设计模式》装饰者模式 《设计模式》组合模式 《设计模式》外观模式 定义&#…

免费刷题!初级软件测试面试题目和答案这个小程序很全

有没有软件测试面试题库小程序&#xff1f;相信这是很多准备找工作的新手测试人都想要知道的吧&#xff01; 今天&#xff0c;我就根据大家的需求&#xff0c;为大家整理了一些有关初级软件测试的面试题目以及一个可以免费刷题的题库&#xff0c;希望能帮助你们早日拿下心仪的…

UDS-10 Diagnostic and communication management functional unit

10 诊断与通信管理功能单元 来自&#xff1a;ISO 14229-1-2020.pdf 10.1概述 表22指定了诊断和通信管理功能单元。 注&#xff1a; DiagnosticSessionControl&#xff1a;客户端请求控制服务器的诊断会话。ECUReset&#xff1a;客户端强制服务器执行重置。SecurityAccess&am…

知识蒸馏原理

文章目录0.知识蒸馏&#xff08;模型压缩的一种方法&#xff09;1.蒸馏2.为什么要蒸馏3.知识的表示与迁移4.蒸馏温度T5.知识蒸馏过程6.知识蒸馏的应用场景7.知识蒸馏背后的机理8.为什么用soft targets 而不用 label smoothing?9.知识蒸馏的研究方向10.知识蒸馏代码库11.扩展阅…

回顾2022,展望2023,笔耕不辍,钟情翰墨

目录 回顾2022 博客概览 博客成就 获得测试领域优质创作者认证 获得博客专家认证 获得额外收入 创建第一个属于自己的个人社区 获得第一个实体奖牌【博客专家】 首次登榜梦想照进现实CSDN实体奖牌榜 首次参与社区新锐和社区先锋评选 开启了6个知识体系系列教程 个人…

2023春招面试:消息中间件面试题整理

RabbitMQ如何确保消息发送 &#xff1f; 消息接收&#xff1f; 开启生产者确认机制&#xff0c;确保生产者的消息能到达队列&#xff08;config机制保证消息正确到达交换机、return机制保证消息正确到达队列&#xff09;开启持久化功能&#xff0c;确保消息未消费前在队列中不会…

如何通过WindowsIIS部署网站

1.winR输入control 打开【控制面板】 2.选择程序 3.选择【启用或关闭Windows功能】 4.在【Windows功能】对话框中勾选【Internet Information Services】下的【FTP服务器】、【Web管理工具】和【万维网服务】中的所有选项&#xff0c;并点击【确定】 5.Windows功能会开始下载并…

Lambda表达式的来龙去脉,全在这篇文章里了

一. 前言部分 大家都知道Lambda表达式作为JAVA 8中提供的新特性之一&#xff0c;在现在的企业开发中已经非常的流行了。今天壹哥就通过一个具体的案例&#xff0c;来带大家一起详细地探究一下Lambda表达式是如何被提出来的&#xff0c;以及它的出现主要是用来解决什么问题的。…

乌班图(Ubuntu)单系统或者乌班图+Win双系统安装教程

单ubuntu系统安装 1、将ubuntu系统U盘插入电脑USB接口&#xff0c;建议优先插USB3.0蓝色(彩色)接口&#xff0c;这样可以保证安装过程中文件的读取速度&#xff0c;加快安装进程。 2、然后电脑关机状态下&#xff0c;开机。开机后快速按主机的快捷启动键&#xff1a; 3、在出现…

Qt编写雷达模拟仿真工具1-背景布局

一、前言 雷达模拟仿真工具&#xff0c;整体结构采用的QGraphicsView框架&#xff0c;背景布局采用的分层绘制&#xff0c;这样可以控制该需要重新绘制的重新绘制&#xff0c;不需要重新的绘制的就没必要再多余的浪费&#xff0c;这里定义了一个GraphicsBackGroundItem类继承自…