(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)

合集下载

可逆信息隐藏hs算法matlab

可逆信息隐藏hs算法matlab

可逆信息隐藏是指在保证原始载体数据不受损的情况下,将需要隐藏的信息嵌入到载体数据中,并且可以在需要时将隐藏的信息提取出来。

可逆信息隐藏的应用场景非常广泛,可以用于数字水印、版权保护、隐私保护等领域。

其中,HS算法是一种经典的可逆信息隐藏算法,而MATLAB是一种功能强大的科学计算软件,结合两者可以实现对图像信息的可逆隐藏和提取。

1. 可逆信息隐藏原理可逆信息隐藏是利用载体图像的一些隐含特性来隐藏需要传输的信息,在不损害载体图像质量的前提下,能够完整、准确地提取出隐藏的信息。

可逆信息隐藏主要包括隐写与加密两个主要过程。

隐写是指将需要隐藏的信息写入到载体图像中,而加密则是对隐藏的信息进行加密处理,增强信息的安全性。

2. HS算法原理HS算法是一种经典的可逆信息隐藏算法,其核心思想是利用图像的直方图来隐藏信息。

具体来说,HS算法首先对载体图像进行预处理,然后通过对直方图的调整来实现信息的隐藏。

在提取信息时,再根据调整后的直方图来还原隐藏的信息。

HS算法的优点是对图像没有任何损害,并且隐藏的信息可以完整提取出来。

3. MATLAB在可逆信息隐藏中的应用MATLAB作为一个功能强大的科学计算软件,提供了丰富的图像处理和加密算法库,非常适合用于可逆信息隐藏的实现。

利用MATLAB,可以方便地对图像进行处理、隐藏信息,并且提供了丰富的工具函数,能够直观地展示信息隐藏的效果。

4. 可逆信息隐藏HS算法在MATLAB中的实现通过MATLAB可以很方便地实现可逆信息隐藏HS算法。

需要对载体图像进行预处理,以便后续信息的隐藏。

利用HS算法将需要隐藏的信息写入到载体图像中,并对隐藏的信息进行加密处理。

在需要提取信息时,通过对载体图像的处理和对修改后的载体图像进行比对,可以成功地提取出隐藏的信息。

5. 代码示例以下是一个简单的MATLAB代码示例,演示了如何使用HS算法实现可逆信息隐藏:```matlab读取载体图像carrier_image = imread('carrier.png');进行预处理processed_image = preprocess(carrier_image);隐藏信息hidden_image = HS_algorithm(processed_image,'hidden_message');提取隐藏的信息extracted_message = extract_hidden_message(hidden_image);显示提取的信息disp(extracted_message);```通过以上代码示例,可以清晰地看到MATLAB如何便捷地实现了可逆信息隐藏HS算法的过程,并成功地提取出隐藏的信息。

(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)

(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)

