数字指纹

数字指纹(Digital Fingerprint)

目录

  • 1 什么是数字指纹
  • 2 数字指纹的原理及相关特点

什么是数字指纹

  数字指纹是指将不同的标志性识别代码——指纹,利用数字水印技术嵌入到数字媒体中,然后将嵌入了指纹的数字媒体分发给用户,是与用户和某次购买过程有关的信息。数字指纹,其基本原理是利用单向散列函数(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)它是不可预见的产生的数据块的大小与原始信息的大小没有任何联系,同时源数据和产生数据块的数据看起来也没有明显关系,但源信息的一个微小变化都会对生成的数据块产生很大的影响。

阅读数:256