Hash函数与数字签名(数字手印)

转载 2004年09月06日 09:00:00
 Hash函数与数字签名(数字手印)
  HASH函数,又称杂凑函数,是在信息安全领域有广泛和重要应用的密码算法,它有一种类似于指纹的应用。在网络安全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一段独特的数字信息,像指纹鉴别身份一样保证原来数字签名文件的合法性和安全性。在前面提到的SHA-1和MD5都是目前最常用的杂凑函数。经过这些算法的处理,原始信息即使只更动一个字母,对应的压缩信息也会变为截然不同的“指纹”,这就保证了经过处理信息的唯一性。为电子商务等提供了数字认证的可能性。
  安全的杂凑函数在设计时必须满足两个要求:其一是寻找两个输入得到相同的输出值在计算上是不可行的,这就是我们通常所说的抗碰撞的;其二是找一个输入,能得到给定的输出在计算上是不可行的,即不可从结果推导出它的初始状态。现在使用的重要计算机安全协议,如SSL,PGP都用杂凑函数来进行签名,一旦找到两个文件可以产生相同的压缩值,就可以伪造签名,给网络安全领域带来巨大隐患。
  MD5就是这样一个在国内外有着广泛的应用的杂凑函数算法,它曾一度被认为是非常安全的。然而,王小云教授发现,可以很快的找到MD5的“碰撞”,就是两个文件可以产生相同的“指纹”。这意味着,当你在网络上使用电子签名签署一份合同后,还可能找到另外一份具有相同签名但内容迥异的合同,这样两份合同的真伪性便无从辨别。王小云教授的研究成果证实了利用MD5算法的碰撞可以严重威胁信息系统安全,这一发现使目前电子签名的法律效力和技术体系受到挑战。因此,业界专家普林斯顿计算机教授Edward Felten等强烈呼吁信息系统的设计者尽快更换签名算法,而且他们强调这是一个需要立即解决的问题。

信息安全与密码学3-数字摘要和Hash函数(哈希函数)

信息安全与密码学3-数字摘要和Hash函数(哈希函数) 1、数字摘要 数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单项H...
  • Nathan1987_
  • Nathan1987_
  • 2015年12月10日 15:24
  • 1101

C++ 验证微软数字签名

代码共享如下,在Win2K sp4/WinXP sp2上调试通过。 BOOL CheckFileTrust( LPCWSTR lpFileName ) { BOOL bR...
  • xlf13872135090
  • xlf13872135090
  • 2014年05月07日 20:47
  • 925

常见的hash函数算法

散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也...
  • u011394362
  • u011394362
  • 2014年02月21日 16:06
  • 2570

数字签名和数字加密

一,数字签名: 1,为什么要数字签名(数字签名的作用)? (1),因为自己的签名难以否认,从而确认了文件已签署这一事实; (2),因为签名不易仿冒,从而确定了文件是真的这一事实;   2,过程: (1...
  • hanxuemin12345
  • hanxuemin12345
  • 2013年10月17日 20:35
  • 1892

签名证书、数字签名和数字信封

签名证书 作为文件形式存在的证书一般有这几种格式:   1.带有私钥的证书    由Public Key Cryptography Standards #12,PKCS#12标准定...
  • xuke6677
  • xuke6677
  • 2013年01月18日 11:12
  • 2418

如何将程序进行数字签名

1.制作私钥文件 2.制作数字证书 3.对程序进行签名认证            大家知道吗?微软发布的具有数字签名的SP2才是正式版本,这是怎么一回事呢?    一、Windows的文件保护功能  ...
  • FrankieWang008
  • FrankieWang008
  • 2013年08月21日 16:16
  • 9197

看图故事轻松理解数字签名、数字证书、公钥、私钥

前言 先看一下百度百科对数字签名和数字证书的解释: 数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会...
  • ricefcc
  • ricefcc
  • 2014年10月24日 15:09
  • 1118

图解数字签名和数字证书

原文网址:http://www.youdzone.com/signature.html 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊-...
  • u010871761
  • u010871761
  • 2014年12月24日 16:30
  • 1055

数字签名和数字信封的区别

一、数字签名 数字签名使用双钥密码加密和散列函数. 消息用散列函数处理得到消息搞要,再用双钥密码体制的私钥对其进行加密,称为数字签名. 数字签名的原理如下:消息M用散列函数H得到的消息摘要...
  • lin_FS
  • lin_FS
  • 2016年03月30日 11:03
  • 2264

字符串哈希到整数函数,算法

基本概念 所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。 设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m...
  • hzhsan
  • hzhsan
  • 2014年05月11日 16:43
  • 8869
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: Hash函数与数字签名(数字手印)
举报原因:
原因补充:

(最多只允许输入30个字)