數字水印技術的研究與實現.doc_第1頁
數字水印技術的研究與實現.doc_第2頁
數字水印技術的研究與實現.doc_第3頁
數字水印技術的研究與實現.doc_第4頁
數字水印技術的研究與實現.doc_第5頁
免費預覽已結束,剩余40頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章 緒論1.1 數字水印背景簡介1.1.1數字水印的來源Internet(因特網)讓多媒體信息的交流達到了前所未有的深度和廣度,其多種多樣的發布形式使人們更加準確并有效率的發布自己的重要信息和作品,并進行網絡貿易,但隨之也產生了一些嚴重的問題,如信息篡改,作品侵權。為了有效地保護這類數字安全,一門新興的交叉學科信息隱藏學正式誕生。按照隱藏技術的應用目的和載體對象不同,信息隱藏可分為許多分支領域。數字水印便是其對以數字形式存儲和發布的載體對象進行處理的一大分支。 1.1.2數字水印需求背景在現實生活中,對于水印技術研究興趣的突然增長很可能源于人們對版權保護的問題的關注。近年來,隨著計算機多媒體技術的飛速發展,人們可以方便的利用數字設備制作、處理和存儲圖像、語音、文本和視頻等信息媒體。與此同時,數字網絡通信正在飛速發展,使得信息的發布和傳輸實現了“數字化”和“網絡化”。對于數字媒體而言,Internet成了出色的分發系統,因為它不但便宜,而且不需要倉庫存儲,又能實時發送。因此數字媒體很容易借助Internet或CD-ROM被復制、處理、傳播和公開。這樣就引發出數字信息傳輸的安全問題和數字產品的版權保護問題。如何在網絡環境中實施有效的版權保護和信息安全手段,已經引起了國際學術界、企業界以及政府部門的廣泛關注。其中如何防止數字產品(如電子出版物、音頻、視頻、動畫、圖像產品等)被侵權、盜版、和隨意篡改,已經成為世界各國亟待解決的熱門問題。數字產品的實際發布機制的詳細描述是相當復雜的。論文給出如下簡單發布模型:圖1-1 數字產品網絡發布的基本模型如上圖,非法操作行為包括以下三種,非法訪問、故意篡改、版權破壞。為此產品所有者需要一種技術,可以在數字圖像、音頻和視頻等數字產品中嵌入秘密信息,以便保護數字產品的版權、證明產品的真實可靠性、跟蹤盜版行為或者提供產品的附加信息。其中的秘密信息可以是版權標志、用戶序列號或者是產品相關信息。一般情況下,它需要經過適當變換再嵌入到數字產品中,通常稱變換后的秘密信息為數字水印。1.1.3數字水印基礎知識數字水印技術涉及多個學科知識,其中主要包括圖像存儲處理原理,密碼學技術。數字圖像在計算機里的儲存,從結構上講,分為兩種,即位圖和矢量圖。在位圖中,圖像由許多的屏幕小點(我們通常說的像素)組成,這些小點對應顯存中的“位”,而就是這些 “位”決定了像素的圖形屬性,如像素的顏色、灰度、明暗對比度等。當一個像素所占的位數多時,它所能表現的顏色就更多、更豐富,從整體上看,圖像的色彩就更艷麗,分辨率就更高。位圖中所分的二位圖、八位圖等正是指像素所占的位數。當位圖被放大或縮小時,由于像素的數量沒有改變,圖像的分辨率就會降低,圖像的外觀自然就大打折扣。密碼學是研究編制密碼和破譯密碼的技術科學。它包括密碼編碼學(cryptography)和密碼分析學(cryptanalysis)兩個相互獨立又相互促進的分支。數字水印中經常會用到一些經典的算法。至今,最著名也是最成熟的公鑰密碼算法是由三位數學家Rivest、Shamir和Adleman于1978年提出的RSA算法。其數學基礎是數論的互素數、指數模和模逆元計算。1.2 數字水印的發展和應用1.2.1數字水印的發展歷程自1993年以來,公開發表的有關信息隱藏和數字水印的文章日漸增多。Va SchvndGl在ICIP94會議上發表了題為“A digital watermark”的文章,它是第一篇在主要會議上發表的關于數字水印的文章,其中闡明了一些關于水印的重要概念。這篇文章被認為是一篇具有歷史價值的文獻。1996年在英國劍橋舉行的第一屆信息隱藏學術研討會標志著信息隱藏作為一個新的學科的誕生。1998年在美國波特士、1999年在德國德雷斯頓、2001年在美國匹茲經分別召開了第二至第四屆研討會。第五屆會議在荷蘭NoordwikerhouI舉行。此外,一些信息安全、密碼學和信息處理領域的國際會議也都有關于信息隱藏技術的專題和文章。一些著名的雜志,如IEEE會報、SPIE等都出版了有關信息隱藏技術的專題。1999年12月Stefan KAtZenbciss和Fabien APPeticolas等人出版了該領域的第一本專業論著“Information hiding techniques for steganography and digital watermarking”, 其中文譯本于2001年由人民郵電出版社出版。Neil F.Johnson等人于2000午l2月出版了“Information hiding steganography and watermarking attacks and countermeasures”一書,Ingemar Cox等人于2001年10月出版了關于數字水印的專著“Digital watermarking” 。1.2.2數字水印技術分類從含水印圖像中的水印是否可見分為可見水印和不可見兩大類2,7 ,從水印生成是否依賴于原始載體來分,可分為非自適應水印(獨立于原始載體的水印)和自適應水印。獨立于原始載體的水印可以是隨機產生的、用算法生成、也可以是事先給定的;而自適應水印是考慮原始載體的特性并生成的水印。從含水印載體的抗攻擊能力即魯棒性來分,可以分為易碎水印、半易碎水印、魯棒性水印。從水印檢測是否需要原始圖像的參與,而分為明檢測水印(私有水印)和盲檢測水印(公有水印)。根據水印應用目的的不同,可分為版權保護水印、篡改提示水印(內容認證水印)、版權跟蹤水印(數字指紋)、拷貝控制水印、標注水印(用來注釋載體的拍攝日期等)和隱藏通信(保密通信)水印等。相應的,水印算法也可以分為兩大類:可見水印處理算法和不可見水印處理算法。1.2.3數字水印的現實應用數字水印的應用極為廣泛。主要有以下7種應用領域:廣播監控、所有者識別、所有權驗證、交易跟蹤、內容真偽鑒別、拷貝控制以及設備控制。1) 廣播監控通過數字水印技術對識別信息進行編碼,替代動態監控技術。它利用自身嵌入在內容中的特點,無需利用廣播信號的某些特殊片段,因而能完全兼容于所安裝的模擬或數字的廣播基礎設施。2) 所有者識別文本版權聲明用于作品所有者識別具有一些局限。而因為水印的不可見性和同其嵌入的作品不可分離性,故水印比文本聲明更有利于使用在所有者識別中。如果作品的用戶擁有水印檢測器,他們就能識別出含水印作品的所有者,即使使用能夠將文本版權聲明除去的方法來改動它,水印也依然能夠被檢測到。3) 所有權驗證除了對版權所有者信息進行識別,利用水印技術對其進行驗證也是令人關注的一項應用。人們無須通過所嵌入的水印信息直接證明版權,而是設法證明一幅圖像從另一幅得來這一事實。這種系統能夠間接證明有爭議的這幅圖像更有可能為版權所有者所有而不是攻擊者所有,因為版權所有者擁有創作出含水印圖像的水印圖像。4) 交易跟蹤利用水印可以記錄作品的某個拷貝所經歷的一個或多個交易或者流通過程。5) 內容真偽鑒別如今以難以察覺的方式對數字作品進行篡改已經變得越來越容易。消息真偽鑒別問題在密碼學中已有比較成熟的研究。如果極微小改動就能造成真偽鑒別印記失效,這種印記便可稱作“脆弱水印”,通過這種辦法,可對內容是否被修改進行鑒別。6) 拷貝控制人們可以將水印嵌入內容中,與內容一同運作。如果每個錄制設備都裝有一個水印檢測器,設備就能夠在輸入端檢測到“禁止拷貝”水印的時候禁用拷貝操作。7) 設備控制拷貝控制實際上屬于更大范圍的一個應用設備控制的范疇。設備控制是指設備能夠在檢測到內容中的水印時作出反應,實現自動化運作。1.2.4數字水印的發展現狀與趨勢數字水印軟件的發展速度非常快,起初僅僅作為圖像處理軟件的插件,而今已經開始向大型商業化軟件發展,加上3D打印機的出現,呈現出面向Internet、實體工業、多種技術集成的發展趨勢,它的運用和主要發展方向體現在以下幾個方面:1、結合智能體技術,開發水印Agent和自動追蹤版權標志。2、面向電子商務,提供服務器端的完整性保護和客戶端的數據認證。3、建立水印認證中心,提供各種網上服務。4、開發基于數字水印技術的數字作品電子銷售系統,提供完整的安全與版權保護機制。5、為各種付費點播服務,提供基于流技術的數字水印產品。6、面向更廣泛的數字媒體,如三維動畫、數字地圖等,開發基于數字水印的安全保護產品,保護3D打印原設計圖的版權。7、與密碼技術,尤其是數字簽名技術相結合,構造綜合的數據安全系統。8、使用各種生物認證技術(如指紋、視網膜)構造專人標識水印。數字水印軟件作為數據安全領域中的新生事物,具有很高的技術含量和很強的生命力,同時也孕育著巨大的商機。我們有理由相信,會有越來越多的有識之士投入到數字水印技術的研究和產業化進程中來10。1.3 本論文研究與實現內容本課題的工作主要是設計并實現一個較為完整的數字水印系統,優化數字水印運作流程,提供不可見的數字水印技術與實現,測試數字水印的魯棒性。該系統可以滿足針對彩色或者灰度圖片進行二值水印的嵌入和提取工作。系統的主要功能有:用戶身份認證登錄,密碼安全保護使用公認的RSA加密算法;數字水印的生成,通過對圖像的基本操作,自定義水印圖片,添加用戶私密信息;數字水印的嵌入,通過將原始圖像進行分塊DCT處理和Zig-Zag排序,然后將數字水印圖像替換經DCT矩陣正交化后的DCT系數的指定值,最后經過逆變換生成嵌入后的水印圖片;數字水印的提取,對已嵌入水印的圖像同樣采用分塊處理,然后進行DCT操作,最后采用特定算法提取出指定區域的值與整個區域平均值進行比較,最后經替換得出水印的值,并將其還原成水印圖片;數字水印的測試,通過計算圖片的NC值(歸一化相關系數)和PSNR值(峰值信噪比)來進行比較,判斷相似度,檢測魯棒性及不可見性。本文的內容安排如下: 第一章緒論,簡介項目背景和發展現狀;第二章數字水印基本原理,介紹了數字水印以及其原理和分類;第三章數字水印的關鍵技術,深入學習和研究了一些數字水印中常用的技術;第四章一種優化的數字水印系統的實現,詳細描述了本水印系統的實現原理和過程;第五章總結與展望,總結了本文的工作,同時也指出本系統的不足之處和今后研究的方向。45第二章 數字水印基本原理2.1概述對數字水印(Digital Watermarking)技術來說,載體對象通常是數字產品,是版權保護對象,而所嵌入的信息則是與該產品相關的版權標志、購買者或者其他相關信息。其是將一些標識信息(即數字水印)直接嵌入數字載體當中(包括多媒體、文檔、軟件等)或是間接表示(修改特定區域的結構),不影響原載體的使用價值,也不容易被探知和再次修改,但可以被生產方識別和辨認。通過這些隱藏在載體中的信息,可以達到確認內容創建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的。2.2數字水印的特點作為數字水印技術基本上具有下面幾個方面的特點: 1、安全性:表現為水印能夠抵抗惡意攻擊的能力。數字水印的信息應是安全的,難以篡改或偽造,同時,應當有較低的誤檢測率,當原內容發生變化時,數字水印應當發生變化,從而可以檢測原始數據的變更;當然數字水印同樣對重復添加有較強的抵抗性 2、隱蔽性:數字水印應是不可知覺的,而且應不影響被保護數據的正常使用;不會降質; 3、魯棒性:是指在經過常規信號處理后,數字水印仍能保持部分完整性并能被準確鑒別。可能的信號處理過程包括信道噪聲、濾波、數/模與模/數轉換、重采樣、剪切、位移、尺度變化以及有損壓縮編碼等。主要用于版權保護的數字水印易損水印(Fragile Watermarking),這種水印是在內容數據中嵌入不可見的信息。當內容發生改變時,這些水印信息會相應地發生改變,從而可以鑒定原始數據是否被篡改。 4、水印容量:是指載體在不發生形變的前提下可嵌入的水印信息量。嵌入的水印信息必須足以表示多媒體內容的創建者或所有者的標志信息,或購買者的序列號,這樣有利于解決版權糾紛,保護數字產權合法擁有者的利益。尤其是隱蔽通信領域的特殊性,對水印的容量需求很大11。2.3數字水印的基本原理2.3.1數字水印系統的基本框架粗略來看,數字水印系統包含嵌入器和檢測器兩大部分。嵌入器至少具有兩個輸入量:一個是原始信息,它通過適當變換后作為待嵌入水印信號;另一個就是要在其中嵌入水印的載體作品。水印嵌入器輸出結果為含水印的載體作品,通常用于傳輸和轉錄。之后這件作品或另一件未經過這個嵌入器的作品可以作為水印檢測器的輸入量。具體如圖2-1所示:圖 2-1 數字水印處理系統基本框架通用的水印技術包含兩個方面:水印的嵌入和水印的提取、檢測,如圖2-2和圖2-3所示。 水印信息原始數據密 鑰水印嵌入算法含水印產品圖 2-2 水印信號嵌入水印載體原始數據密 鑰水印提取算法水印提取或檢測圖 2-3 水印信號提取或檢測2.4數字水印的幾種主要算法對于水印嵌入和提取技術,縱觀近幾年來相關的報道和文獻,從整體框架構思到具體實現細節,可以說是百花齊放,設計思想往往取決于研究人員的研究背景和入手角度。一般來講,主要包括以下幾個方面:1、空間域水印LFTurner與RGvan Schyndel等人的空間域水印算法是最低有效位算法(LSB)與改進算法。由于該算法是通過調整原始數據的最低幾位來隱藏信息,使一般用戶對于隱藏信息,在視覺上很難察覺。雖然其有較大的信息嵌入量,但作為數字水印算法,因其基本原理限制,所隱藏的數字水印信息是極為脆弱的,無法經受一些有損的信號處理。Bander等人提出的基于統計的數字水印方案(Patchwork)和紋理塊映射編碼方法則是空間域水印技術的典型設計。Patchwork任意選擇N對圖像點,增加其一點的亮度的同時,相應降低另一點的亮度值。通過這一調整過程完成水印的嵌入。該算法具有不易察覺性,并且對于有損壓縮編碼(JPEG)和一些惡意攻擊處理等具有抵抗力。紋理塊映射編碼方法則是將數字信息隱藏于數字圖像的任意紋理部分,其將隱藏信息紋理映射到另一紋理相似的區域。該算法對于濾波、壓縮和扭轉等操作具有抵抗力,但僅適于具有大量任意紋理區域的圖像。 Pitas和Kaskalis利用“Patchwork”算法的基本原理,提出了數字圖像簽名的思想。這種算法可以有效抵抗二次采樣攻擊與JPEG壓縮。2、變換域算法 基于變換域的技術可以嵌入大量比特數據而不會導致可察覺的缺陷,往往采用類似擴頻圖像的技術來隱藏數字水印信息。這類技術一般基于常用的圖像變換,基于局部或是全部的變換,這些變換包括離散余弦變換(discrete consine transform,DCT)、小波變換(discrete wavelet transform,DWT)、傅氏變換(fourier transform,FT)以及哈達馬變換(Hadamard transform)等等。其中基于分塊的DCT是最常用的變換之一,現在所采用的靜止圖像壓縮標準JPEG也是基于分塊DCT的。 最早的基于分塊DCT的一種數字水印技術方案是由一個密鑰隨機地選擇圖像的一些分塊,在頻域的中頻上稍稍改變一個三元組以隱藏二進制序列信息。選擇在中頻分量編碼是因為在高頻編碼易于被各種信號處理方法所破壞,而在低頻編碼則由于人的視覺對低頻分量很敏感,對低頻分量的改變易于被察覺。該數字水印算法對有損壓縮和低通濾波是穩健的。 另一種DCT數字水印算法是首先把圖像分成88的不重疊像塊,在經過分塊DCT變換后,即得到由DCT系數組成的頻率塊,然后隨機選取一些頻率塊,將水印信號嵌入到由密鑰控制選擇的一些DCT系數中。該算法是通過對選定的DCT系數進行微小變換以滿足特定的關系,以此來表示一個比特的信息。在水印信息提取時,則選取相同的DCT系數,并根據系數之間的關系抽取比特信息。 除了上述有代表性的變換域算法外,還有一些變換域數字水印方法,它們當中有相當一部分都是上述算法的改進及發展,這其中有代表性的算法是IPodichuk和Zeng Wen-jun提出的算法。他們的方法是基于靜止圖像的DCT變換或小波變換,研究視覺模型模塊返回數字水印應加載在何處及每處可承受的JND(Just Noticeable Difference恰好可察覺差別)的量值(加載數字水印的強度上限),這種水印算法是自適應的。3、壓縮域算法 基于JPEG、MPEG標準的壓縮域數字水印系統不僅節省了大量的完全解碼和重新編碼過程,而且在數字電視廣播及VOD(Video Oil Demand)中有很大的實用價值。相應地,水印檢測與提取也可直接在壓縮域數據中進行。 Hartung提出了一種針對MPEG-2壓縮視頻數據流的數字水印案。雖然MPEG-2數據流語法允許把用戶數據加到數據流中,但是這種方案并不適合數字水印技術,因為用戶數據可以簡單地從數據流中去掉,同時在MPEG-2編碼視頻數據流中增加用戶數據會加大位率,使之不適于固定帶寬的應用,所以關鍵是如何把水印信號加到數據信號中,即加入到表示視頻幀的數據流中。對于輸入的MPEG-2數據流而言,它可分為數據頭信息、運動向量(用于運動補償)和DCT編碼信號塊3部分,在Hartung方案中,只有MPEG-2數據流最后一部分數據被改變,其原理是,首先對DCT編碼數據塊中每一輸入的Huffman碼進行解碼和逆量化,以得到當前數據塊的一個DCT系數;其次,把相應水印信號塊的變換系數與之相加,從而得到水印疊加的DCT系數,再重新進行量化和Huffman編碼,最后對新的Huffman碼字的位數n,與原來的無水印系數的碼字n0進行比較,只在n1不大于n0的時候,才能傳輸水印碼字,否則傳輸原碼字,這就保證了不增加視頻數據流位率。該方案有一個問題值得考慮,即引入的水印信號是一種引起降質的誤差信號,而基于運動補償的編碼方案會將一個誤差擴散和累積起來,為解決此問題,該算法采取了漂移補償的方案來抵消因水印信號的引入所引起的視覺變形。4、 NEC算法 該算法由NEC實驗室的Cox等人提出,該算法在數字水印算法中占有重要地位,其實現方法是,首先以密鑰為種子來產生偽隨機序列,該序列具有高斯N(0,1)分布,密鑰一般由作者的標識碼和圖像的哈希值組成,其次對圖像做DCT變換,最后用偽隨機高斯序列來調制(疊加)該圖像除直流分量外的1000個最大的DCT系數。該算法具有較強的魯棒性、安全性、透明性等。由于采用特殊的密鑰,故可防止IBM攻擊,而且該算法還提出了增強水印魯棒性和抗攻擊算法的重要原則,即水印信號應該嵌人源數據中對人感覺最重要的部分,這種水印信號由獨立同分布隨機實數序列構成,且該實數序列應具有高斯分布N(0,1)的特征。隨后Podilchuk等利用人類視覺模型又對該算法進行了改進,從而提高了該算法的魯棒性、透明性等。5、生理模型算法 人的生理模型包括人類視覺系統HVS和人類聽覺系統HAS。該模型不僅被多媒體數據壓縮系統利用,同樣可以供數字水印系統利用。它們的基本思想均是利用從視覺模型導出的JND描述來確定在圖像的各個部分所能容忍的數字水印信號的最大強度,從而能避免破壞視覺質量,也就是說,利用視覺模型來確定與圖像相關的調制掩模,然后再利用其來插人水印。這一方法同時具有好的透明性和魯棒性。2.5數字水印的分類1、按特性劃分按水印的特性可以將數字水印分為魯棒性數字水印和易損性數字水印兩類。魯棒性數字水印主要用于在數字作品中標識著作權信息,利用這種水印技術在多媒體內容的數據中嵌入創建者、所有者的標示信息,或者嵌入購買者的標示(即序列號)。在發生版權糾紛時,創建者或所有者的信息用于標示數據的版權所有者,而序列號用于追蹤違反協議而為盜版提供多媒體數據的用戶。用于版權保護的數字水印要求有很強的魯棒性和安全性,除了要求在一般圖像處理(如:濾波、加噪聲、替換、壓縮等)中生存外,還需能抵抗一些惡意攻擊。 易損性水印,與魯棒水印的要求相反,易損數字水印主要用于完整性保護,這種水印同樣是在內容數據中嵌入不可見的信息。當內容發生改變時,這些水印信息會發生相應的改變,從而可以鑒定原始數據是否被篡改。易損水印應對一般圖像處理(如:濾波、加噪聲、替換、壓縮等)有較強的免疫能力(魯棒性),同時又要求有較強的敏感性,即:既允許一定程度的失真,又要能將失真情況探測出來。必須對信號的改動很敏感,人們根據易損水印的狀態就可以判斷數據是否被篡改過。2、按水印所附載的媒體劃分按水印所附載的媒體,我們可以將數字水印劃分為圖像水印、音頻水印、視頻水印、文本水印以及用于三維網格模型的網格水印等。隨著數字技術的發展,會有更多種類的數字媒體出現,同時也會產生相應的水印技術。3、按檢測過程劃分按水印的檢測過程可以將數字水印劃分為明文水印和盲水印。明文水印在檢測過程中需要原始數據,而盲水印的檢測只需要密鑰,不需要原始數據。一般來說,明文水印的魯棒性比較強,但其應用受到存儲成本的限制。目前學術界研究的數字水印大多數是盲水印。4、按內容劃分按數字水印的內容可以將水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是某個數字圖像(如商標圖像)或數字音頻片段的編碼;無意義水印則只對應于一個序列號。有意義水印的優勢在于,如果由于受到攻擊或其他原因致使解碼后的水印破損,人們仍然可以通過視覺觀察確認是否有水印。但對于無意義水印來說,如果解碼后的水印序列有若干碼元錯誤,則只能通過統計決策來確定信號中是否含有水印。5、按水印隱藏的位置劃分按數字水印的隱藏位置,我們可以將其劃分為時(空)域數字水印、頻域數字水印、時/頻域數字水印和時間/尺度域數字水印。 時(空)域數字水印是直接在信號空間上疊加水印信息,而頻域數字水印、時/頻域數字水印和時間/尺度域數字水印則分別是在DCT變換域、時/ 頻變換域和小波變換域上隱藏水印。 隨著數字水印技術的發展,各種水印算法層出不窮,水印的隱藏位置也不再局限于上述四種。應該說,只要構成一種信號變換,就有可能在其變換空間上隱藏水印。第三章 數字水印的關鍵技術3.1公鑰密碼算法 RSA1976年Diffle和Hellman發表了“密碼學的新方向”一文,提出了公鑰密碼算法。它不僅使對稱密碼的密鑰分發困難得到有效解決,而且可用于數字水印,為網絡時代的信息安全提供新的理論和技術基礎。公鑰加密體制系統如圖3-1所示:圖3-1 公鑰密碼系統本系統運用基于數論的互素數、指數模和模逆元計算的RSA算法。大數的因子的分解是RSA的安全性的保證,但同時并沒有從理論上證明破譯RSA的難度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向于因子分解而不是NPC問題。任何算法都有其自身的缺陷,RSA的缺點主要有:A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。B)其速度較慢。由于RSA算法涉及大數的高次冪模運算,計算量很大。這種算法出現于1978年,它是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解和操作,也很流行。算法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理論上的證明。RSA的安全性依賴于大數分解。公鑰和私鑰都是兩個大素數( 大于 100個十進制位)的函數。據猜測,從一個密鑰和密文推斷出明文的難度等同于分解兩個大素數的積。為了計算兩個密鑰,給定兩個大素數,p 和q ,并計算。計算:n = p * q、r=(p-1)*(q-1)然后隨機選擇加密密鑰e,要求 e 和 r互質,即互素數。再然后,利用歐幾里得(Euclid)擴展算法計算解密密鑰d, 它滿足e * d = 1 ( mod r)其中,e即為公鑰,d即為私鑰。e和n是公開的,p和q在加解密過程中不再需要,但絕不能泄露,應該丟棄。給定加密信息(明文)m(二進制表示)時,首先把m分成等長數據塊 m1 ,m2,., mi ,塊長s,其中 s應小于n的位數,對應的加密密文是:ci = mie ( mod n ) ( 3-1)得到相應的密文塊,加密后的密文m由相同長度的密文塊ci組成。解密時作如下計算:mi = cid ( mod n ) (3-2)RSA 可用于數字簽名時,簽名是用 (3-1) 式,驗證使用(3-2)式。具體操作時考慮到安全性和 m信息量較大等因素,一般是先作 HASH 運算。破譯者要解密,就要根據已知的e和n,計算d。而要計算d,應知道r,因而必須知道p和q。但是,如果n是一個600位的大整數,如何能在有生之年將它分解為兩個素數因子呢,據研究,目前最快的計算機也無法做到。這就是RSA的安全所性依賴的。但是否等同于大數分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數分解。假設存在一種無須分解大數的算法,那它肯定可以修改成為大數分解算法。目前,RSA的一些變種算法已被證明等價于大數分解。不管怎樣,分解n是最顯然的攻擊方法。現在,人們已能分解140多個十進制位的大素數。因此,模數n必須選大一些,因應就具體適用情況而定。3.2數字圖像置亂技術置亂技術是隨著信息的安全和保密被重視而發展起來的圖像加密技術。它可以看作是從經典密碼學中的單表系統擴展而來的。數字圖像置亂即是一種加密方法,合法使用者可以自由控制算法的選擇,參數的選擇以及使用隨機數技術,達到非法使用者無法破譯圖像內容的目的12。3.2.1 數字圖像置亂技術的基本概念經典密碼學對于一維數據流提供了很好的加解密算法,其中如DES、RSA等著名密碼系統得到了廣泛的應用,但是這些系統往往忽視數字圖像的一些特殊性質如二維的自相似性、大數據量等。圖像置亂技術早期是對模擬圖像的位置空間做置換,可以看作從經典密碼學中的單表系統擴展而來。對于數字化的圖像,置亂過程不僅可以在數字圖像的空域(色彩空間、位置空間)上進行,還可以在數字圖像的頻域上進行。數字圖像置亂即是對數字圖像的一種加密方法,它使得合法使用者可以自由控制算法的選擇、參數的選擇以及使用隨機數技術,這就給攻擊者帶來非法破譯的難度,主要表現在統計分析各種可能的組合的巨大計算量。此外,近年興起的信息隱藏以及數字水印技術,從不同角度對數字圖像的隱藏與偽裝、著作權保護等問題提出了一些解決方法,本文提出的數字水印算法把圖像置亂技術和水印技術結合起來,通過產生置亂算法和水印算法的密鑰來保護水印原始數據和跟蹤產品的流動等。數字圖像的置亂變換就是一種可逆變換,通過對數字圖像的位置或灰度級等做變換,來“擾亂”圖像,以達到在一定程度上迷惑第三者的目的。如果不知道所使用的置亂變換算法,很難恢復出原始圖像。置亂算法圖3-1 原始圖像和置亂后的圖像圖3-1給出了一個通過象素置亂算法得到的置亂圖像和原始圖像的比較。3.2.2 最佳置亂度文獻6提出了最佳置亂度的定義,通過計算置亂度判斷圖像置亂的程度。圖像中的任意兩個像素的距離可以用公式表示如下: (3-3)式中(xi,yi),(xj.yj)分別表示像素的空間坐標值,如果將圖像以矩陣形式表示,相當于矩陣元素的行和列的值。某矩陣元素和它相鄰的元素之間的距離稱為一階距離,用 Dl(i,j) 表示,將某一矩陣元素和它相距一個元素的元素之間的距離稱為二階距離,用D2(i,j) 表示,同理相距n個元素的元素之間的距離稱為n階距離、用Dn(i,j)表示。定義1:一階置亂度是圖像I中所有像素的一階距離的均值和方差之比,用公式表示如下: (3-4)從公式3-4可以看出,一階距離的均值比較大表示置亂后相鄰像素之間的距離變大了也即相鄰像素被分散了,階距離的方差比較小表示距離變化程度比較集中,所以二者的比值越大表示置亂度越大,即原來完整的圖像的像素被均勻地打散的程度越大。直觀地看,置亂度大表示一幅圖像中原先空間距離小的像素對之間的距離變大了。因為一階置亂度只定義了原來相鄰像素對之間的距離變化,還不足以十分精確地描繪置亂程度,為此將一階置亂度的公式推廣,引出n階置亂度的計算公式。(3-5)公式3-5中通過引入一個加權系數ak來體現不同階距離在置亂度中所起的作用,即首先考慮將相距最近的像素對盡量分散開,然后再考慮其它距離較大的像素對12。3.2.3 Arnold變換Arnold變換是在Arnold遍歷理論研究中提出的一種變換,俗稱描臉變換。定義2 設有單位正方形上的點(x,y),將點(x,y)變到另一點 的變換為:此變換稱作貓變換。公式3-6定義的變換實際上是一種點的位置移動,該變換是一一對應的,且具有周期性。此外,這種變換可以迭代地做下去。需要注意的是,Arnold變換具有周期性,即當迭代到某一步時,將從新得到原始圖像。Dyson和Falk分析了離散Arnold變換的周期性,給出了對于任意 ,Arnold變換的周期 ,這也許是迄今最好的結果了。3.2.4 基于Arnold變換的數字圖像位置置亂對于數字化圖像而言,我們所說的位置移動實際上是對應點的灰度值或者RGB顏色值的移動,即將原來點處象素對應的灰度值或RGB顏色值移動至變換后的點處。如果我們對一個數字圖像迭代地使用離散化的Arnold變換,即將左端輸出的 作為下一次Arnold變換的輸入,可以重復這個過程一直作下去,當迭代到某一步時,如果出現的圖像符合我們對圖像的“雜亂無章”標準的要求,這即是一副置亂了的圖像。圖3-2即是經Arnold變換置亂后的圖像,我們可以看到對圖像只需進行幾次Arnold變換迭代,原圖像就已經雜亂無章了,置亂效果非常好。 (a) 原始圖像 (b) 一次Arnold變換后的圖像(c) 三次Arnold變換后的圖像(d) 五次Arnold變換后的圖像圖3-2 Arnold變換置亂3.3 DCT域數字水印3.3.1 DCT 變換概述 離散余弦變換是數字圖像處理以及信號處理常用的一種正交變換,具有壓縮比高、誤碼率小、信息集中能力和計算復雜性綜合效果較好等優點,是圖像編碼的核心技術之一13,14。二維離散DCT 變換及IDCT 反變換公式如下: (3-7)=DCT逆變換 (3-8)圖像二維DCT 變換(N 取8 或16)有許多優點: 圖像信號經過變換后,變換系數幾乎不相關,經過反變換重構圖象信道誤差和量化誤差將像隨機噪聲一樣分散到塊中的各個像素中去,不會造成誤差累積, 并且變換能將數據塊中的能量壓縮到為數不多的部分低頻系數中去(即DCT 矩陣的左上角)。對于給定圖像存在兩種DCT 變換方法:一種是把圖像看成一個二維矩陣直接對其進行DCT 變換,然后嵌入水印,Cox采用此種方法;另一種方法是與JPEG 壓縮標準相統一,先把圖像分成88 的不同小塊, 再分別對每一塊進行DCT 變換,進而嵌入水印。3.3.2 DCT 數字圖像水印基本特點不同的應用對數字水印的要求不盡相同,一般認為數字水印應具有如下特點:1、透明性:對于以模擬方式存儲和分發的信息(如電視節目),或是以物理形式存儲的信息(如報刊、雜志),用可見的標志就足以表明其所有權。但在數字方式下,標志信息極易被修改或擦除。因此應根據多媒體信息的類型和幾何特性,利用用戶提供的密鑰將水印隱藏到一系列隨機產生的位置中,使人無法察覺。2、魯棒性:水印必須對一般的信號處理操作(如濾波、平滑、增強和有失真壓縮等)、刪除攻擊和迷惑攻擊等具有魯棒性。除非對數字水印具有足夠的先驗知識,任何破壞和消除水印的企圖都將嚴重破壞多媒體信息的質量。3、 不可檢測性:包括兩方面的含義:(1)水印信息與原始載體數據具有一致的特性,使攻擊者無法通過信息分析手段判斷多媒體數據中是否存在水印;(2)水印信息本身具有不可統計性,避免攻擊者通過統計多個多媒體數據進而分析存在的相似性來進行攻擊。4、 安全性:指水印嵌入算法具有較強的抵抗攻擊的能力,能夠承受一定程度的人為攻擊而使水印不會被破壞。5、自恢復性:經過一些操作或者變換之后,可能會使原始載體數據產生較大的破壞,如果從留下的片斷數據能夠恢復信號,就是所謂的自恢復性。3.3.3 DCT 數字圖像水印基本特點3.4數字水印的模式識別3.4.1、模式識別的基本概念模式識別就是機器識別,計算機識別或機器自動識別,目的在于讓機器自動識別事物。3.4.2、數字水印的檢測方法:基于假設檢驗的水印檢測設要檢驗的作品x屬于一下兩種情況之一:H0: x = xH1: x=x + w即假設H0假定接收到的作品x中沒有水印,稱之為零假設。假設H1假定接收到的作品x中嵌入水印w,稱之為備擇假設。滿足假設H0的作品全體組成集合R0,滿足假設H1的作品全體組成集合R1。假設檢驗的方法,顧名思義,就是利用接受到的載體作品對假設進行檢驗,從而判斷假設檢驗是否成立。本章研究了實現的數字水印系統中用到的一些關鍵技術和對其中一小點的擴展,在學習和研究這些技術的同時,也為本文后續的工作做了充足的基礎準備,在后期實現的過程中,也更深入的了解了這些技術,并做了自己的優化。第四章 一種優化的數字水印系統的實現4.1 數字水印系統說明本文提出了一種優化的數字水印算法,及基于系數關系的DCT域數字圖像水印算法。在嵌入的過程中,優化嵌入內容,提高原圖片的不可見性;在提取過程中,優化提取判定條件,提高水印圖片的魯棒性。算法作用域在DCT 變換后的中頻域內,通過算法的處理在DCT系數里嵌入二值水印,系統能夠支持彩色和灰度兩種格式的BMP圖像文件,并實現數字圖像的隱藏,且水印的提取完全是盲提取,不需要原始圖像,具有較強的安全性和魯棒性。4.2 數字水印系統優化設計普通數字水印系統僅僅包含對圖像的嵌入以及提取,用戶數字水印系統分為6個模塊,分別為用戶身份驗證模塊、采集圖像等數據載體和預處理模塊、數字水印嵌入模塊、數字水印檢測模塊、水印提取以及水印測試模塊。充分分析用戶的需求,彌補了當下系統人機操作不協調的缺陷。4.2.1 用戶身份驗證首先用戶只有獲得授權方能進入系統,其次對已授權的用戶的身份加以驗證和加密保護。不僅保證了用戶的信息安全,而且可以實現用戶的分配。圖4-1 用戶身份驗證用例圖4.2.2采集圖像與預處理系統支持數據載體的采集,查看,收藏,預處理等基本操作,優化當前系統用戶對初始圖片的采集,修改的缺陷。圖4-2 預處理用例圖4.2.3 數字水印的生成系統提供用戶生成自定義水印信息的功能,方便用戶添加自己的個人信息或者是版權信息。用戶可通過簡單的操作,實現自己的水印,而不需借助其他圖像處理工具。圖4-3水印生成用例圖4.2.4數字水印的嵌入通過水印嵌入算法,實現將水印信息與載體數據的融合,形成水印載體數據。圖4-4水印嵌入用例圖4.2.5 數字水印提取對給定的圖像進行水印的提取,采用盲檢測技術,有水印則提取出水印,無則提取為空。實現將水印信息與載體信息分離,水印信息的可視化,可操作話。圖4-5水印提取用例圖4.2.6 數字水印魯棒性檢測多角度,多方面對數字水印進行測試,通過各類有意或無意的修改,結合預處理的操作,對載體圖像的亮度,大小,對比度進行修改,然后再提取。測試提取結果與原圖片之間的差異。圖4-6水印檢測用例圖4.3 數字水印系統優化算法本系統核心是離散預先變換(DCT),運用基于實數的正交變換,實現圖像的“能量集中”特性。但同時不局限于此,在原理論的基礎上,優化改善DCT矩陣的生成、DCT中頻的確定、DCT系數的替換、統計均值比較算法規則等多個方面。提高水印系統的不可見性和魯棒性等基本要求,不可見性就是在載體圖像中嵌入水印圖像后不能被人的視覺系統覺察或注意到,而魯棒性就是能夠從嵌入水印后的載體圖像中提取出盡可能完整的水印圖像,而不因圖像數據的某種改動而導致水印信息丟失。由于人類視覺系統對圖像頻域空間的中低頻信息不敏感,所以,本文將水印圖像的中低頻DCT系數隱藏到載體圖像的中頻DCT系數中。為了提高水印的魯棒性,先對載體圖像分割成8*8的像素塊,然后將水印圖像分別嵌入到每一塊當中;提取時從帶水印圖像的每一塊中提取出水印圖像,再計算這些水印圖像的平均值從而得到最終的水印圖像。對于彩色圖像的B分量即藍色分量按照這種方法進行。4.3.1數字水印采集及預處理1、C#語言及其窗體程序,良好的用戶體驗目前的水印系統多以matlab為基礎,調用其自身所含圖像類,進行數字水印的研究與系統實現。本系統采用微軟框架,以C#語言為基礎,完成優秀的界面設計,提高用戶體驗感受和操作舒適度。2、bitmap類和BitmapData類圖像處理類微軟C#語言框架對于圖像處理提供bitmap類 ,BitmapData類兩大主要類,可方便實現圖像的二值化存儲,以及圖像數據調入內存操作,并提供Scan0屬性獲取位圖中第一個像素數據的地址,方便對圖像的數據進行定位和掃描。是圖像處理中公認的較為方便的類。對圖像亮度調節主要代碼如下:BitmapData data = b.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat. Format24bppRgb); unsafe byte* p = (byte*)data.Scan0; int offset = data.Stride - width * 3; for (int y = 0; y height; y+) for (int x = 0; x width; x+) for (int i = 0; i 3; i+) pix = pi + degree; if (degree 0) pi = (byte)Math.Min(255, pix); / i p += 3; / x p += offset; / y b.UnlockBits(data); return b; catch return null; 4.3.2 水印圖片生成算法首先確定水印圖像的背景,可由系統自動默認選擇或由用戶提供,然后對文字和圖像進行嵌入,生成水印圖片。具體步驟如下:(1)確定水印圖像的默認圖片。(2)添加文字信息和圖片信息,并選擇插入的位置。(3)進行文字和圖片的嵌入。主要圖片生成算法:private Image GetTextWatermark(string text) Brush brush = new SolidBrush(m_fontColor); SizeF size; using (Graphics g = Graphics.FromImage(m_image) size = g.MeasureString(text, m_font); Bitmap bitmap = new Bitmap(int)size.Width, (int)size.Height); bitmap.SetResolution(m_image.HorizontalResolution, m_image.VerticalResolution); using (Graphics g = Graphics.FromImage(bitmap) g.DrawString(text, m_font, b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論