Image 水印图像的攻击
我正在做一个使用离散小波变换(DWT)和加密的图像水印项目。它是按照以下步骤进行的 1.)所选主机图像(水印将隐藏在其中的图像)。Image 水印图像的攻击,image,matlab,encryption,watermark,Image,Matlab,Encryption,Watermark,我正在做一个使用离散小波变换(DWT)和加密的图像水印项目。它是按照以下步骤进行的 1.)所选主机图像(水印将隐藏在其中的图像)。 2.)已选择水印。 3.)使用以下代码加密水印(Matlab代码) 4.)使用DWT进行水印处理 5.)使用恢复公式恢复加密水印 6.)使用以下代码解密水印 % it will generate the 2 columns having maximum value u*v and where u and v are dimensions(width an
2.)已选择水印。
3.)使用以下代码加密水印(Matlab代码) 4.)使用DWT进行水印处理 5.)使用恢复公式恢复加密水印 6.)使用以下代码解密水印
% it will generate the 2 columns having maximum value u*v and where u and v are dimensions(width and height) of recovered watermark from watermarked image.
recoverOrder = zeros([u*v], 2);
recoverOrder(:, 1) = 1 : (u*v); % make the first column value from 1: u*v
recoverOrder(:, 2) = scrambleOrder; % make second column value of randon permutation generated during encryption
newOrder1 = sortrows(recoverOrder, 2); % sort rows of column1 and column 2
newOrder = newOrder1(:,1); Eliminate column2
redChannel = redChannel(newOrder); % New order value into red channel
greenChannel = greenChannel(newOrder); % New order value into green channel
blueChannel = blueChannel(newOrder); % New order value into blue channel
redChannel = reshape(redChannel, [u, v]); % reshape red channel
greenChannel = reshape(greenChannel, [u, v]); % reshape green channel
blueChannel = reshape(blueChannel, [u, v]); % reshape blue channel
D = cat(3, redChannel, greenChannel, blueChannel); % cat RGB and store it in D
我的问题是,我对带水印的图像进行了很多攻击,如旋转、缩放、剪切,但PSNR和MSE介于(水印和解密水印)之间,但对性能参数没有影响。
我认为在解密过程中,我使用了与加密图像相同的兰德排列。所以我认为,攻击并没有对解密图像产生任何影响
问题是在代码中查找什么。似乎您必须将
扰码顺序
存储在加密图像文件中,这会导致A)大幅增加图像大小/记住一个巨大的密钥!B) 没有任何安全,因为钥匙无论如何都在那里;此外,这个问题似乎并不具体,也没有提出问题。一般来说,在这种情况下,问题是针对某个特定的问题而提出的,而这个问题是你一直在努力解决的。
% it will generate the 2 columns having maximum value u*v and where u and v are dimensions(width and height) of recovered watermark from watermarked image.
recoverOrder = zeros([u*v], 2);
recoverOrder(:, 1) = 1 : (u*v); % make the first column value from 1: u*v
recoverOrder(:, 2) = scrambleOrder; % make second column value of randon permutation generated during encryption
newOrder1 = sortrows(recoverOrder, 2); % sort rows of column1 and column 2
newOrder = newOrder1(:,1); Eliminate column2
redChannel = redChannel(newOrder); % New order value into red channel
greenChannel = greenChannel(newOrder); % New order value into green channel
blueChannel = blueChannel(newOrder); % New order value into blue channel
redChannel = reshape(redChannel, [u, v]); % reshape red channel
greenChannel = reshape(greenChannel, [u, v]); % reshape green channel
blueChannel = reshape(blueChannel, [u, v]); % reshape blue channel
D = cat(3, redChannel, greenChannel, blueChannel); % cat RGB and store it in D