加密域可逆信息隐藏算法分类及评价指标

一、加密域可逆信息隐藏算法框架分类

加密图像可逆信息隐藏(RDHEI)是将图像加密和信息隐藏结合使用的一种技术。图像拥有者先对原始图像使用加密密钥keyc进行加密,信息隐藏者根据隐藏密钥keyd将秘密信息嵌入到密文图像中去。在接收端,接收者根据密钥keyc和keyd可以提取出秘密信息并恢复原始图像。按图像解密和信息提取与图像恢复是否可分离,可分为联合的RDHEI算法和可分离的RDHEI算法。

1、联合算法

联合算法框架如图1所示。该算法特点是,在接收端,接收者必须先根据加密密钥keyc对含密图像进行解密,得到解密图像后才可以对解密图像进行信息提取和图像恢复过程。若没有加密密钥,则接收者既得不到隐藏信息,也无法恢复出原始图像。
在这里插入图片描述
图1.联合算法框架

2、可分离算法

与联合算法不同,可分离算法应用更广泛。算法框架如图2所示。该算法特点是,在接收端,解密图像与信息提取和图像恢复的过程是独立的,互不影响。若接收者拥有加密密钥keyc,可对含密图像直接解密,得到与原始图像相似的解密图像,若接受者拥有信息隐藏密钥keyd,则可在含密图像中提取出隐藏的秘密信息,若接收者同时拥有keyc和keyd,则接收者可解密图像,并提取出秘密信息,且还可以恢复出原始图像。
在这里插入图片描述
图2.可分离算法框架

可分离的RDHEI又可分为加密前预留空间(VRBE)和加密后腾出空间(VRAE)的方法两类。VRBE方法是图像拥有者先用传统的明文域的RDH方法,对图像进行预处理来腾出空间,之后再加密图像,并且云服务器能任意的嵌入信息到加密图像中。其一般框架如图3所示,图像拥有者先对图像进行预处理,为信息隐藏预留出空间,然后在对图像进行加密,在接收端,通过隐藏密钥可以提取出秘密信息,通过加密密钥可以恢复原始图像。
在这里插入图片描述
图3.加密前腾出空间框架

与VRBE不同,VRAE方法是图像拥有者先将原始图像加密,云服务器在加密图像中直接嵌入相关信息,其一般框架如图4所示。图像拥有者根据加密密钥将原始图像加密,隐藏者将密文图像腾出空间来嵌入秘密信息,在接收端,通过加密密钥,可对含密图像进行解密,得到解密图像,通过隐藏密钥,可提取出隐藏的秘密信息,恢复原始图像。
在这里插入图片描述
图4.加密后腾出空间

由于VRBE方法不便于用户操作,即需要先对原始图像进行预处理,然后在加密。因此VRAE算法应用更为广泛,本文主要对基于VRAE的可分离RDH-EI算法进行研究。但现有的VRAE算法仍存在问题,常用的加密算法安全性不高。

二、 算法评价指标

衡量加密图像可逆信息隐藏算法性能的评价指标主要有均方差,峰值信噪比,像素相似率,信息嵌入率。

1、均方差(mean squared error, MSE)

MSE是一种衡量平均误差的方法,MSE的值越小,说明精确度更高。其计算公式如式。

[MSE=\frac{1}{M\times N}\sum\limits_{x=1}{M}{\sum\limits_{y=1}{N}{​{​{({​{I}_{(x,y)}}-{​{J}_{(x,y)}})}^{2}}}}]
其中I和J是计算均方差的两幅图像,M,N是图像的大小,(x,y)表示像素位置,x表示行,y表示列。

2、峰值信噪比(Peak Signal to Noise Ratio)

