天天看點

資料校驗

資料校驗,就是為保證資料的完整性,用一種指定的算法對原始資料計算出的一個校驗值。接收方用同樣的算法計算一次校驗值,如果和随資料提供的校驗值一樣,就說明資料是完整的。

最簡單的檢驗實作方法:最簡單的校驗就是把原始資料和待比較資料直接進行比較,看是否完全一樣這種方法是最安全最準确的。同時也是效率最低的。

适用範圍:簡單的資料量極小的通訊。

奇偶校驗Parity Check

  實作方法:在資料存儲和傳輸中,位元組中額外增加一個比特位,用來檢驗錯誤。校驗位可以通過資料位異或計算出來。

應用例子:單片機序列槽通訊有一模式就是8位資料通訊,另加第9位用于放校驗值。

bcc異或校驗法(block check character)

  實作方法:很多基于序列槽的通訊都用這種既簡單又相當準确的方法。它就是把所有資料都和一個指定的初始值(通常是0)異或一次,最後的結果就是校驗值,通常把它附在通訊資料的最後一起發送出去。接收方收到資料後自己也計算一次異或和校驗值,如果和收到的校驗值一緻就說明收到的資料是完整的。

  校驗值計算的代碼類似于:

  unsigned uCRC=0;//校驗初始值

  for(int i=0;i<DataLenth;i++) uCRC^=Data[i];

  适用範圍:适用于大多數要求不高的資料通訊。

應用例子:ic卡接口通訊、很多單片機系統的序列槽通訊都使用。

crc循環備援校驗

  (Cyclic Redundancy Check)

  實作方法:這是利用除法及餘數的原理來進行錯誤檢測的.将接收到的碼組進行除法運算,如果除盡,則說明傳輸無誤;如果未除盡,則表明傳輸出現差錯。crc校驗具還有自動糾錯能力。

  crc檢驗主要有計算法和查表法兩種方法,網上很多實作代碼。

  适用範圍:CRC-12碼通常用來傳送6-bit字元串;CRC-16及CRC-CCITT碼則用是來傳送

  8-bit字元。CRC-32:硬碟資料,網絡傳輸等

應用例子:rar,以太網卡晶片、MPEG解碼晶片中

md5校驗和數字簽名

  實作方法:主要有md5和des算法。

  适用範圍:資料比較大或要求比較高的場合。如md5用于大量資料、檔案校驗,des用于保

  密資料的校驗(數字簽名)等等。

應用例子:檔案校驗、銀行系統的交易資料

數字水印

  數字水印(Digital Watermarking)是指嵌入數字載體(包括多媒體、文檔、軟體等)中的數字信号,它可以是圖像、文字、符号、數字等所有可以作為辨別的資訊。數字水印既不影響原始載體的正常使用及存在價值,也不容易被人感覺。 目錄數字水印的分類數字水印的原理數字水印的特點數字水印的缺點數字水印的算法數字水印的應用領域

數字水印的分類   1.按特性劃分  按水印的特性可以将數字水印分為魯棒數字水印和脆弱數字水印兩類。魯棒數字水印主要用于在數字作品中辨別着作權資訊,如作者、作品序号等,它要求嵌入的水印能夠經受各種常用的編輯處理;脆弱數字水印主要用于完整性保護,與魯棒水印的要求相反,脆弱水印必須對信号的改動很敏感,人們根據脆弱水印的狀态就可以判斷資料是否被篡改過。  2.按水印所附載的媒體劃分  按水印所附載的媒體,我們可以将數字水印劃分為圖像水印、音頻水印、視訊水印、文本水印以及用于三維網格模型的網格水印等。随着數字技術的發展,會有更多種類的數字媒體出現,同時也會産生相應的水印技術。  3.按檢測過程劃分  按水印的檢測過程可以将數字水印劃分為明文水印和盲水印。明文水印在檢測過程中需要原始資料,而盲水印的檢測隻需要密鑰,不需要原始資料。一般來說,明文水印的魯棒性比較強,但其應用受到存儲成本的限制。目前學術界研究的數字水印大多數是盲水印。  4.按内容劃分  按數字水印的内容可以将水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是某個數字圖像(如商标圖像)或數字音頻片段的編碼;無意義水印則隻對應于一個序列号。有意義水印的優勢在于,如果由于受到攻擊或其他原因緻使解碼後的水印破損,人們仍然可以通過視覺觀察确認是否有水印。但對于無意義水印來說,如果解碼後的水印序列有若幹碼元錯誤,則隻能通過統計決策來确定信号中是否含有水印。  5.按用途劃分  不同的應用需求造就了不同的水印技術。按水印的用途,我們可以将數字水印劃分為票據防僞水印、版權保護水印、篡改提示水印和隐蔽辨別水印。  票據防僞水印是一類比較特殊的水印,主要用于列印票據和電子票據的防僞。一般來說,僞币的制造者不可能對票據圖像進行過多的修改,是以,諸如尺度變換等信号編輯操作是不用考慮的。但另一方面,人們必須考慮票據破損、圖案模糊等情形,而且考慮到快速檢測的要求,用于票據防僞的數字水印算法不能太複雜。  版權辨別水印是目前研究最多的一類數字水印。數字作品既是商品又是知識作品,這種雙重性決定了版權辨別水印主要強調隐蔽性和魯棒性,而對資料量的要求相對較小。  篡改提示水印是一種脆弱水印,其目的是辨別宿主信号的完整性和真實性。  隐蔽辨別水印的目的是将保密資料的重要标注隐藏起來,限制非法使用者對保密資料的使用。  6.按水印隐藏的位置劃分  按數字水印的隐藏位置,我們可以将其劃分為時(空)域數字水印、頻域數字水印、時/頻域數字水印和時間/尺度域數字水印。  時(空)域數字水印是直接在信号空間上疊加水印資訊,而頻域數字水印、時/頻域數字水印和時間/尺度域數字水印則分别是在DCT變換域、時/ 頻變換域和小波變換域上隐藏水印。  随着數字水印技術的發展,各種水印算法層出不窮,水印的隐藏位置也不再局限于上述四種。應該說,隻要構成一種信号變換,就有可能在其變換空間上隐藏水印。

