《物联网信息安全》实验指导书.docx
《《物联网信息安全》实验指导书.docx》由会员分享,可在线阅读,更多相关《《物联网信息安全》实验指导书.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一图象输入与输出基本操作(2学时)实验二基于DCT域的数字水印技术(2学时)综合性实验基于傅立叶域变换的数字水印技术(4学时)实验前豫备知识:数字水印技术是利用数字产品普遍存在的冗余数据与随机性,将水印信息嵌 入在数字产品本身中,从而起到保护数字产品版权或者完整性的一种技术。现在学术界对数字水印算法的理解都是将一些不易察觉的具有随机特性的数 据嵌入到图象频域或者空域的系数上。从信号处理的角度看,嵌入水印可以看成 是在强背景下迭加一个弱信号,由于人类视觉系统的分辨率受到一定的限制,只 要迭加的信号幅度不超过HVS的对照门限,人眼就无法感觉到信号的存在,所 以可以通过对原始图象进行一定调整,在
2、不影响视觉效果的情况下嵌入一些水印 信息。数字水印系统的普通模型如图1所示:图1数字水印系统基本模型水印嵌入器的输入量有三个:水印信号M,宿主信号S和密钥K.水印信号M是指原始水印(图象或者一个数字序列)通过一定的方法经过调 制 将嵌入到宿主信号中的数字信号。宿主信号S是指被嵌入水印的信号(原始信号).密钥K则指用于提高水印系统安全性的密码信息,它独立于宿主信号.密钥有 私有密钥和公共密钥之分,前者指攻击者在明确了水印嵌入方法但又不知道密钥 的情况下,水印不会被破坏或者盗取;后者是指攻击者对宿主信号(如内容标识、 语言字幕等)不感兴趣的情况下,密钥也就不存在保密性,可以作为公共密钥。实验一 图
3、象输入与输出基本操作一、实验题目:图象输入与输出操作二、实验目的学习在MATLAB环境下对图象文件的I/O操作,为读取各种格式的图象文件 和后续进行图象处理打下基础.三、实验内容利用MATLAB为用户提供的专门函数从图象格式的文件中读/写图象数据、cda1 (x+3 , y+6)=cda0(x+3 , y+6)+alpha*k (3);cda1 (x+4,y+5)=cda0 ( x+4,y+5)+alpha *k;cda1 (x+5 , y+4)=cda0(x+5 , y+4) +alpha * k(5);cda1 (x+6 , y+3)=cda0(x+6,y+3)+alpha* k(6 );
4、cda1 (x+7,y+2)=cda0 (x+7 , y+2) +alpha*k (7);cda1 (x+8,y+1 ) =cda0(x+8,y+1 ) +alpha*k(8); endend% %嵌入水印后图象%wimage=blkproc(cda1 ,8,8 ;idct2,);wimage_ 1 =uint8(wimage );imwrite ( wimage_ 1 , fwithmark.bmp, , bmp);subplot(2,3,2) , imshow(wimage, ) , title (嵌入水印后图象);% % %进行攻击测试 % % %disp( 1加入白噪声);disp(
5、2高斯低通滤波);disp( 3剪切图象);disp ( 4-旋转攻击);disp (节直接检测)begin=input(请选择攻击(1 - 5):)switch begin% %加入白噪声% %Aimage1=wimage ;Wnoise=20 *randn ( size (Aimagel );Aimagel =Aimage1 +Wnoise;subplot(2 ,3,4) ,imshow(Aimage1 , ) , title(加入白噪声后的图象); att=Aimage1 ;imwrite(att/ whitenoiseimage, bmp)% %高斯低通滤波% % % % %Aimag
6、e2=wimage ;H=fspecial Cgaussian, 4 , 4,0.5 );Aimage2=imfilter(Aimage25H);subplot(2 ,3,4), imshow (Aimage2 , 口 ) , title (高斯低通滤波后的图象);att=Aimage2;imwrite(att , *gaussianimage。bmp)% 剪切攻击% % %Aimage3=wimage ;Aimage3 ( 1 : 128,1 : 128) =256;subplot (2,3 , 4),imshow(Aimage35口 ) , title (剪切后的图象); att=Aima
7、ge3;imwrite ( att,cutpartimage 。bmp)% % %旋转攻击 % %Aimage4=wimage ;Aimage4=imrotate(Aimage4,10, bilinear , crop);Aimage_4=mat2gray(Aimage4);subplot (2 , 3,4) ,imshow(Aimage_4 , ) , title (旋转 10 度后的图象); att=Aimage_4;imwrite ( att/rotatedimage.bmp,);% % %没有受到攻击% %subplot(2,3,4),imshow(wimage , ),title(直
8、接提取的图象);att=wimage;imwrite(att ,directimage.bmp);end% % % 提取水印 % %tmark_O=att;tmark_0=blkproc (tmark_0 , 8,8, dct2);pass=zeros(1 , 8);for i=1 :mofor j=1 :nox= (i1) *8 ; y= (j1) *8;pass(1)=tmark_0 (x+1 , y+8); pass ( 2)=tmark_0 (x+2,y+7 );pass (3) =tmark_0(x+3 , y+6);pass (4) =tmark_0(x+4,y+5 );pass
9、(5) =tmark_0(x+5,y+4 );pass(6) =tmark_0(x+6 , y+3);pass (7) =tmark_O (x+7 , y+2);pass(8) =tmark_0(x+8 , y+1);if ( corr2 (pass,rand1 ) corr2(pass ,rand2) tmark_1(i , j) =1;elsetmark_ 1(iJ)=0;endendend% % 计算NC (归一化相关系数) % % %g_mark=double(tmark_ 1);o_mark=double ( omark);m,n=size (g_mark);nc_0=0;nc_ 1
10、 =0 ;nc_2=0;for i=1 : mfor j=1:nnc_0=nc_0+g_mark(i,j ) * o_mark(i,j );nc_ 1 =nc_ 1 +o_mark(i , j) * o_mark (i , j);nc_2=nc_24-g_mark(i,j) * g_mark (i , j);endendNC=nc_0/sqrt(nc_ 1 *nc_2);%显示提取水印% %subplot(2,3 ,5)jmshowC muxiao o bmp) ,title(,原始水印图象);subplot (2,3,6) ,imshow(tmark_ 1 ,);name=提取得水印图象;t
11、itle(strcat (num2str(name) , NC=, num2str (NC);综合设计性实验基于傅立叶域变换的数字水印技术实验目的:学习使用基于傅立叶域的数字水印嵌入算法和基于DCT域数字水印 检测提取算法。实验内容和原理:傅立叶变换(Fourier Transform)是线性系统分析的一个有力工具,是研究信 号的频谱方法,它架起了时域和频域之间的桥梁.使我们能够定量分析诸如数字化 系统、采样点、电子放大器、卷积滤波器、噪声等的作用,把傅立叶变换的理论同 其物理解释相结合,将大大有助于解决大多数图象处理问题。Fourier分析理论十分完善,既可以处理连续信号也可以处理离散信号。
12、计 算机只能处理离散信号,且在数字图象处理中,输入图象和输出图象通常都是 二维的,普通表示成二维数字矩阵,因此这里直接讨论二维离散傅立叶变换(DFT) 和二维快速傅立叶变换(FFT) .(1)二维离散傅立叶变换 DFT ( Discrete Fourier Transfoim)二维离散傅立叶变换对定义式如下:(1 1)(1-2 )二维离散傅立叶变换的傅立叶谱、相位、功率谱分别如下:傅立叶谱:(1-3 )相位:(1 4)功率谱:(1 5)式子(1T)可以分离为:(1 6)式子(12)可以分离为:(1 7)由上两式可知,二维傅立叶变换可由连续两次一维傅立叶变换得到,从而将 二维DFT分解为水平和垂
13、直两部份运算,上式中方括号中的项表示在图象的行上 计算的DFT,方括号外边的求和则实现结果数组在列上的DFT,这种分解使我们 可以用一维FFT来快速实现二维DFTo(2)二维快速傅立叶变换 FFT (Fast Fourier Transform)FFT的基本思想是:令序列的长度为,如果不满足,在尾部补零,没有任何影响。按n奇偶把分解 为两个N/2点的子序列:(18) (19) 那末(1 10) 将(1-8)和(1 9)式代入上式得:(1 11)上式右边的两部份恰好是长度(周期)为N/2的的傅立叶变换,所以:(1-12)(1-13)这样一个长度为N的DFT就分解为两个长度为N/2的DFT,然后进
14、行N/2次 复数的蝶式运算,再运用分解-递归思想,分解次,每一次均有N/2个蝶式运算,所 以FFT的时间复杂度为。FFT在图象运用中的思想是,先将原图象进行转置,按行对转置后的图象矩 阵做一维FFT,将此变换所得的中间矩阵再转置,再按对转置后的中间矩阵做一 维FFT,最后得到的就是二维FFTo 实验操作方法与步骤: (1)嵌入算法的步骤如下:1 .将宿主图象分成8X8的块,每一块都进行DFT变换,得到与宿主图象相 同尺寸的DFT域图象系数矩阵。2 .产生两个不相关的伪随机序列,并设定一个密钥keyo3 .将每一个8X8的DFT系数矩阵,从每一块的中频段取出个系数。4 .由于DFT域的幅度谱具有
15、对称性,为了水印嵌入后保持这种对称性,也 为了确保恢复图象像素值为实数,嵌入水印时采用对称嵌入。嵌入规则为当水印 图象元素为0时,按照式子(其中a伯为尺度因子,mark为随机序列,为原 图象的分块DFT系数),将一个随机序列与原始图象块的幅度谱对应元素进行乘 性叠加;为1时,用另一个伪随机序列与幅度谱对应元素进行乘性叠加。5 o用得到的新的DFT系数对原来位置的DFT系数进行置换。60 对每一图象块进行DFT逆变换,得到含水印图象。(2)提取算法步骤如下:1.将宿主图象分成8义8的块,每一块都进行DFT变换,得到与宿主图象相同 尺寸的DFT域图象系数矩阵.20对每一块的DFT系数进行之”字型罗
16、列,从我们已知的嵌入位置取出 可能含有水印的系数,将所有提取出的系数,按顺序组成新的系数序列.3 .计算嵌入水印图象块的幅度谱与两个伪随机序列的相关性,假设嵌入的水 印图象矩阵为0时叠加的是随机序列A,为1时叠加的是随机序列B,则 提取时如果嵌入水印幅度谱与随机序列A的相关性大于其B的相关性,那末这个 位置嵌入的是水印图象矩阵0,元素.按这个规则即可提取出水印图象。4 .将含水印的系数序列与水印信号进行相关计算,得到归一化相关系数。实果与分析:以下是尺度因子alpha=260时的实验结果,以及受到各种攻击后所提取到的水 印图象及其与原始水印图象的相关系数:图1原始图象与嵌入水印后的图象图2没有
17、受到攻击的图象和直接提取的水印图象此时相关系数=1图3加入白噪声后的图象、原始水印图象及提取的水印图象止匕时相关系数=0.96566图4高斯低通滤波后的图象及提取的水印图象此时相关系数=0 o 97311图5剪切后的图象及提取的水印图象止匕时相关系数=0.96907图6旋转后的图象及提取的水印图象此时相关系数=0。91301结论:由于DFT域对全局性的旋转、平移和缩放变换具有不变性的特点,基 于DFT域的数字水印技术要比基于DCT域的数字水印技术的鲁棒性要强的多, 特殊是对于旋转攻击,前者的优势更加突出!序参考:% % % % % 嵌入水印算法 % % % %clear all;cic ;%
18、%读取水印图象% %omark=double (imreadCmuxiao.bmp,) /255;mo=size (omark,1);no=size(omark , 2);%以下生成水印信息% %mark=omark ;alpha=200;R1=randn (1,8);rand1=round (R1);R2=randn(1,8 );rand2=round(R2 );% % %读取宿主图象% %cimage=imread ( lena.bmp);figure(1 );subplot(2 , 3 , 1) Jmshow ( cimage, ), title(原始的宿主图象)me , nc=size
19、 ( cimage ); cimage=double(cimage ); fftO=blkproc ( cimage , 8,8 ,);%嵌入水印 % % fft_abs=abs (fftO); fft_angle=angle (fftO);fftl =fft_abs;for ii=1 : mofor jj=1:nox= (ii-1 ) * 8;y=(jj - 1) *8;if mark (iijj) =1 k=rand1;elsek=rand2;endfftl (x+1,y+8) =fft_abs ( x+1,y+8)+alpha *k;fft1 (x+2,y+7 ) =fft_abs (x
20、+2 , y+7)+alpha*k(2);fft1 (x+3 , y+6)=fft_abs(x+3 , y+6)+alpha*k (3);fft1 (x+4,y+5 ) =fft_abs (x+4 , y+5)+alpha *k (4);fft1 (x+5,y+4)=fft_abs( x+5,y+4)+alpha *k (5);fft1 (x+6 , y+3)=fft_abs(x+6,y+3)+alpha*k (6);fft1 (x+7,y+2)=fft_abs(x+7 , y+2 ) +alpha*k(7);fft1 ( x+8,y+1 )=fft_abs(x+8 , y+1 ) +alph
21、a *k(8); endendfft_abs_0=fft1;fft_abs_ 1 =(fft_abs_O 。* exp (i*fft_angle ); wimage_0=blkproc(fft_abs_ 1,8,8 ,);wimage=abs(wimage_O );% %显示嵌入水印图象% %wimage_ 1=uint8 (wimage);imwrite(wimage_ 1/withmark 。bmp,bmp)subplot(2 , 3,2 ), imshow ( wimage, ) , title (嵌入水印后的图象); % % % 进行各种攻击 % disp(1加入白噪声,);disp。
22、2高斯低通滤波0 ;disp C3一剪切图象,);disp(Z 旋转图象);disp(,5 直接检测);begin=inputC 请选择攻击(1-5 ),);switch begin%加入白噪声% %Aimage1=wimage ;Wnoise=12*randn(size (Aimagel);Aimagel =Aimage1 +Wnoise;subplot(2,3 , 4) ,imshow (Aimagel, ) , title (加入白噪声后的图象); att=Aimage1 ; imwrite(att,9whitenoiseimage。bmp);% % 高斯低通滤波% % %Aimage2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物联网信息安全 联网 信息 安全 实验 指导书
限制150内