%This is the program of Reversible Data Hiding in Encrypted Domain clc;clear;%===============Read image===========================original_p=rgb2gray(imread('LENA.tif'));[m,n]=size(original_p);%==============Image encryption====================== random_bits=rand(m,n*8)<=0.5;%伪随机序列for i=1:mfor j=1:ns=0;for k=0:7b(k+1)=mod(fix(double(origi nal_p(i,j))/(2Ak)),2);eb(k+1)=xor(b(k+1),random_bits(i,8*j+k-7)); s=s+eb(k+1)*(2A k);endencrypted_image(i,j)=s;endendfigure(1);subplot(1,2,1);imshow(original_p);hold on;title('Original image','fontsize',16);subplot(1,2,2);encrypted_image=uint8(encrypted_image);imshow(encrypted_image);title('Encrypted image','fontsize',16);%================Data embedding======================size=8; %分块大小N=6;%置乱周期number1=3;number2=N-number1;lim_row=fix(m/size); %图像的分块数lim_col=fix(n/size); %图像的分块数bitts=3;watermessage=rand(lim_row,lim_col)<0.5; %水印信息pseudo_randomly for i=1:lim_rowfor j=1:lim_col block_image{i,j}=encrypted_image((size*i-size+1):size*i,(size*j-size+1):size*j); % 分块for k=1:sizefor t=1:sizeindex=arnold(k,t,size,number1);%arnold is permutateion function;arno_block_image{i,j}(index(1)+1,index(2)+1)=block_image{i,j}(k,t); end end%数据嵌入sum0=zeros(size/2,size); if watermessage(i,j)==0 for k=0:7bbb{k+1}=mod(fix(double(arno_block_image{i,j}(1:size/ 2,:))/(2你)),2);if k<bitts bbb{k+1}=~bbb{k+1};endsum0=sum0+bbb{k+1}*(2A k);enddata_image{i,j}=[sum0;double(arno_block_image{i,j}(size/ 2+1:size,:))];endsum1=zeros(size/2,size);if watermessage(i,j)==1for k=0:7 bbb{k+1}=mod(fix(double(arno_block_image{i,j}(size/ 2+1:size,:))/(2Ak)),2);if k<bittsbbb{k+1}=~bbb{k+1};endsum1=sum1+bbb{k+1}*(2Ak);enddata_image{i,j}=[double(arno_block_image{i,j}(1:size/ 2,:));sum1];endfor k=1:sizefor t=1:size index=arnold(k,t,size,number2);%arnold is permutateion function;re_data_image{i,j}(index(1)+1,index(2)+1)=data_image{i,j}(k,t);endend%合成嵌入数据后的图像data_en_image((size*i-size+1):size*i,(size*j-size+1):size*j)=re_data_image{i,j};endend%=====Encrypt image which contains data====for i=1:lim_row*sizefor j=1:lim_col*sizes=0;for k=0:7b(k+1)=mod(fix(data_en_image(i,j)/(2Ak)),2);eb(k+1)=xor(b(k+1),random_bits(i,8*j+k-7));s=s+eb(k+1)*(2A k);endde_data_image(i,j)=s;endendfigure(2);hold on;subplot(1,2,1);imshow(original_p);title('Original image','fontsize',16);subplot(1,2,2);imshow(uint8(de_data_image));title('Decrypted image contains data','fontsize',16);%直接解密图像的峰值信噪比sumsss=0;for i=1:lim_row*sizefor j=1:lim_col*size sumsss=(de_data_image(i,j)-double(original_p(i,j)))A2+sumsss;endendmse=sumsss/((lim_row*size)*(lim_row*size));psnr=10*log10(255A2 /mse);%======Extract data and recover image=======for i=1:lim_rowfor j=1:lim_col block_de_image{i,j}=de_data_image((size*i-size+1):size*i,(size*j-size+1):size*j);%分块for k=1:sizefor t=1:size index=arnold(k,t,size,number1);%arnold is permutateion function;ar_block_de_image{i,j}(index(1)+1,index(2)+1)=block_de_image{i,j}(k,t);endendsum0=zeros(size/2,size);sum1=zeros(size/2,size);for k=0:7bbbO{k+1}=mod(fix(ar_block_de_image{i,j}(1:size/ 2,:)/(2你)),2);bbb1{k+1}=mod(fix(ar_block_de_image{i,j}(size/ 2+1:size,:)/(2A k)),2);if k<bittsbbb0{k+1}=~bbb0{k+1};bbb1{k+1}=~bbb1{k+1};endsum0=sum0+bbb0{k+1}*(2Ak);sum1=sum1+bbb1{k+1}*(2Ak);endar_H0_image{i,j}=[sum0;ar_block_de_image{i,j}(size/ 2+1:size,:)];ar_H1_image{i,j}=[ar_block_de_image{i,j}(1:size/ 2,:);sum1];for k=1:sizefor t=1:size index=arnold(k,t,size,number2);%arnold is permutateion function;H0_image{i,j}(index(1)+1,index(2)+1)=ar_H0_image{i,j}(k,t);H1_image{i,j}(index(1)+1,index(2)+1)=ar_H1_image{i,j}(k,t);endendf0=0;f1=0;for u=2:size-1for v=2:size-1f0=f0+abs(H0_image{i,j}(u,v)-(H0_image{i,j}(u-1,v)+H0_image{i,j}(u,v-1)+H0_image{i,j}(u+1,v)+H0_image{i,j}(u,v+1))/4);f1=f1+abs(H1_image{i,j}(u,v)-(H1_image{i,j}(u-1,v)+H1_image{i,j}(u,v-1)+H1_image{i,j}(u+1,v)+H1_image{i,j}(u,v+1))/4);endendif (f0-f1)<0extract_bits(i,j)=0; recover_image(size*i-size+1:size*i,size*j-size+1:size*j)=H0_image{i,j};elseextract_bits(i,j)=1; recover_image(size*i-size+1:size*i,size*j-size+1:size*j)=H1_image{i,j};endendendfigure(3);subplot(1,2,1);imshow(original_p);hold on;title('Original image','fontsize',16); subplot(1,2,2);recover_image=uint8(recover_image); imshow(recover_image);hold on; title('Recovered image','fontsize',16);%==============analysis============ diff=original_p(1:lim_row*size,1:lim_col*size)-recover_image;counts=0;for i=1:lim_rowfor j=1:lim_col block_diff{i,j}=diff((size*i-size+1):size*i,(size*j-size+1):size*j); %分块if extract_bits(i,j)~=watermessage(i,j) block_diff{i,j}=ones(size,size)*255;counts=counts+1;else block_diff{i,j}=original_p((size*i-size+1):size*i,(size*j-size+1):size*j);end diff_image((size*i-size+1):size*i,(size*j-size+1):size*j)=block_diff{i,j};endend figure(4); imshow(diff_image); hold on;%title('Blocks of incorrect','fontsize',16); %错误率与分块大小的关系rate=counts/((lim_row)*(lim_col))。

基于matlab的隐写术代码

基于matlab的隐写术代码

基于matlab的隐写术代码隐写术是一种将信息隐藏在其他媒介中的技术,它可以用于保护敏感信息的安全传输。

在本文中,我们将介绍如何使用MATLAB编写一个简单的隐写术代码。

首先,我们需要了解隐写术的基本原理。

隐写术的核心思想是将要隐藏的信息嵌入到一个载体中,使得外观上看不出任何痕迹。

在本例中,我们将使用一张图片作为载体,并将一段文本信息隐藏在其中。

首先,我们需要加载图片和文本信息。

在MATLAB中,可以使用imread函数加载图片,使用fopen和fread函数加载文本信息。

加载完成后,我们可以使用imshow函数显示图片,以确保载体和信息都已正确加载。

接下来,我们需要将文本信息转换为二进制形式。

在MATLAB中,可以使用dec2bin函数将十进制数转换为二进制数。

我们将每个字符的ASCII码转换为8位的二进制数,并将所有字符的二进制数连接起来,形成一个长的二进制字符串。

