Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 水印图像的攻击_Image_Matlab_Encryption_Watermark - Fatal编程技术网

Image 水印图像的攻击

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

我正在做一个使用离散小波变换(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 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