图像隐写分析——生成含密图像 Stego Image

article/2025/7/20 15:41:22

文章目录

    • 一 图像隐写分析的数据集
    • 二 含密图像展示
    • 三 结语


一 图像隐写分析的数据集

  小编本科毕设的题目是《基于深度学习的图像隐写分析》,图像隐写分析问题本质上是一个二分类(binary classifier)问题,即判断一张图片中是否含有隐秘信息,若包含隐秘信息则输出1,否则输出0。
  注意区分隐写术&隐写分析 (Steganography&Steganalysis) 和 数字水印 (Digital WaterMarking) 两种技术,两者都是向图像或视频等信息载体中嵌入内容并且对嵌入后的信息载体进行分析,只是侧重点不一样。隐写术和隐写分析更注重于嵌入信息的隐蔽性,即如何操作才能让嵌入信息很难被敌人发现,敌人面对手中截获的图片无法判断该图像是含密图像还是原始图像数字水印更注重嵌入信息的鲁棒性,含水印信息的图片在传输过程中会受到诸如:旋转、裁剪、噪声模糊、对比度亮度的调整等等攻击手段,我们需要保证:面对受到攻击后的图像我们依旧可以很好的从图片中提取之前嵌入的水印信息,嵌入到图像中的水印信息有较强的鲁棒性。
  在实际应用方面,隐写分析可以用于防止秘密信息的泄露,犯罪分子可以将秘密信息嵌入到原始图片中,由于生成的含密图像和不含隐秘信息的原始图像两者从肉眼上几乎没有区别,所以犯罪分子就可以堂而皇之的将隐秘信息通过图片泄露出去,因此对犯罪分子而言嵌入信息的隐秘性很重要;数字水印技术在作品版权领域有很大作用,以视频为例,视频制作方可以将己方信息嵌入到原始视频中(嵌入后的视频和原始视频没有区别,不影响观看),当市场上出现盗版视频时,制作方可以从该视频中提取之前嵌入的版权信息,作为对溥公堂时的证据。视频在传播途中可能会出现盗录、模糊、裁剪、旋转等攻击,因此嵌入信息的鲁棒性很重要,如果视频受到攻击后无法很好的提取水印信息那就糟糕了。
  卡!停!扯的有些远了,我们还是回归主题:如何生成含密图像。


  隐写分析使用的图片从宏观上可以分成来两大类:不含隐秘信息的原始图像和包含隐秘信息的含密图像,其中原始数据集我们采用BOSSBase数据集,该数据集是隐写分析领域公用的数据集,数据集中包含10000张大小为512x512、后缀为pgm的灰度图。BOSSBase数据集下载地址为: http://dde.binghamton.edu/download/ 页面左下角Image DataBase部分就有BOSSBase 1.01数据集下载链接。
  数据集中部分图片展示如下(网络模型需要,故将图片由512x512缩放至256x256):
在这里插入图片描述
  获得原始图像后,我们接下来生成含密图像,这里我们直接使用现有的隐写算法,下载地址为:http://dde.binghamton.edu/download/stego_algorithms/ 由于本机为ubuntu系统,故仅选用了C++版的S-UNIWARD、HUGO、WOW三种图像空域隐写算法。
在这里插入图片描述
  下载隐写术后解压,以S-UNIWARD隐写术为例如下。

在这里插入图片描述
  进入executable文件夹,bash example_default.sh运行脚本后,将images_cover文件夹下的原始图像嵌入秘密信息生成含密图像并保存至images_stego文件夹中。我们来看一下 example_default.sh脚本文件中的内容。

./S-UNIWARD -v -I ../images_cover -O ../images_stego -a 1

  执行同目录下的S-UNIWARD可执行文件,-v表示输出嵌入过程中的过程信息、-I 表示输入图片路径也就是原始图片所在文件夹的路径、-O 表示输出路径也就是生成的含密图片保存的路径、-a 表示嵌入率,此处嵌入率为1.0bpp (bit per pixel)。我们自己使用时,只要修改输入输出图片的路径以及相应的嵌入率即可。


