![信息安全實(shí)驗(yàn)報(bào)告五分析.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/9/8fa1fc84-3036-4ce4-8fae-b908ce90a43d/8fa1fc84-3036-4ce4-8fae-b908ce90a43d1.gif)
![信息安全實(shí)驗(yàn)報(bào)告五分析.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/9/8fa1fc84-3036-4ce4-8fae-b908ce90a43d/8fa1fc84-3036-4ce4-8fae-b908ce90a43d2.gif)
![信息安全實(shí)驗(yàn)報(bào)告五分析.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/9/8fa1fc84-3036-4ce4-8fae-b908ce90a43d/8fa1fc84-3036-4ce4-8fae-b908ce90a43d3.gif)
![信息安全實(shí)驗(yàn)報(bào)告五分析.doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/9/8fa1fc84-3036-4ce4-8fae-b908ce90a43d/8fa1fc84-3036-4ce4-8fae-b908ce90a43d4.gif)
![信息安全實(shí)驗(yàn)報(bào)告五分析.doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/9/8fa1fc84-3036-4ce4-8fae-b908ce90a43d/8fa1fc84-3036-4ce4-8fae-b908ce90a43d5.gif)
免費(fèi)預(yù)覽已結(jié)束,剩余3頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)成績信息安全概論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)五 數(shù)字水印實(shí)驗(yàn)專業(yè)班級 計(jì)科F1301 學(xué)號 201316010508 姓名 司如言 完成時(shí)間_2016/5/24 1、 實(shí)驗(yàn)?zāi)康睦斫鈹?shù)字水印的實(shí)現(xiàn)原理;通過演示程序加深對數(shù)字水印的理解,并完成水印嵌入和檢測的代碼編寫。二、 實(shí)驗(yàn)內(nèi)容用演示軟件實(shí)現(xiàn)在一幅圖像中嵌入水印信息,對比嵌入水印前后的圖像有無明顯變化;用演示軟件實(shí)現(xiàn)對一幅給定圖像進(jìn)行是否嵌入水印的檢測;編寫數(shù)字水印程序,分別實(shí)現(xiàn)水印的嵌入與檢測。3、 實(shí)驗(yàn)環(huán)境和開發(fā)工具1. Windows 7 操作系統(tǒng)2. AssureMark v2.0版3. VC+ 6.04、 實(shí)驗(yàn)步驟和結(jié)果1. 數(shù)字水印程序演示用AssureMark軟件實(shí)現(xiàn)嵌入水印信息,并對水印信息進(jìn)行檢測。2、數(shù)字水印程序編寫參考給定DLL中關(guān)于水印嵌入、提取函數(shù)的說明,編寫代碼分別實(shí)現(xiàn)水印的嵌入與檢測。(1)調(diào)用DLL中的_ADDWATERMARK函數(shù),實(shí)現(xiàn)水印嵌入。(2)調(diào)用DLL中的_GETWATERMARK函數(shù),實(shí)現(xiàn)水印檢測。3、數(shù)字水印演示步驟Step 1:在AssureMark程序主界面的“模式選擇”域中選擇“嵌入水印”,然后單擊“打開”按鈕,選擇要嵌入水印信息的原始圖像;單擊“保存”按鈕。具體操作如下圖示: 圖3.1嵌入水印信息設(shè)置Step 2:關(guān)閉顯示“水印信息嵌入成功”的提示窗口,嵌入水印信息前后的圖像對比如圖3.2所示,可以看出兩者在視覺上并無明顯差異。圖3.2 嵌入水印信息前后的圖像對比Step 3:在程序主界面的“模式選擇”域中選擇“檢測水印”,然后單擊“打開”按鈕,選擇要檢測是否嵌入水印信息的原始圖像?!疤崛〉乃⌒畔ⅰ睓谥酗@示提取到的水印信息“信息安全 ISCC”,如下圖所示:水印信息提取成功4、將編寫好的源代碼輸入計(jì)算機(jī)并進(jìn)行調(diào)試分析,發(fā)現(xiàn)錯(cuò)誤,再修改完善,最終實(shí)現(xiàn)實(shí)驗(yàn)所要求的功能。1) 給圖像添加水印的函數(shù)void CPrj_watermarkDlg:OnBtnImbed() /打開并讀取未嵌入水印的源BMP文件CFile dibFile(m_strFileImgSrc, CFile:modeRead);DWORD nJPG_Len = 0;nJPG_Len = (DWORD)dibFile.GetLength();dibFile.Read(pJPG_Buf, nJPG_Len);/調(diào)用DLL中的_ADDWATERMARK函數(shù),實(shí)現(xiàn)水印嵌入int ret1;memset(WmCoef, 0, sizeof(WmCoef);ret1 = _ADDWATERMARK(pJPG_Buf, nJPG_Len, pBMP_Buf, WmCoef);if(ret1 = 1) /水印嵌入成功,分別用文件保存嵌入水印后的圖片和源DCT系數(shù),以備水印檢測使用AfxMessageBox(水印嵌入成功);CFile dibFile2(m_strFileImgWater, CFile:modeCreate|CFile:modeWrite);dibFile2.Write(pBMP_Buf, nJPG_Len);dibFile2.Close();CFile fCoef(CoefDCT.dat, CFile:modeCreate|CFile:modeWrite);fCoef.Write(WmCoef, strlen(char*)WmCoef);fCoef.Close();else if(ret1 = 0)AfxMessageBox(水印嵌入失敗);dibFile.Close();2) 從圖像中提取水印的函數(shù)核心實(shí)現(xiàn)/ WaterMarkDlg.cpp : implementation file#include stdafx.h#include WaterMark.h#include WaterMarkDlg.h#include Dib.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;BOOL CWaterMarkDlg:OnInitDialog()CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CWaterMarkDlg:OnOpenFile() / TODO: Add your control notification handler code hereCFileDialog dlg(TRUE, , NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, (*.bmp)|*.bmp|所有文件(*.*)|*.*|,AfxGetMainWnd();/讀取圖象的文件名CString filename;if(dlg.DoModal()=IDOK)/Bitmap2Data()將圖象的轉(zhuǎn)換為數(shù)據(jù)保存在二維數(shù)組m_tOriPixelArrayPOSITION pos = dlg.GetStartPosition();filename = dlg.GetNextPathName(pos);Bitmap2Data();if(hwnd0!=NULL)hwnd0=NULL;if(hSrcDC0!=NULL)hSrcDC0=NULL;if(hDesDC0!=NULL)hDesDC0=NULL;hwnd0 = GetDlgItem(IDC_STATIC0);hDesDC0 = hwnd0-GetDC()-m_hDC;hSrcDC0 = CreateCompatibleDC(hDesDC0);filename=dlg.GetPathName();hBitmap0=(HBITMAP)LoadImage(AfxGetInstanceHandle(),filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);GetObject(hBitmap0, sizeof BITMAP, &bm0);SelectObject(hSrcDC0, hBitmap0);hwnd0-GetClientRect(&rect0);:SetStretchBltMode(hDesDC0,COLORONCOLOR); :StretchBlt(hDesDC0, rect0.left, rect0.top, rect0.right, rect0.bottom, hSrcDC0, 0, 0, bm0.bmWidth, bm0.bmHeight,+SRCCOPY);show0=TRUE;SetTimer(NULL,50,0);GetDlgItem(IDC_BUTTON2)-EnableWindow(TRUE);elseTRACE(錯(cuò)誤);CString s,s0,s1,s2;s.Format(%2d,bm0.bmHeight);s1.Format(%2d,bm0.bmWidth);s0.Format(%d,m_dib-GetBiBitCount();s2=宿主圖象+s0+位HW:+s+X+s1;if(pEdit!=NULL)pEdit=NULL;r.left=35;r.top=rect0.bottom+2;r.right=200+r.left;r.bottom=r.top+20;pEdit=new CEdit;pEdit-Create(ES_CENTER|WS_VISIBLE|ES_READONLY,r,this,1);CFont * cFont=new CFont;cFont-CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0, ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH&FF_SWISS,Arial);pEdit-SetFont(cFont,TRUE);pEdit-SetWindowText(s2);void CWaterMarkDlg:Operate_Byte(BYTE &operate1, BYTE &operate2, BYTE m_operate) /將m_operate最低四位取出來放到L里最高四位放到H里,/最后將H賦值給operate1最后四位 L賦值給operate2最后四位int i;BYTE M=240,t=m_operate;/1111 0000BYTE H,L,x8,y4;y3=8;y2=4;y1=2;y0=1;for(i=0;i=1;H=x7*y3+x6*y2+x5*y1+x4*y0;/hightL=x3*y3+x2*y2+x1*y1+x0*y0;/lowoperate1&=M;operate2&=M;operate1+=H;operate2+=L;void CWaterMarkDlg:PutInWaterMessage()long a,b,c,d;a = ImageHeight;b = ImageWidth;c = WaterHeight;d = WaterWidth;BYTE CWaterMarkDlg:Operate_ByteOut(BYTE operate1, BYTE operate2)/相對與Operate_Byte()int i = 0;BYTE x8,y8,data;for (i=0;i=1;/取出最低的四位for (i=4;i=1;/取出最高的四位y0=1;y1=2;y2=4;y3=8;y4=16;y5=32;y6=64;y7=128;data=x0*y0+x1*y1+x2*y2+x3*y3+x4*y4+x5*y5+x6*y6+x7*y7;return data;void CWaterMarkDlg:OnOpenW_E_Bitmap() / TODO: Add your control notification handler code hereCFileDialog dlg(TRUE, , NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, (*.bmp)|*.bmp|所有文件(*.*)|*.*|,AfxGetMainWnd();if(dlg.DoModal()!=IDOK)return ;if(hwnd2!=NULL)hwnd2=NULL;if(hSrcDC2!=NULL)hSrcDC2=NULL;if(hDesDC2!=NULL)hDesDC2=NULL;hwnd2 = GetDlgItem(IDC_STATIC2);hDesDC2 = hwnd2-GetDC()-m_hDC;hSrcDC2 = CreateCompatibleDC(hDesDC2);CString file;file=dlg.GetPathName();POSITION pos = dlg.GetStartPosition();file = dlg.GetNextPathName(pos);Embed2Data( file);hBitmap2=(HBITMAP)LoadImage(AfxGetInstanceHandle(),file,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);GetObject(hBitmap2, sizeof BITMAP, &bm2);SelectObject(hSrcDC2, hBitmap2);hwnd2-GetClientRect(&rect2);:SetStretchBltMode(hDesDC2,COLORONCOLOR); :StretchBlt(hDesDC2, rect2.left, rect2.top, rect2.right, rect2.bottom, hSrcDC2, 0, 0, bm2.bmWidth, bm2.bmHeight,+SRCCOPY);show2=TRUE;SetTimer(NULL,50,0);運(yùn)行結(jié)果如下圖:5、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023二年級數(shù)學(xué)下冊 四 認(rèn)識圖形(七巧板)說課稿 西師大版
- 《8 花卉栽培》(說課稿)-2023-2024學(xué)年六年級上冊綜合實(shí)踐活動(dòng)皖教版
- 2024-2025學(xué)年高中物理 第2章 1 歐姆定律說課稿 教科版選修3-1
- 2023八年級生物下冊 第7單元 生命的演化第22章 物種的多樣性22.3 植物的主要類群說課稿 (新版)北師大版
- 保姆勞務(wù)合同承攬合同范例
- Unit 3 Family Matters Understanding Ideas Like Father Like Son 說課稿-2024-2025學(xué)年高中英語外研版(2019)必修第一冊
- 專業(yè)土雞養(yǎng)殖銷售合同范例
- 分享保證合同范本
- 勘察設(shè)備購買合同范例
- 像處理費(fèi)合同范例
- 2025公司借款合同范本借款合同
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 正月十五元宵節(jié)介紹課件
- 病毒性肺炎疾病演示課件
- 中考英語語法填空專項(xiàng)練習(xí)附答案(已排版-可直接打印)
- 口腔醫(yī)學(xué)中的人工智能應(yīng)用培訓(xùn)課件
- 軟星酒店網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)
- 自然辯證法概論(新)課件
- 基層醫(yī)療機(jī)構(gòu)基本情況調(diào)查報(bào)告
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
評論
0/150
提交評論