43、基于小波的脆弱水印方案

基于小波的脆弱水印方案

1. 引言

当前的脆弱水印算法虽具备篡改定位能力,但无法区分内容篡改和水印篡改。攻击者可仅篡改嵌入的水印而非内容来伪造数字媒体,使系统混淆,导致图像验证失败。为解决此问题,提出了一种基于小波的脆弱水印方案,用于图像认证和篡改鉴别。该方案利用离散小波变换(DWT)生成嵌入水印,经加扰加密后嵌入图像数据的最低有效位(LSB),不仅能区分水印篡改和内容篡改,还能增强对矢量量化(VQ)攻击和移植攻击的安全性,同时具备出色的篡改定位特性。

2. 提出的脆弱水印方案
2.1 嵌入水印的生成

为提高水印方案的定位精度和安全性,并尽可能提供更多图像篡改信息,水印生成过程需考虑以下步骤:
1. 执行一级DWT并提取低频系数 :将原始 $m \times n$ 图像 $X$ 的LSB置零后进行一级DWT,提取低频系数 $LL$。DWT能实现空间和频率的局部化,低频系数 $LL_{ij}$ 主要取决于 $2 \times 2$ 空间块 $X((i - 1) \times 2 + 1 : i \times 2, (j - 1) \times 2 + 1 : j \times 2)$,其中 $i = 1, \cdots, m/2$,$j = 1, \cdots, n/2$。
2. 应用4位非均匀标量量化 :使用密钥 $k_1$ 对 $LL$ 进行4位非均匀标量量化,得到图像 $Q$,即 $Q = f(LL, k_1)$。$Q$ 的 $(i, j)$ 元素定义为:
[
Q_{ij} =
\begin{cases}
a, & \text{min} + aq + \delta_a \leq LL_{ij} < \text{min} + (a + 1)q + \delta_{a + 1} \
15, & LL_{ij} = \text{max}
\end{cases}
]
其中,$\text{min}$ 和 $\text{max}$ 分别是 $LL$ 中的最小值和最大值,$q = \lceil(\text{max} - \text{min})/16\rceil$ 是均匀量化步长,$\lceil x \rceil$ 表示不小于 $x$ 的最小整数,随机序列 ${\delta_a, a = 0, 1, \cdots, 15}$ 由 $k_1$ 导出,取值范围在 $-q/4$ 到 $q/4$ 之间。
3. 加扰加密 :使用密钥 $k$ 对 $LL$ 带标量量化矩阵 $Q$ 进行加扰加密,得到加密矩阵 $E$,即 $E = P(Q, k)$,其中 $P(.)$ 表示加扰加密函数。
4. 转换为二进制矩阵 :将每个 $E_{ij}$ 转换为4位二进制,形成二进制矩阵 $B_{ij}$:
[
B_{ij} =
\begin{bmatrix}
b_3 & b_2 \
b_1 & b_0
\end{bmatrix}
]
5. 组装得到嵌入水印图像 :将 $B_{ij}$ 按位置组装,得到由宿主图像 $X$ 生成的嵌入水印图像 $W = [B_{ij}]$,$B_{ij}$ 是 $2 \times 2$ 的二进制块,因此 $W$ 与原始图像大小相同。

以下是水印生成流程的 mermaid 流程图:

graph TD;
    A[原始图像X] --> B[LSB置零];
    B --> C[一级DWT];
    C --> D[提取低频系数LL];
    D --> E[4位非均匀标量量化];
    E --> F[得到Q];
    F --> G[加扰加密];
    G --> H[得到E];
    H --> I[转换为二进制];
    I --> J[形成Bij];
    J --> K[组装Bij];
    K --> L[得到嵌入水印图像W];
2.2 水印嵌入

嵌入过程与Wong等人的脆弱水印技术类似,将生成的嵌入水印图像 $W$ 插入图像 $X$ 像素的LSB中,即:
[
Y = \lfloor X/2 \rfloor \times 2 + W
]
其中,$Y$ 是水印图像。该方法通过加扰将水印嵌入图像像素的LSB,使来自一个块的水印随机放置在其他块的LSB中,引入了块间的非确定性依赖关系,提高了对VQ攻击和移植攻击的鲁棒性,同时由于块大小为 $2 \times 2$,能实现出色的篡改定位,加扰加密策略还能增强区分内容篡改和水印篡改的能力。

2.3 认证算法