PSNR是一种衡量两幅图像间相似度的常用指标,单位是dB。在加密图像可逆信息隐藏中主要用于计算含隐藏信息的图像与原图的相似度、解密图像与原图的相似度、恢复图像与原图的相似度、转换图像与目标图像的相似度等。PSNR值越大,说明两幅图像越接近,即说明解密图像、恢复图像、转换图像的质量越好。计算如式。
在这里插入图片描述
其中MSE为两幅图像的均方差,MAXI是图像I中像素的最大值,一般采用8 bit位深的图像,像素值位于[0,255]间,则此时MAXI = 255。

3、信息嵌入率(Embedding Rate, ER)

ER是用来衡量信息隐藏容量的指标,是加密图像可逆信息隐藏算法的一个重要性能指标。计算公式如下式,单位是bpp (bits per pixel)。
在这里插入图片描述
其中B表示嵌入的比特总数,M,N表示图像的大小。ER表示的意义是平均每像素嵌入的比特数。ER越大,表示算法的嵌入容量越大。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】快速入门手册

目录 1.概述 1.1.安装 1.2.阿里云镜像加速 1.3.运行原理 2.常用操作 2.1.帮助命令 2.2.镜像操作 2.3.容器操作 2.3.1创建、启动 2.3.2.退出、停止 2.3.3.进入交互式界面 2.3.4.守护式容器交互 2.3.5.查看 2.3.6.删除 2.3.7.拷贝 3.容器数据卷 3.1.概述 3.2.使…

linux03 用户权限

01.三种权限 02.UGO(root账号) 查看权限 不在root文件中写,是因为其他用户不能进来 举个例子 ll是ls -l 第一部分:权限(11个字节) 第一个:d/- d表示文件夹 - 表示一般文件 二到四&#xff1a…

R语言学习case6:ggplot基础画图(Scatter散点图)

step1: 导入ggplot2库文件 library(ggplot2)step2&#xff1a;带入自带的iris数据集 iris <- datasets::irisstep3&#xff1a;查看数据信息 dim(iris)维度为 [150,5] head(iris)查看数据前6行的信息 step4&#xff1a;利用ggplot工具包绘图 plot1 <- ggplot(iris…

人工智能的圣杯:关于可解释AI(XAI)的一切

​​​​​​​ 在过去十年间&#xff0c;无数个人工智能解决方案在各大企业得到部署。 智能受众评测系统、智能财务合规系统、智能人员招聘系统&#xff0c;不一而足。 这期间&#xff0c;在企业客户却也始终存在一种怀疑态度&#xff1a;AI系统做出的产品部署是否真的值得…

初识人工智能,一文读懂机器学习之逻辑回归知识文集(6)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

QT之 QDebug 调试(一)

在QT中&#xff0c;进行调试&#xff0c;则需要在头文件地方加上 #include <QDebug> 加上之后&#xff0c;在编译之后则其输出的信息则在应用程序输出那里显示信息。 其QDebug 信息调试则如&#xff1a; qDebug() << " 需要插入的信息 "…

以太网交换基础VLAN原理与配置

目录 7.以太网交换基础 7.1.以太网协议 7.2.以太网帧介绍 7.3.以太网交换机 7.4.同网段数据通信全过程 8.VLAN原理与配置 8.1.VLAN的基本概念 8.2.VLAN的应用 7.以太网交换基础 7.1.以太网协议 以太网是当今现有局域网(Local Area Network,LAN)采用的最通用的通信协议…

【王道数据结构】【chapter2线性表】【P44t16】

设有一个长度为n&#xff08;n为偶数&#xff09;的不带头结点的单链表且结点值都大于0&#xff0c;设计算法求这个单链表的最大的孪生和。孪生和的定义为一个结点值与其孪生结点值的和&#xff0c;对于第i个结点&#xff08;从0开始&#xff09;&#xff0c;其孪生结点为第n-i…

【RT-DETR有效改进】EfficientFormerV2移动设备优化的视觉网络(附对比试验效果图)

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…

【JaveWeb教程】(35)SpringBootWeb案例之《智能学习辅助系统》登录功能的详细实现步骤与代码示例(8)

目录 案例-登录和认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 案例-登录和认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能…