數字水印的原理  數字水印是通過一定的算法将一些标志性資訊直接嵌入到多媒體内容當中,但不影響原内容的價值和使用,并且不能被人的知覺系統覺察或注意到,隻有通過專用的檢測器或閱讀器才能提取。其中的水印資訊可以是作者的序列号、公司标志、有特殊意義的文本等,可用來識别檔案、圖像或音樂制品的來源、版本、原作者、擁有者、發行人、合法使用人對數字産品的擁有權。與加密技術不同,數字水印技術并不能阻止盜版活動的發生,但它可以判别對象是否受到保護,監視被保護資料的傳播、真僞鑒别和非法拷貝、解決版權糾紛并為法庭提供證據。

數字水印的特點  不可見性:數字水印作為辨別資訊隐藏于數字作品中,對攔截者而言,應不可見。  安全性:數字水印應當具備難以篡改或僞造的要求,并應當具有較低的誤檢測率和較強的抵抗性。  魯棒性:在經過多種信号處理過程後,數字水印仍能保持部分完整性及檢測的準确性。  脆弱性:能直接反映出水印是否遭受篡改等。

數字水印的缺點  (1)設計對水印系統進行公正的比較和評價方法,在這方面已經有部分學者有了一些初步的研究;但缺乏普遍性和原理性,水印系統的脆弱之處無法進行全面測試與衡量;  (2)從現實的角度看,水印系統必然要在算法的魯棒性、水印的嵌入資訊量以及不可覺察性之間達到一個平衡,這涉及魯棒性算法的原理性設計、水印的構造模型、水印能量和容量的理論估計、水印嵌入算法和檢測算法的理論研究等方面。如何确定平衡點仍是一個難題,目前大多數水印算法均利用經驗而不是從理論上解決此問題;  (3)如何将水印技術與現行國際圖像及視訊壓縮标準(如JPEG2000和MPEG-4)相結合,以及如何将水印技術應用于DVD工業标準中;  (4)所有權的證明問題還沒有完全解決,就目前已經出現的很多算法而言,攻擊者完全可以破壞掉圖像中的水印,或複制出一個理論上存在的"原始圖像",這導緻檔案所有者不能令人信服地提供版權歸屬的有效證據。是以一個好的水印算法應該能夠提供完全沒有争議的版權證明,在這方面還需要做很多工作。目前将水印作為版權保護的法律證據還不可能;  (5)聲頻和視訊水印的解決方案還不完善,大多數的視訊水印算法實際上是将其圖像水印的結果直接應用與視訊領域中,而沒有考慮視訊應用中大資料量以及近乎實時的特性。從今後的發展上看,水印在包括DVD等數字産品在内的視訊和音頻領域将有極為廣闊的應用前景。是以如何設計成熟的、合乎國際規範的水印算法仍然懸而未決;  (6)現有水印算法中在原理上有許多雷同之處,但目前國内外的工作尚未能對這些有内在聯系的不同算法中的共性問題進行高度提煉和深入的理論研究,因而缺乏對數字水印作進一步研究具有指導意義的理論結果。