數字指紋
出自 MBA智库百科(https://wiki.mbalib.com/)
數字指紋(Digital Fingerprint)
目錄 |
數字指紋是指將不同的標誌性識別代碼——指紋,利用數字水印技術嵌入到數字媒體中,然後將嵌入了指紋的數字媒體分發給用戶,是與用戶和某次購買過程有關的信息。數字指紋,其基本原理是利用單向散列函數(Hash函數)對發送信息進行運算,生成一串固定長度的數字摘要。數字指紋並不是一種加密機制,但可以用來判斷數據有沒有被竄改,從而保證了信息的完整性不被破壞。
當發行商發現被非法分發行為時,可以根據該信息對進行非法分發的用戶實現跟蹤。 數字指紋體制主要由兩部分構成,一部分是用於向拷貝中嵌入指紋並對帶指紋拷貝進行分發的拷貝分發體制;另一部分是實現對非法分發者進行跟蹤並審判的跟蹤體制。往往上述兩部分通過發行商、用戶(還可能有登記中心、審判者等實體)之間的一系列協議實現,因此數字指紋體制也可以分為演算法和協議兩部分。其中,演算法包括指紋的編碼和解碼、指紋的嵌入和提取以及拷貝的分發策略等內容,而協議部分則規定了各實體之間如何進行交互以實現具有各種特點的拷貝分發和跟蹤體制(如實現用戶的匿名性等)。
單向散列函數H(M)作用於任意長度的消息M,返回一個固定長度的散列值h, h的長度為。m.h= H(M)這個固定長度輸出就叫做源輸入消息的數字摘要(或稱哈希值、散列值、消息摘要、數字指紋)單向Hash函數主要特點如下:
(1)它必須是單向的、不可逆的:給定M,很容易計算H(M);從H(M)構造M在計算上是不可行的,即給定輸出,很難確定出輸入消息。
(2)它必須是唯一的,給定M要找到另一個消息M',來滿足H(M)=H(M')很難。幾乎不可能找到兩個消息會產生相同的數字摘要。
(3)它必須是一致的,即相同的輸入總是產生相同的輸出。
(4)它能處理任意長度的信息,並將其按數字摘要運算方法生成固定大小的數據塊(如128bit、或160bits)
(5)它是不可預見的產生的數據塊的大小與原始信息的大小沒有任何聯繫,同時源數據和產生數據塊的數據看起來也沒有明顯關係,但源信息的一個微小變化都會對生成的數據塊產生很大的影響。