验证过程如下:
1. 提取水印 :从目标图像 $Y^ $ 每个像素的LSB中提取水印 $W’$。
2.
计算加密矩阵和量化矩阵 :根据水印生成步骤4的逆过程,使用 $W’$ 计算重构的加密矩阵 $E’$,再使用正确密钥 $k$ 得到重构的 $LL$ 带标量量化矩阵 $Q’$,即 $Q’ = P^{-1}(E’, k)$。
3.
计算差异矩阵 :根据密钥 $k_1$,应用水印生成的步骤1和2计算 $Y^ $ 的 $LL$ 带标量量化矩阵 $Q^ $,计算差异矩阵 $\Delta Q = |Q^ - Q’|$。
4. 篡改定位和鉴别
- 若 $\Delta Q = 0$,则对应图像块 $Y^ {ij}(2)$ 被认为是真实的。
- 若 $\Delta Q \neq 0$ 且 $t
{ij} \geq T$,则认为是图像块 $Y^
{ij}(2)$ 的内容被篡改。
- 若 $\Delta Q \neq 0$ 且 $t
{ij} < T$,则认为是水印被篡改,图像块 $Y^*_{ij}(2)$ 内容真实。

其中,$t_{ij}$ 表示 $\Delta Q_{ij}$ 的8个相邻像素组成的集合 $N_8(\Delta Q_{ij})$ 中的非零像素数,$T$ 是预定义的阈值。

以下是认证算法流程的 mermaid 流程图:

graph TD;
    A[目标图像Y*] --> B[提取水印W'];
    B --> C[计算E'];
    C --> D[计算Q'];
    A --> E[计算Q*];
    D --> F[计算差异矩阵ΔQ];
    E --> F;
    F --> G[判断ΔQ是否为0];
    G -- 是 --> H[图像块真实];
    G -- 否 --> I[判断tij是否大于等于T];
    I -- 是 --> J[内容被篡改];
    I -- 否 --> K[水印被篡改,内容真实];
2.4 阈值 $T$ 的选择

篡改鉴别可表述为一个二元假设检验问题:
- $H_0$:图像块 $Y^ _{ij}(2)$ 的内容被篡改,即 $Y^ {ij}(2)$ 不真实。
- $H_1$:测试图像中的水印有改动,但图像块 $Y^*
{ij}(2)$ 的内容真实。

为确定有效假设,将 $t_{ij}$ 与合适的阈值 $T$ 进行比较。系统性能可通过误接受概率 $P_{fa}(T)$(即图像块内容被篡改时被认为真实的概率)和误拒绝概率 $P_{fr}(T)$(即图像块内容真实时被拒绝的概率)来衡量:
[
P_{fa}(T) = P{t_{ij} < T | H_0}
]
[
P_{fr}(T) = P{t_{ij} \geq T | H_1}
]

在理想情况下,应存在一个阈值 $T$ 使 $P_{fa}(T)$ 和 $P_{fr}(T)$ 都为零。根据概率统计基本定理计算 $P_{fa}(T)$ 和 $P_{fr}(T)$:
- 假设 $H_0$ 下 :若 $Y^ _{ij}(2)$ 的内容被随机篡改,$Q^ {ij}$ 以相同概率取 $[0, 15]$ 内的整数,检测到内容修改的概率约为 $15/16$。假设 $N_8(\Delta Q {ij})$ 的图像内容被随机篡改,则 $t_{ij} \sim B(8, 15/16)$,根据定理1可得:
[
P_{fa}(T) = \sum_{t = 0}^{T - 1} C_8^t (15/16)^t (1 - 15/16)^{8 - t}
]
- 假设 $H_1$ 下 :设 $\Delta w$ 是篡改区域中的水印数量,可得重构的 $LL$ 带标量量化矩阵 $Q’$,其中改变的比特服从均匀分布,每个像素 $Q’$ 非零的概率为:
[
P_{\Delta w} = (\Delta w/4)/((m/2) \times (n/2)) = \Delta w/(m \times n)
]
则 $t_{ij}$ 小于给定 $T$ 的概率为:
[
P(t_{ij} < T | H_1) = \sum_{t = 0}^{T - 1} C_8^t (P_{\Delta w})^t (1 - P_{\Delta w})^{8 - t}
]
[
P_{fr}(T) = 1 - \sum_{t = 0}^{T - 1} C_8^t (P_{\Delta w})^t (1 - P_{\Delta w})^{8 - t}
]

随着 $T$ 的增大,$P_{fa}(T)$ 增大,$P_{fr}(T)$ 减小。对于给定的 $T$,$P_{\Delta w}$ 越大,$P_{fr}(T)$ 越大。为以高概率(如超过99%)检测内容篡改,阈值 $T$ 不超过5($P_{fa}(5) = 8.7 \times 10^{-4}$)。当 $P_{\Delta w} < 0.075$ 时,$P_{fr}(5)$ 几乎为零;当 $P_{\Delta w} = 0.25$ 时,误拒绝概率 $P_{fr}(T)$ 接近0.03。这表明当篡改的水印信息少于1/5时,该算法能以高概率区分图像内容篡改和水印篡改。

以下是不同情况下概率计算的表格:
| 假设情况 | 概率计算 |
| ---- | ---- |
| $H_0$ | $P_{fa}(T) = \sum_{t = 0}^{T - 1} C_8^t (15/16)^t (1 - 15/16)^{8 - t}$ |
| $H_1$ | $P_{fr}(T) = 1 - \sum_{t = 0}^{T - 1} C_8^t (P_{\Delta w})^t (1 - P_{\Delta w})^{8 - t}$ |

3. 性能分析与仿真结果

为了验证所提出方法的有效性,进行了相关实验,并对算法性能进行了讨论。在仿真中,测试图像为不同大小的灰度图像,像素值范围在 $[0, 255]$ 之间。

使用 $240×320$ 的图像进行实验,原始图像如图5 (a) 所示,水印图像如图5 (b) 所示,水印图像与原始图像的峰值信噪比(PSNR)为 $51.1023$ dB。从水印图像中提取的差异矩阵如图5 (c) 所示,所有像素均为零,表明测试图像是真实的。

图像类型 图像展示
原始图像 图5 (a)
水印图像 图5 (b)
差异矩阵 图5 (c)
3.1 篡改鉴别

为了说明该方法在篡改鉴别方面的有效性,对图5 (b) 的水印图像进行了几种篡改实验:
- 篡改1 :同时篡改图像内容和水印,在图5 (b) 的水印图像上粘贴一个假的车牌号 “R237JAD”,篡改后的图像如图6 (a) 所示。
- 篡改2 :篡改图像内容,将图5 (b) 中每个像素的7个最高有效位(MSBs)替换为图6 (a) 中对应像素的MSBs,结果图像如图6 (b) 所示。
- 篡改3 :篡改水印,将图5 (b) 中每个像素的LSB替换为图6 (a) 中对应像素的LSB,即改变测试图像的水印,篡改后的图像如图6 (c) 所示。

图6 (d)、6 (e) 和6 (f) 分别是三种篡改对应的差异图像,通过观察差异图像可以实现篡改定位和鉴别。从图6 (a) 可以看到,被篡改的车牌号区域被定位,图像中分散的孤立点表明嵌入的水印被更改。而在图6 (c) 中,只有分散的孤立点出现,这意味着图像的操作仅局限于水印,图像内容是真实的。

根据预定义的阈值 $T = 5$,三种篡改的认证结果分别如图7 (a)、7 (b) 和7 (c) 所示。图7 (a) 和7 (b) 显示了相同的篡改区域,这表明该方法无论篡改区域中的水印是否被更改,都能定位图像内容的修改。图7 (c) 中没有非零像素,意味着相应的图像内容是真实的。

Wong等人的LSB修改方案将从一个块导出的水印嵌入到同一块的LSB中,因此,无论篡改是发生在图像内容还是水印上,解码图像中显示的更改仍然局限于该块,导致检测结果无法区分。使用相同的测试图像和相同的修改,图7 (d)、7 (e) 和7 (f) 显示了使用Wong算法的三种篡改结果。该算法可以定位图像的更改位置,但无法判断对标记图像进行了何种操作,即使图6 (c) 包含真实的数字内容,也可能被判定为伪造。

以下是不同篡改实验及结果的 mermaid 流程图:

graph TD;
    A[水印图像Y] --> B[篡改1:内容和水印];
    A --> C[篡改2:内容];
    A --> D[篡改3:水印];
    B --> E[得到篡改后图像6(a)];
    C --> F[得到篡改后图像6(b)];
    D --> G[得到篡改后图像6(c)];
    E --> H[计算差异图像6(d)];
    F --> I[计算差异图像6(e)];
    G --> J[计算差异图像6(f)];
    H --> K[认证结果7(a)];
    I --> L[认证结果7(b)];
    J --> M[认证结果7(c)];
    A --> N[Wong算法];
    N --> O[篡改实验];
    O --> P[结果7(d)];
    O --> Q[结果7(e)];
    O --> R[结果7(f)];
3.2 定位精度

在本实验中,测试了所提出算法的定位精度。当前的分块方案中,篡改定位精度为 $8×8$ 块大小,而本算法可以达到 $2×2$ 的精度。图8 (a) 是由该算法生成的水印图像,使用 “Photoshop” 在图8 (a) 中放置一个杯子,篡改后的图像如图8 (b) 所示。使用预定义的阈值 $T = 5$,本算法的认证结果如图8 (c) 所示,使用相同方法,Wong算法的认证结果如图8 (d) 所示。这些结果表明,本认证算法比现有的分块方案(如Wong算法)更准确。

算法 定位精度 认证结果
本算法 $2×2$ 图8 (c)
Wong算法 $8×8$ 图8 (d)
4. 结论

提出了一种基于小波的脆弱水印算法用于安全的图像认证。在该算法中,使用离散小波变换(DWT)生成嵌入水印,然后通过混沌系统对水印进行加扰加密后嵌入图像数据的LSB中,提高了水印系统的安全性。仿真结果表明,该方法具有出色的篡改定位和鉴别性能。

未来的工作将致力于开发一种具有篡改恢复功能的安全脆弱水印方案,进一步提升水印算法在图像安全领域的应用价值。

下载前可以先看下教程 https://pan.quark.cn/s/a4b39357ea24 在网页构建过程中,表单(Form)扮演着用户与网站之间沟通的关键角色,其主要功能在于汇集用户的各类输入信息。 JavaScript作为网页开发的核心技术,提供了多样化的API和函数来操作表单组件,诸如input和select等元素。 本专题将详细研究如何借助原生JavaScript对form表单进行视觉优化,并对input输入框与select下拉框进行功能增强。 一、表单基础1. 表单组件:在HTML语言中,<form>标签用于构建一个表单,该标签内部可以容纳多种表单组件,包括<input>(输入框)、<select>(下拉框)、<textarea>(多行文本输入区域)等。 2. 表单参数:诸如action(表单提交的地址)、method(表单提交的协议,为GET或POST)等属性,它们决定了表单的行为特性。 3. 表单行为:诸如onsubmit(表单提交时触发的动作)、onchange(表单元素值变更时触发的动作)等事件,能够通过JavaScript进行响应式处理。 二、input元素视觉优化1. CSS定制:通过设定input元素的CSS属性,例如border(边框)、background-color(背景色)、padding(内边距)、font-size(字体大小)等,能够调整其视觉表现。 2. placeholder特性:提供预填的提示文字,以帮助用户明确输入框的预期用途。 3. 图标集成:借助:before和:after伪元素或者额外的HTML组件结合CSS定位技术,可以在输入框中嵌入图标,从而增强视觉吸引力。 三、select下拉框视觉优化1. 复选功能:通过设置multiple属性...
【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)内容概要:本文围绕“基于深度强化学习的微能源网能量管理与优化策略”展开研究,重点探讨了如何利用深度强化学习技术对微能源系统进行高效的能量管理与优化调度。文中结合Python代码实现,复现了EI级别研究成果,涵盖了微电网中分布式能源、储能系统及负荷的协调优化问题,通过构建合理的奖励函数与状态空间模型,实现对复杂能源系统的智能决策支持。研究体现了深度强化学习在应对不确定性可再生能源出力、负荷波动等挑战中的优势,提升了系统运行的经济性与稳定性。; 适合人群:具备一定Python编程基础和机器学习背景,从事能源系统优化、智能电网、强化学习应用等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微能源网的能量调度与优化控制,提升系统能效与经济效益;②为深度强化学习在能源管理领域的落地提供可复现的技术路径与代码参考;③服务于学术研究与论文复现,特别是EI/SCI级别高水平论文的仿真实验部分。; 阅读建议:建议读者结合提供的Python代码进行实践操作,深入理解深度强化学习算法在能源系统建模中的具体应用,重点关注状态设计、动作空间定义与奖励函数构造等关键环节,并可进一步扩展至多智能体强化学习或与其他优化算法的融合研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值