二 含密图像展示

  本文采用的隐写术为:S-UNIWARD、HUGO、WOW,采用的嵌入率为:0.4bpp、0.7bpp、1.0bpp三种,我们查看生成的含密图像和原始图像以及两者之间的残差图像residual image,显示如下:
在这里插入图片描述
在这里插入图片描述
  上图中从左到右分别为:原始图像、含密图像、残差图像。观察原始图像和含密图像发现,两者从肉眼上来看没有明显区别,视觉效果非常接近,这也从侧面说明隐写分析的难度。我们再来看一下不同嵌入率下得到的残差图像,显示如下:
在这里插入图片描述
  上图中从左到右对应的嵌入率分别为0.4bpp、0.7bpp、1.0bpp。观察图像可以发现:嵌入率越大,残差图像越明显,即隐写术对原始图像的修改越大,隐写分析的难度也自然依次递减。计算不同嵌入率下含密图像的PSNR值分别为: 58.37、55.39、53.37。对于PSNR值我们通常认为PSNR值在40以上就说明图像和原始图像比较接近,而此处即使嵌入率最大为1.0bpp,得到的PSNR值也在50以上。
  如果说之前肉眼观察原始图像和含密图像,两者十分接近是人的主观判断,那么此时PSNR值则是从实验数据方面证明隐写术对原始图片的修改很小,隐写分析的难度较大。


三 结语

  10k张图片用于训练和测试,其实还是较少,还可以从ImageNet和COCO数据集中选用部分图片以做补充。本文从COCO数据集中另外选用了10k张图片,总图片数量共2万张,之后按照14 : 1 : 5的比率划分为训练集、验证集和测试集。至此,在数据集方面准备完毕,接下来要做的就是编写代码实现隐写分析模型。


http://chatgpt.dhexx.cn/article/dC71vPmi.shtml

相关文章

图片LSB信息隐写

LSB(全大写)有时也指Least Significant Byte,指多字节序列中最小权重的字节。指的是一个二进制数字中的第0位(即最低位) RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化…

F3隐写

F3隐写 文章目录 F3隐写1. 引言2. 实验环境3. 实现使用的现有外部库4. 实现思路> **预处理**> **DCT量化**>**秘密信息嵌入**> **Z字形序列化**>**Huffman编码**>**反Z字形序列化**>**提取秘密信息** 5.验证6. 总结 1. 引言 数字隐写技术是一种在数字媒体…

TTL隐写

#拿到一个长成这样的文件,里面是意义不明的数字 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 127 63 255 63转换为2进制,并设置为8位数的2进制,就会有很神奇的事情发生 with open(C:/Users/brighten…

深度学习之图像隐写去除(DDSP模型 Steganography Removal)

文章目录 一 前言二 论文内容2.1 Abstract2.2 Introduction2.3 Background2.3.1 Prior Work2.3.2 Super Resolution GAN 超分辨率GAN 2.4 Data2.5 Deep Digital Steganography Puricication (重头戏)2.5.1 Autoencoder Architecture2.5.1 GAN Training 2.6 Result 三 训练结果四…

SRNet隐写分析网络模型 (pytorch实现)

文章目录 一 SRNet隐写分析模型介绍二 SRNet网络概述三 训练结果展示 一 SRNet隐写分析模型介绍 SRNet模型是宾汉姆顿大学(Binghamton University)Jessica教授团队于2018年提出的图像隐写分析网络模型,应该说是当时SOTA(state-of-the-art)的隐写分析网络模型了&…

GIF隐写

CTF DAY1的倒数第二题: 首先 打开图片 发现打不开 用010 Editor 发现图片开头少了文件头 添加文件头 使得图片能够看到 这时候打开图片 发现 密码一闪而过 这时候 用到另一个软件 Namo_Gif 打开刚刚已经恢复好的GIF 可以清楚的看到每一帧 对于每一帧 修改他…

隐写术--总结

文章来源:http://bobao.360.cn/learning/detail/243.html 1.增加数据的方式 隐藏信息 另存为.zip后解压,正常的.JPG图片在文本编辑器(winhex)中,16进制是以FF D9结尾 原理:a.先制作一个1.zip 把含有隐藏…

隐写术技术深入分析