然后,我们需要将二进制信息嵌入到图片中。

在MATLAB中,可以使用imwrite函数将图片保存为新的文件。

我们可以通过修改图片的像素值来嵌入信息。

具体来说,我们可以将二进制信息的每一位嵌入到图片的RGB通道的最低有效位中。

这样,即使修改了像素值,人眼也很难察觉到变化。

最后,我们需要提取隐藏在图片中的信息。

在MATLAB中,可以使用imread函数加载修改后的图片。

然后,我们可以通过读取每个像素的RGB通道的最低有效位,提取出隐藏的二进制信息。

最后,我们可以使用bin2dec函数将二进制数转换为十进制数,并使用char函数将十进制数转换为字符。

通过以上步骤,我们就可以实现一个简单的基于MATLAB的隐写术代码。

当然,这只是一个简单的示例,实际应用中还需要考虑更多的因素,如加密算法、嵌入容量等。

但是,通过这个例子,我们可以了解到隐写术的基本原理和MATLAB的应用。

总结起来,基于MATLAB的隐写术代码可以通过加载图片和文本信息、将文本信息转换为二进制形式、将二进制信息嵌入到图片中、提取隐藏的信息等步骤实现。

按需发送的加密图像中的可逆信息隐藏

按需发送的加密图像中的可逆信息隐藏