DS:带头双向循环链表的实现(超详细!!)

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01;&#xff01; 博主的上篇文章介绍了链表&#xff0c;以及单链表的实现。 单链表的实现&#xff08;超详细&#xff01;&#xff01;&#xff09; 其实单链表的全称叫做不带头单向不循环链表&#xff0c;本文…

STP生成树协议实验

实验大纲 一、什么是生成树协议 二、生成树原理 1.STP工作原理 2.STP主要参数 3.STP根网桥 4.STP协议版本 三、实验 1.构建网络拓扑结构图 2.配置IP地址&#xff08;8台PC机&#xff09;&#xff1a;192.168.7.1~192.168.7.8 3.配置SW1 4.配置SW2 5.配置SW3 6.配置…

浪潮信息打造高效算力架构 为金融业数字化坚实基座

新时期&#xff0c;数据智能已经逐渐成为金融商业中的重要力量&#xff0c;构建更强大的算力系统&#xff0c;推动金融业务的高效发展&#xff0c;已经成为了金融行业的目标。对此&#xff0c;浪潮信息也为金融客户提供了崭新的解决方案。此前&#xff0c;某银行基于浪潮信息量…

第二模块 函数模块

第二模块 函数&模块 day09 文件操作相关1. 文件操作1.1 读文件1.2 写文件1.3 文件打开模式1.4 常见功能1.5 上下文管理练习题 2.csv格式文件3.ini格式文件4.XML格式文件4.1 读取文件和内容4.2 读取节点数据4.3 修改和删除节点4.4 构建文档 5.Excel格式文件5.1 读Excel5.1 写…

ESP32 SPIFFS文件系统

简介 本章涉及知识点&#xff1a;ESP32 SPIFFS文件系统、日志输出。 ESP-IDF版本&#xff1a;V5.1.2 源码 小智学长的源码&#xff1a;DesktopScreen 7 文件系统 系统配置 如果是自己构建的项目&#xff0c;如图。要在CMakeLists中配置上spiffs。 如果是直接跑官方例程则忽略系…

wireshark利用sshdump自身组件进行远程实时抓包过滤

引言 以前在不了解wireshark可以远程抓包的时间&#xff0c;经常通过tcpdump在远程linux主机将抓包文件保存下来后&#xff0c;然后拖拽入windows中再打开&#xff0c;进行分析查看。 此过程比较繁琐&#xff0c;也不够实时。比较常用的抓包动作是仅出现某特征的报文后&#…

手动导入jar包到Maven的解决方案(简单有效!)

想要导入一个jar包到项目中&#xff0c;这个jar包在Maven中没有可以尝试以下方式。 第一步 先找到你maven的本地仓库&#xff0c;我的仓库就在这里&#xff0c;你可以根据你安装的maven找到你的目录 第二步 根据坐标创建文件夹。 这个依赖modbus4j.jar&#xff0c;Maven远…

Cesium.js实现显示点位对应的自定义信息弹窗(数据面板)

博客&#xff1a;关于Cesium的常见需求整理之点位和弹窗&#xff08;点位弹窗&#xff09; 博客&#xff1a;cesium添加点、线、面、文字、图标、模型等标绘 零、相关技术选型&#xff1a; Vue2 Vuecli5 Cesium.js 天地图 一、需求说明 在使用2D地图&#xff08;天地图、高德…

微信小程序(二十一)css变量-定义页面主题色

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.使用css变量 2.消除按钮白块影响 3.修改图标样式 源码&#xff1a; npmTest.json {"navigationStyle": "custom","usingComponents": {//引入vant组件"van-nav-bar"…

低代码助力软件开发

随着企业对于低代码开发平台的需求日益增长&#xff0c;急需一个通用的解决方案来满足各种低代码平台的开发需求。正是在这种情况下&#xff0c;低代码引擎应运而生。 作为一种通用的开发框架&#xff0c;通过对低代码平台系统常用的功能进行解构&#xff0c;将其划分为多个功能…