文章目录 0x01 隐写术概要0x02 特征0x03 隐写术应用0x04 题目解析思路 0x01 隐写术概要 首先看一下官方定义,“隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。” 简单说就…

隐写术基础

目录 前言 一. 隐写系统模型 二. 隐写分析系统模型 三. 对比隐写技术与密码技术 四. 隐写术的基本术语与概念 4.1 不可感知性 4.2 安全性 4.3 隐蔽性 4.4 鲁棒性 4.5 隐藏容量 4.7 检测粒度 总结 前言 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐…

CTF学习之MISC之图片隐写与文档隐写

CTF学习之MISC之图片隐写 隐写术概述 图片隐写技术图片EXIF信息隐写图片LSB低位隐写 隐写术(Stega) 隐写术(Steganography,简写Stega) 一门关于信息隐藏的技巧与科学 信息隐藏:不让除预期的接收者之外的…

隐写术

目录 隐写(信息隐藏,steganography) Stegsolve Binwalk MP3Stego Bftools(Brainfuck) F5-steganography-master S-Tools 隐写(信息隐藏,steganography) 目的:以表面正常的数字载体如静止图象、数字音频和视频信号等作为掩护&#xff…

OMNET++安装教程

安装: 如果你是windows系统,那么强烈推荐你跟着B站上的教程来学习,下面是链接。 这个博主讲的特别细致,而且会捎带讲几个例子,有助于我们快速的建立起来学习的信心!!! 当时我看到…

【OMNET++】OMNET如何开启Debug调试

1.前言 OMNET作为网络仿真软件,其编译语言为NEDC和C,在学习过程中我们该如何运用debug跟踪代码呢?这一讲我们简单和大家分享一下OMNET如何开启Debug调试。 可能我们翻阅很多资料,都会提到一句话,Window下的OMNET是基于…

【OMNET++】OMNET安装卸载说明以及原理探讨

前言 我们安装OMNET,参考file:///D:/omnetpp-5.4.1-src-windows/omnetpp-5.4.1/doc/InstallGuide.pdf的官方文档,其支持的平台很多,例如window、Ubuntu 、Linux以及红帽等系统,这篇博文以window为例,简单说明其中注意…

Ubuntu18.04 安装 omnet 5.6.2

1. 下载所需的OMNet版本 下载链接: OMNeT官网下载 2. 解压下载的omnet包,找到安装教程 解压方式:可以鼠标右击,选择Extract here;也可以在终端中使用命令行解压. 安装教程在: omnetpp-5.6.2-src-linux/omnetpp-5.6.2/doc/Install…

OMNeT学习之TicToc2-7详解

OMNeT学习之TicToc2-7详解 前言 安装好OMNeT,学会新建项目之后,开始学习OMNeT提供的tictoc案例,共17个,之前的博客中已经讲解了Tictoc1,本次学习2-7。 本人学习一个tictoc工程,主要就是看它的cc文件、ned…

omnet++构架与源码分析(1)

omnet模型以及运行环境部分使用c开发,IDE以及插件使用Eclipse以及插件方式开发。其中c代码位于解压后的include与src目录; src下面分为: sim:仿真内核类的CC代码;各种头文件,都在include目录;…

linux下运行omnet,Ubuntu安装Omnet++

1.官网下载Omnet++压缩包(https://omnetpp.org/),解压到安装文件夹 tar -zxvf omnetpp-5.1.1-src-linux.tgz /opt 2.运行./configure 报错configure: error: Bison not found, needed to build OMNeT++/OMNEST – please install it! 解决办法:安装bison,安装完成后会提示还…

OMNeT学习之新建工程

OMNeT学习之新建工程 前言 之前学习了OMNeT的安装与运行官方的实例代码,这篇文章记录一下,OMNeT如何创建一个新的项目。 本人为初学者,如有错误望批评指正! 本文原创,创作不易,转载请注明! …

omnet++ 之aloha示例 的动画效果分析

void Host::refreshDisplay() const {cCanvas *canvas getParentModule()->getCanvas();const int numCircles 20;const double circleLineWidth 10;// 第一次使用时候创建:如果没有传输波形图,则创建一个圆环内部填色,创建20个圆环&am…