按需发送的加密图像中的可逆信息隐藏
韩喜玉, 钱振兴, 张新鹏, 姜 飞
上海大学 通信与信息工程学院,上海 200444 摘 要: 提出了一种新的加密图像中的可逆信息隐藏算法. 发送方对图像进行下采样并计算 残差,得到子图像和残差两部分数据,再使用加密密钥对两部分数据分别进行加密后发送给 服务器端. 服务器端对残差部分的加密数据进行算术编码,产生冗余空间并使用嵌入密钥隐 藏额外数据. 接收端根据持有密钥的情况,从服务器端获取不同的数据版本. 与以往方法相 比,所提出的按需传输数据的新机制可有效减少服务器传送的数据量,且在图像可无损恢复 的前提下大大提高了数据嵌入率. 关键词:可逆数据隐藏;加密;信息隐藏;算术编码 中图分类号:TN911.73 文章编号:0255-8297(2015)01-0050-09
dD ). 图 2 得到最终的残差 D =(dB , dC , dD , dC 、 将 dB 、 dC 、 dD 分 别 转 化 成 一 维 行 向 量 dB 、 是最常见图像 Lena、Airplane 等 D 的统计. 横坐标表示 D 的值,为了方便,统计−50 和+50 之 间 的 残 差 值;纵坐 标表 示 每 个 残 值 对 应 的 数 目. 从 图 2 中 可 以 看 出,对 于 较 平 滑 的 图 像(Lena、Airplane),其残差分布较集中,且残差值为“ 0”和“−1”的较多. 正是由于这种数 据的冗余性, 信息隐藏者可以对其压缩, 用来嵌入数据. 获得残差后对图像进行重组,首先根据文献 [12] 的流密码对 IA 进行加密,则 IA 的每一 个像素 IA (i, j ) 分解为 IA (i, j, 0), IA (i, j, 1), · · ·, IA (i, j, 7) IA (i, j, k ) = IA (i, j )/2k mod 2

基于密文医学图像的可逆信息隐藏算法

基于密文医学图像的可逆信息隐藏算法
P i j = P i j k * 2 k å k=0
7
(2)
使用加密密钥 K EN 生成规模为 N1 ´ N 2 的随机数矩 阵R, 对所有像素按位异或加密。其中 R i j k 表示 R 中 第 i 行 j 列的随机数 R i j 转换成 8 位二进制后的第 k 位 比特。 Ep i j k 为 P i j k 加密后的值。当所有像素都经过 加密后, 得到加密后的图像 I EN 。图像拥有者将密文图 像 I EN 发送给信道拥有者, 即信息嵌入者。
原始医学图像加密密钥图像加密加密图像医学图像拥有方信息隐藏信息嵌入密钥含嵌入信息的加密图像原始医学图像信息图像恢复与提取信息提取密钥含嵌入信息的解密图像图像解密解密密钥接收方信息嵌入方算法框架图137computerengineeringapplications计算机工程与应用20165212222信息嵌入信息嵌入方接收到密文图像en后利用嵌入密钥em和斜线分组方式嵌入信息具体步骤如下
按位异或操作对医学图像进行加密, 然后信息嵌入方在 密文图像中进行信息嵌入。接收方接收到含有嵌入信 息的密文图像后, 首先利用解密密钥解密图像得到含有 嵌入信息的图像, 然后根据应用需求进行信息提取和图 像恢复操作。算法框架图如图 1 所示。
138
2016, 52 (12)
Computer Engineering and Applications 计算机工程与应用
[16]
原始医 学图像
图像加密
含嵌入信 息的加密 图像
(医学图像拥有方) 原始医 学图像 信息 提取密钥
(信息嵌入信息 的解密图像
图像解密 解密密钥
表, 算法首先将密文图像分为互不重叠的块, 随后将每 块随机分为两组, 通过翻转其中一组像素的 3LSBs 来嵌 入 1 比特数据, 接收端通过计算块的梯度值来提取信息 和恢复图像。针对该算法计算梯度值时忽略边缘像素 的问题, Hong[17]采用 side-match 技术做了改进, 而 Liao[18] 通过区分顶点像素、 非顶点边缘像素和非边缘像素进一 步降低了信息提取和图像恢复的错误率。 虽然文献 [17-18]已有较好的实验效果, 但是随机分 组方式使得像素 P i j 和其相邻像素可能同时被翻转, 因 此受影响的梯度值会使信息提取错误率提高。其次, 密 文图像中每块嵌入 1 比特信息, 使得嵌入容量较小。本 文一方面采用斜线分组方式使得翻转像素 P i j 时相邻 像素不会被翻转, 从而 P i j 的梯度值不会受到已翻转像 素的影响。另一方面, 由于每块可嵌入信息的像素被斜 线划分为四组而非两组, 因此本文算法每块可以嵌入 2 比特信息。最后, 由于医学图像具有十分光滑的平面和 主要信息集中的特征, 当块大小为 8×8, 像素值全为 255 的图像块中嵌入信息 1 后, 文献 [17-18] 提取嵌入信息过 程中, 得到的正确恢复块和错误恢复块的梯度值都为 0, 因此无法准确提取出嵌入信息 1。本文在嵌入信息时只 翻转图像块 1/8 像素的 3LSBs, 对含嵌入信息的解密图 像块 (原始图像为十分光滑的图像块) 提取信息时, 只有 正确恢复块的梯度值为 0, 错误恢复块的梯度值都大于 0。因此, 本文能从十分光滑的图像块中准确提取出嵌 入信息。实验数据显示, 本文算法能无损地恢复原始医 学图像, 准确地提取嵌入信息。在分块大小相同时, 本 文算法的嵌入容量是 Hong

基于MATLAB的图像信息隐藏算法研究与实现

基于MATLAB的图像信息隐藏算法研究与实现

Research and Realization of Image Information Hiding Algorithm Based on MATLAB 作者: 陈小娥[1]
作者机构: [1]福建船政交通职业学院信息工程系,福建福州350007
出版物刊名: 绍兴文理学院学报
页码: 86-92页
年卷期: 2018年 第9期
主题词: 信息隐藏;版权保护;嵌入与提取;MATLAB
摘要:网络技术和多媒体技术迅猛发展,为了更好地保障图像信息传输的安全性和可靠性,解决数字图像的版权保护问题,图像信息隐藏技术已成为图像处理领域的研究热点之一。

采用MATLAB开发环境,提出了一种图像信息隐藏算法,实现了图像信息隐藏的两大基本功能,即信息的嵌入和信息的提取。

同时,模拟常见的攻击方法,验证了添加隐藏信息后的图像的抗攻击能力。

实验表明,该算法具有较强的鲁棒性,添加隐藏信息后的图像能有效地应对多种常见攻击,且隐藏的信息具有良好的不可见性。

按需发送的加密图像中的可逆信息隐藏

按需发送的加密图像中的可逆信息隐藏

按需发送的加密图像中的可逆信息隐藏
韩喜玉;钱振兴;张新鹏;姜飞
【期刊名称】《应用科学学报》
【年(卷),期】2015(033)001
【摘要】提出了一种新的加密图像中的可逆信息隐藏算法.发送方对图像进行下采样并计算残差,得到子图像和残差两部分数据,再使用加密密钥对两部分数据分别进行加密后发送给服务器端.服务器端对残差部分的加密数据进行算术编码,产生冗余空间并使用嵌入密钥隐藏额外数据.接收端根据持有密钥的情况,从服务器端获取不同的数据版本.与以往方法相比,所提出的按需传输数据的新机制可有效减少服务器传送的数据量,且在图像可无损恢复的前提下大大提高了数据嵌入率.
【总页数】9页(P50-58)
【作者】韩喜玉;钱振兴;张新鹏;姜飞
【作者单位】上海大学通信与信息工程学院,上海200444;上海大学通信与信息工程学院,上海200444;上海大学通信与信息工程学院,上海200444;上海大学通信与信息工程学院,上海200444
【正文语种】中文
【中图分类】TN911.73
【相关文献】
1.基于秘密共享的同态加密图像可逆信息隐藏算法 [J], 周能;张敏情;刘蒙蒙
2.基于改进PVO自适应嵌入的加密域图像可逆信息隐藏方法 [J], 侯思祖;马红月;
项洪印
3.基于加密图像的可逆信息隐藏算法综述 [J], 庞明源;范贵进;孙容海
4.基于位平面循环异或的加密图像可逆信息隐藏 [J], 王慧;栗风永;朱恒杰
5.基于弹载遥测图像加密域的可逆信息隐藏算法 [J], 张伟;宋畅;洪文鹏;毕盛;卫俊杰
因版权原因,仅展示原文概要,查看原文内容请购买。

基于无损压缩的加密图像可逆信息隐藏

基于无损压缩的加密图像可逆信息隐藏

基于无损压缩的加密图像可逆信息隐藏郑淑丽;曹敏;胡东辉;李丹丹【摘要】Aiming at the defects of existing algorithms in the embedding capacity and the operation of receiver ,an algorithm of reversible data hiding in encrypted images based on lossless compression isproposed .Firstly ,the substitution encryption technology is used to encrypt the original image .Sec-ondly ,the data hider randomly divides the encrypted image into several equal and non-overlapping blocks ,then the ones are compressed with a lossless manner to create a sparse space to embed secret data .Finally ,the receiver can obtain secret data and original image by using the data-hiding key and decryption key .The experimental results show that compared with the previous methods ,the pro-posed method achieves excellent efficiency in peak signal-to-noise ratio(PSNR) and embedding rate .%针对现有方法存在的隐藏容量低、操作不灵活的缺陷 ,文章提出了一种基于无损压缩的加密图像可逆信息隐藏算法 . 图像拥有者对原始图像进行替换加密 ;秘密信息隐藏者将加密图像随机划分为若干个大小相等且互不重叠的块 ,并且在每个加密块中采用无损压缩技术获得空余空间来隐藏秘密信息 ;接收者采用提取密钥进行秘密信息提取后 ,再结合解密密钥能够正确恢复出原始图像 . 实验仿真结果表明 ,与现有方法相比 ,所提出的算法在峰值信噪比和信息隐藏率上都具有很好的效能 .【期刊名称】《合肥工业大学学报(自然科学版)》【年(卷),期】2016(039)001【总页数】6页(P50-55)【关键词】加密图像;可逆信息隐藏;替换加密;无损压缩;峰值信噪比;隐藏率【作者】郑淑丽;曹敏;胡东辉;李丹丹【作者单位】合肥工业大学计算机与信息学院 ,安徽合肥 230009;合肥工业大学计算机与信息学院 ,安徽合肥 230009;合肥工业大学计算机与信息学院 ,安徽合肥 230009;合肥工业大学计算机与信息学院 ,安徽合肥 230009【正文语种】中文【中图分类】TP309.7近年来,随着多媒体技术的快速发展以及在公共网络中安全传输的需求不断增加,加密技术[1]和可逆信息隐藏技术[2-4]成为保证信息安全的2个重要技术,学者们大都采用其中一种技术来保证信息传输的安全,然而在军事、商业、医疗[5]和司法证据等领域却需要将这2种技术相结合才能解决实际问题。

按需发送的加密图像中的可逆信息隐藏

按需发送的加密图像中的可逆信息隐藏
是根据kenc生成的随机序列最终根据式5恢复子图像x在该情况下虽然不能完整的恢复出原始图像但是这里获得的子图像是无损的于是可以通过图像插值方法得到较逼真的原始图像19实际上接收方获得加密密钥的目的就是为了近似获取原始图像内容
第 33 卷 第 1 期
2015年1月

用 科 学
学 报
Vol. 33 No. 1
Jan. 2015
JOURNAL OF APPLIED SCIENCES — Electronics and Information Engineering
DOI: 10.3969/j.issn.0255-8297.2015.01.006
按需发送的加密图像中的可逆信息隐藏
韩喜玉, 钱振兴, 张新鹏, 姜 飞
S
ci =
t=1
sgn(t)
(8)
1, |Dt − Di | = 0 3 M N. 1 t 4 式中, sgn(t) = 0, 其他 ci 2 1 替换 ci 个i, 得到 V . 令 F = {D1 , D2 , · · · , DS }, 其中 , · · ·, Di , Di 对 D 进行修改, 将 Di D1 , D2 , · · · , DS 与 1, 2, · · · , S 之间存在一一对应关系. 最后重组的信息为 U =(IA ,V ). IA 的 1 长度是公开的, 为 m × n(m = 2 Mj = 1 如果没有密钥 (Kenc , F ), 原始图像的 2 N ). 可以看出, 内容就不会被泄露.
Reversible Data Hiding in Encrypted Images Transmitted on Demand
HAN Xi-yu, QIAN Zhen-xing, ZHANG Xin-peng, JIANG Fei

基于多目标优化的加密图像可逆信息隐藏

基于多目标优化的加密图像可逆信息隐藏

基于多目标优化的加密图像可逆信息隐藏
张翔宇;杨阳;冯国徽;秦川
【期刊名称】《计算机应用》
【年(卷),期】2022(42)6
【摘要】针对加密前预留空间(RRBE)嵌入算法需要进行一系列的预处理工作,以及加密后腾出空间(VRAE)嵌入算法嵌入空间较小的缺点,为了在提高嵌入率的同时缩
减算法流程和减少工作量,提出一种基于多目标优化的加密图像可逆信息隐藏算法。

该算法将RRBE与VRAE中两个具有代表性的算法在同一载体中结合使用,并以信
息嵌入量、直接解密图像失真、提取错误率、计算复杂度等性能评价指标作为优化子目标,再利用功效系数法建立模型求解出两种算法应用比例的相对最优解。

实验
结果表明,所提算法不仅能够降低单独使用RRBE算法的计算复杂度,还能使图像处
理用户够根据实际应用场景中不同的需求灵活地分配优化目标,同时也能获得较好
的图像质量和令人满意的信息嵌入量。

【总页数】8页(P1716-1723)
【作者】张翔宇;杨阳;冯国徽;秦川
【作者单位】上海理工大学光电信息与计算机工程学院;东南数字经济发展研究院【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于改进PVO自适应嵌入的加密域图像可逆信息隐藏方法
2.基于加密图像的可逆信息隐藏算法综述
3.基于位平面循环异或的加密图像可逆信息隐藏
4.基于弹载遥测图像加密域的可逆信息隐藏算法
5.基于Paillier加密的大容量双图像可逆信息隐藏
因版权原因,仅展示原文概要,查看原文内容请购买。

自适应高容量医学图像可逆数据隐藏算法

自适应高容量医学图像可逆数据隐藏算法

自适应高容量医学图像可逆数据隐藏算法黄斌;史亮;邓小鸿;陈志刚【摘要】A new reversible data hiding algorithm for medical images was proposed. The hidden information was embedded into Region Of Interest ( ROI) and non-interest respectively. In ROI, an adaptive integer transform scheme was employed to enhance the embedding capacity and control distortions. And in Region of Non-Interest (RONI), the classical Least Significant Bit ( LSB) method was used to keep the marked image' s quality. The experimental results show that, compared with previous works, the performance of the proposed method has been significantly improved in terms of capacity and image quality. The proposed method' s embedding capacity is between L2 bpp and 1. 7 bpp, while the Peak Signal-to-Noise Ratio (PSNR) can maintain the 43 dB or so. Moreover, the proposed method with high run efficiency can be applied into the practical hospital information system.%提出了一种新的医学图像无损数据隐藏算法,根据医学图像特点,将隐秘信息分别嵌入在感兴趣区域和非感兴趣区域中.在非感兴趣区域中,采用自适应整数变换方法增大嵌入容量并控制失真;在感兴趣区域,采用最低有效位替换方法控制水印图像质量.实验结果表明,算法的嵌入容量在1.2 bpp到1.7 bpp之间,而峰值信噪比保持在43 dB左右.与现有相关算法相比,嵌入容量具有明显优势并保持较高的图像质量.另外,本方法计算复杂度低,能方便应用于实际的医学信息系统中.【期刊名称】《计算机应用》【年(卷),期】2012(032)010【总页数】4页(P2779-2782)【关键词】可逆数据隐藏;医学图像;整数变换;最低有效位;感兴趣区域【作者】黄斌;史亮;邓小鸿;陈志刚【作者单位】莆田学院电子信息工程学系,福建莆田351100;厦门大学软件学院,福建厦门361005;中南大学信息科学与工程学院,长沙410083;中南大学信息科学与工程学院,长沙410083【正文语种】中文【中图分类】TP391.410 引言无损数据隐藏当隐秘数据被提取后,原始载体能被无损恢复[1-5]。

图像加密域可分离可逆信息隐藏算法的系统设计与实现

图像加密域可分离可逆信息隐藏算法的系统设计与实现

图像加密域可分离可逆信息隐藏算法的系统设计与实现乔中良【期刊名称】《计算机应用》【年(卷),期】2015(000)0z1【摘要】An algorithm of separable reversible information hiding in encrypted image was improved. A system of separable reversible information hiding in encrypted image was designed and implemented. In the system, a content owner encrypts the original image with an encryption key. An information hider compresses the lowest bit plane of the encrypted image with an information hiding key in order to create a spare space. The additional data is embedded in the spare space. Finally the encrypted image with the embedded information is produced. For the recipient with information hiding key, he can extract the hiding information, but he could not know the original image. For the recipient with the encryption key, he can decrypt the encrypted data directly to obtain an image similar to the original one, but he could not extract the embedding data. For the recipient with information hiding key and the encryption key, he not only can extract the additional data, but also can recover the similar version of the original image by using the spatial correlation of natural image. The results of the example show that the algorithm has the advantages of the greater embedded capacity, and more flexible operation.%改进了一种图像加密域可分离可逆信息隐藏的算法,设计并实现了一个图像加密域的可分离可逆信息隐藏软件系统。

面向云计算安全应用的密文图像可逆信息隐藏算法

面向云计算安全应用的密文图像可逆信息隐藏算法

面向云计算安全应用的密文图像可逆信息隐藏算法
肖迪;白科;郑洪英
【期刊名称】《计算机应用研究》
【年(卷),期】2015(32)12
【摘要】针对目前密文图像可逆信息隐藏算法容量较小的缺点,通过引入云计算服务,基于矩阵的奇异值分解,提出了一种面向云计算安全应用的密文图像可逆信息隐藏算法.该算法利用云端强大的计算和存储能力,对密文图像的某些比特平面(LSB-planes)进行奇异值分解,并存储产生的恢复字典,然后将信息直接嵌入奇异值矩阵中.实验结果表明,该算法在保证图像隐私安全和图像失真度很低的前提下,在嵌入容量上有明显提高,提取信息后图像能够完全恢复,并且信息提取与图像恢复可分离.与其他算法相比,该算法具有更高的嵌入容量.
【总页数】5页(P3702-3705,3713)
【作者】肖迪;白科;郑洪英
【作者单位】重庆大学计算机学院,重庆400044;重庆大学计算机学院,重庆400044;重庆大学计算机学院,重庆400044
【正文语种】中文
【中图分类】TP309.7
【相关文献】
1.大容量的密文域图像可逆信息隐藏算法 [J], 何志红;秦川;周青
2.基于密文医学图像的可逆信息隐藏算法 [J], 郑洪英;何洁;彭钟贤;肖迪
3.基于位平面压缩的密文医学图像可逆信息隐藏算法 [J], 郑洪英;任雯;程惠惠
4.图像插值空间完全可逆可分离密文域信息隐藏算法 [J], 王继军; 李国祥; 夏国恩; 孙泽锐
5.基于数据报重组与光学干涉的密文多图像可逆信息隐藏 [J], 郭媛;王学文;王充;姜津霖
因版权原因,仅展示原文概要,查看原文内容请购买。

图像隐藏算法的MATLAB实现

图像隐藏算法的MATLAB实现

图像隐藏算法的MATLAB实现宫海梅【期刊名称】《智能计算机与应用》【年(卷),期】2016(006)004【摘要】根据HVS的特性,人类视觉系统对高位信号敏感,去掉图像最低几个位并不会造成画面质量的明显下降,视觉系统就无法感觉到信号的存在,提出了四比特图像信息替换算法实现图像隐藏,运用MATLAB软件进行算法实现,嵌入信息后的载体图像与原始图像视觉效果基本一致,有效解决了图像信息隐藏问题。

%According to the characteristics of HVS, The human visual system is sensitive to the high signal. To remove the image of the least number of bits does not cause a significant decline in the quality of picture, the visual system can not feel the existence of the signal. In this paper, four bit image information replacement algorithm is proposed to realize the image hiding, MATLAB software is used to realize the algorithm. The carrier image after embedding information is basically consistent with the original image, effectively solve the problem of image information hiding.【总页数】3页(P60-62)【作者】宫海梅【作者单位】海南工商职业学院信息工程系,海口570203【正文语种】中文【中图分类】TP391【相关文献】1.基于混沌差分的图像隐藏算法与实现 [J], 杨玉平;陈石波;孙中祥2.基于坐标轴的双重置乱数字图像隐藏算法与实现 [J], 杨玉平;陈勇;尹丽花3.基于联合贝叶斯算法的人脸匹配算法的Matlab实现 [J], 黎红;张昊龙4.图像隐藏算法的MATLAB实现 [J], 宫海梅;5.模板匹配识别算法和神经网络识别算法的比较及MATLAB实现 [J], 陶鹏;朱华因版权原因,仅展示原文概要,查看原文内容请购买。

基于多项式秘密共享的图像密文域可逆信息隐藏

基于多项式秘密共享的图像密文域可逆信息隐藏

基于多项式秘密共享的图像密文域可逆信息隐藏张敏情;王泽曦;柯彦;孔咏骏;狄富强【期刊名称】《电子与信息学报》【年(卷),期】2022(44)12【摘要】针对密文域可逆信息隐藏在多用户场景下算法嵌入率低、载体图像容灾性能较弱等问题,该文提出一种基于多项式秘密共享的图像密文域可逆信息隐藏方案。

通过将图像分割成多幅影子图像并存储在不同的用户端,可以增强图像的容灾性,为了实现额外信息在图像重构前后提取的可分离性,该方案包括两种嵌入算法:算法1在图像分割的过程中,将额外信息嵌入多项式的冗余系数中得到含有额外信息的影子图像,该算法支持在图像重构之后提取额外信息;算法2针对图像分割后的任一影子图像,利用秘密共享的加法同态特性实施嵌入,该算法支持直接从影子图像中提取额外信息。

实验在不同门限方案和影子图像压缩率的条件下进行测试,当压缩率为50%时,(3,4)门限方案的嵌入率达4.18 bpp(bit per pixel),(3,5)门限方案的嵌入率达3.78 bpp。

结果表明,两种嵌入算法分别支持从影子图像与重构图像中提取额外信息,实现了方案的可分离性;与现有方案相比,所提算法嵌入率较高、计算复杂度较低,具有较强的实用性。

【总页数】11页(P4337-4347)【作者】张敏情;王泽曦;柯彦;孔咏骏;狄富强【作者单位】武警工程大学密码工程学院;中国人民武装警察部队密码与信息安全保密重点实验室【正文语种】中文【中图分类】TN918.4;TP309.7【相关文献】1.基于二叉树标记与码分复用的密文域图像可逆信息隐藏2.基于秘密共享的可分离密文域可逆信息隐藏算法3.基于直方图修改的图像密文域可逆信息隐藏4.基于细粒度嵌入空间预留的密文域图像可逆信息隐藏方法5.基于图像秘密共享的密文域可逆信息隐藏算法因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%This is the program of Reversible Data Hiding in Encrypted Domainclc;clear;%===============Read image=========================== original_p=rgb2gray(imread('LENA.tif'));[m,n]=size(original_p);%==============Image encryption====================== random_bits=rand(m,n*8)<=0.5; %伪随机序列for i=1:mfor j=1:ns=0;for k=0:7b(k+1)=mod(fix(double(original_p(i,j))/(2^k)),2);eb(k+1)=xor(b(k+1),random_bits(i,8*j+k-7));s=s+eb(k+1)*(2^k);endencrypted_image(i,j)=s;endendfigure(1);subplot(1,2,1);imshow(original_p);hold on;title('Original image','fontsize',16);subplot(1,2,2);encrypted_image=uint8(encrypted_image);imshow(encrypted_image);title('Encrypted image','fontsize',16);%================Data embedding====================== size=8; %分块大小N=6;%置乱周期number1=3;number2=N-number1;lim_row=fix(m/size); %图像的分块数lim_col=fix(n/size); %图像的分块数bitts=3;watermessage=rand(lim_row,lim_col)<0.5; %水印信息%======pseudo_randomly=======for i=1:lim_rowfor j=1:lim_colblock_image{i,j}=encrypted_image((size*i-size+1):size*i,(size*j-size+1):size*j); %分块for k=1:sizefor t=1:sizeindex=arnold(k,t,size,number1);%arnold is permutateion function;arno_block_image{i,j}(index(1)+1,index(2)+1)=block_image{i,j}(k,t);endend%数据嵌入sum0=zeros(size/2,size);if watermessage(i,j)==0for k=0:7bbb{k+1}=mod(fix(double(arno_block_image{i,j}(1:size/2,:))/(2^k)),2);if k<bittsbbb{k+1}=~bbb{k+1};endsum0=sum0+bbb{k+1}*(2^k);enddata_image{i,j}=[sum0;double(arno_block_image{i,j}(size/2+1:size,:))];endsum1=zeros(size/2,size);if watermessage(i,j)==1for k=0:7bbb{k+1}=mod(fix(double(arno_block_image{i,j}(size/2+1:size,:))/(2^k)),2);if k<bittsbbb{k+1}=~bbb{k+1};endsum1=sum1+bbb{k+1}*(2^k);enddata_image{i,j}=[double(arno_block_image{i,j}(1:size/2,:));sum1];endfor k=1:sizefor t=1:sizeindex=arnold(k,t,size,number2);%arnold is permutateion function;re_data_image{i,j}(index(1)+1,index(2)+1)=data_image{i,j}(k,t);endend%合成嵌入数据后的图像data_en_image((size*i-size+1):size*i,(size*j-size+1):size*j)=re_data_image{i,j};endend%=====Encrypt image which contains data====for i=1:lim_row*sizefor j=1:lim_col*sizes=0;for k=0:7b(k+1)=mod(fix(data_en_image(i,j)/(2^k)),2);eb(k+1)=xor(b(k+1),random_bits(i,8*j+k-7));s=s+eb(k+1)*(2^k);endde_data_image(i,j)=s;endendfigure(2);hold on;subplot(1,2,1);imshow(original_p);title('Original image','fontsize',16);subplot(1,2,2);imshow(uint8(de_data_image));title('Decrypted image contains data','fontsize',16);%直接解密图像的峰值信噪比sumsss=0;for i=1:lim_row*sizefor j=1:lim_col*sizesumsss=(de_data_image(i,j)-double(original_p(i,j)))^2+sumsss;endendmse=sumsss/((lim_row*size)*(lim_row*size));psnr=10*log10(255^2/mse);%======Extract data and recover image=======for i=1:lim_rowfor j=1:lim_colblock_de_image{i,j}=de_data_image((size*i-size+1):size*i,(size*j-size+1):size*j); %分块for k=1:sizefor t=1:sizeindex=arnold(k,t,size,number1);%arnold is permutateion function;ar_block_de_image{i,j}(index(1)+1,index(2)+1)=block_de_image{i,j}(k,t);endendsum0=zeros(size/2,size);sum1=zeros(size/2,size);for k=0:7bbb0{k+1}=mod(fix(ar_block_de_image{i,j}(1:size/2,:)/(2^k)),2);bbb1{k+1}=mod(fix(ar_block_de_image{i,j}(size/2+1:size,:)/(2^k)),2);if k<bittsbbb0{k+1}=~bbb0{k+1};bbb1{k+1}=~bbb1{k+1};endsum0=sum0+bbb0{k+1}*(2^k);sum1=sum1+bbb1{k+1}*(2^k);endar_H0_image{i,j}=[sum0;ar_block_de_image{i,j}(size/2+1:size,:)];ar_H1_image{i,j}=[ar_block_de_image{i,j}(1:size/2,:);sum1];for k=1:sizefor t=1:sizeindex=arnold(k,t,size,number2);%arnold is permutateion function;H0_image{i,j}(index(1)+1,index(2)+1)=ar_H0_image{i,j}(k,t);H1_image{i,j}(index(1)+1,index(2)+1)=ar_H1_image{i,j}(k,t);endendf0=0;f1=0;for u=2:size-1for v=2:size-1f0=f0+abs(H0_image{i,j}(u,v)-(H0_image{i,j}(u-1,v)+H0_image{i,j}(u,v-1)+H0_image{i,j}(u+1,v)+H0 _image{i,j}(u,v+1))/4);f1=f1+abs(H1_image{i,j}(u,v)-(H1_image{i,j}(u-1,v)+H1_image{i,j}(u,v-1)+H1_image{i,j}(u+1,v)+H1 _image{i,j}(u,v+1))/4);endendif (f0-f1)<0extract_bits(i,j)=0;recover_image(size*i-size+1:size*i,size*j-size+1:size*j)=H0_image{i,j};elseextract_bits(i,j)=1;recover_image(size*i-size+1:size*i,size*j-size+1:size*j)=H1_image{i,j};endendendfigure(3);subplot(1,2,1);imshow(original_p);hold on;title('Original image','fontsize',16);subplot(1,2,2);recover_image=uint8(recover_image);imshow(recover_image);hold on;title('Recovered image','fontsize',16);%==============analysis============diff=original_p(1:lim_row*size,1:lim_col*size)-recover_image;counts=0;for i=1:lim_rowfor j=1:lim_colblock_diff{i,j}=diff((size*i-size+1):size*i,(size*j-size+1):size*j); %分块if extract_bits(i,j)~=watermessage(i,j)block_diff{i,j}=ones(size,size)*255;counts=counts+1;elseblock_diff{i,j}=original_p((size*i-size+1):size*i,(size*j-size+1):size*j);enddiff_image((size*i-size+1):size*i,(size*j-size+1):size*j)=block_diff{i,j};endendfigure(4);imshow(diff_image);hold on;%title('Blocks of incorrect','fontsize',16);%错误率与分块大小的关系rate=counts/((lim_row)*(lim_col))。

相关文档
最新文档