数字签名和哈希函数

数字签名和哈希函数

ID:39198969

大小:25.37 KB

页数:6页

时间:2019-06-27

数字签名和哈希函数_第1页
数字签名和哈希函数_第2页
数字签名和哈希函数_第3页
数字签名和哈希函数_第4页
数字签名和哈希函数_第5页
资源描述:

《数字签名和哈希函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字签名和哈希函数懂得一点公钥密码基础知识的人都知道,发信息的人用自己的私钥对所发信息进行加密(Encryption),接收信息者用发信者的公钥来解密(Decryption),就可以保证信息的真实性、完整性和不可否认性。(注:这里提到的加密、解密是指密码运算,其目的并非信息保密。)那么,我们也可以笼统地说,以上方法就已经达到了数字签名的目的。因为首先,私钥是发信者唯一持有的,别的任何人不可能制造出这份密文来,所以可以相信这份密文以及对应的明文不是伪造的(当然,发信者身份的确定还要通过数字证书来保

2、证);出于同样原因,发信者也不能抵赖、否认自己曾经发过这份信息;另外,信息在传输当中不可能被篡改,因为如果有人试图篡改,密文就解不出来。这样,用私钥加密,公钥解密的技术方法就可以代替传统签名、盖章,保证了信息的真实性、完整性和不可否认性。   但是,这样做在实际使用中却存在一个问题:要发的信息可能很长,非对称密码又比较复杂,运算量大,而为了保证安全,私钥通常保存在USBKey或IC卡中,加密运算也是在Key或卡中进行。一般来说,小小的USBKey或IC卡中的微处理器都做得比较简单而处理能力较弱,

3、这样,加密所用的时间就会很长而导致无法实用。  另外,即使对于网站服务器而言,虽然它的处理能力很强,但服务器要同时处理许许多多签名加密的事情,也同样存在着加密耗时长系统效率低的问题。  有没有解决这个问题的办法呢?有的,常用的方法是使用哈希函数。什么是哈希函数  哈希(Hash)函数在中文中有很多译名,有些人根据Hash的英文原意译为“散列函数”或“杂凑函数”,有些人干脆把它音译为“哈希函数”,还有些人根据Hash函数的功能译为“压缩函数”、“消息摘要函数”、“指纹函数”、“单向散列函数”等等。

4、 1、Hash算法是把任意长度的输入数据经过算法压缩,输出一个尺寸小了很多的固定长度的数据,即哈希值。哈希值也称为输入数据的数字指纹(DigitalFingerprint)或消息摘要(MessageDigest)等。Hash函数具备以下的性质:2、给定输入数据,很容易计算出它的哈希值;3、反过来,给定哈希值,倒推出输入数据则很难,计算上不可行。这就是哈希函数的单向性,在技术上称为抗原像攻击性; 4、给定哈希值,想要找出能够产生同样的哈希值的两个不同的输入数据,(这种情况称为碰撞,Collisio

5、n),这很难,计算上不可行,在技术上称为抗碰撞攻击性; 5、哈希值不表达任何关于输入数据的信息。  哈希函数在实际中有多种应用,在信息安全领域中更受到重视。从哈希函数的特性,我们不难想象,我们可以在某些场合下,让哈希值来“代表”信息本身。例如,检验哈希值是否发生改变,借以判断信息本身是否发生了改变。` 怎样构建数字签名  好了,有了Hash函数,我们可以来构建真正实用的数字签名了。   发信者在发信前使用哈希算法求出待发信息的数字摘要,然后用私钥对这个数字摘要,而不是待发信息本身,进行加密而形成

6、一段信息,这段信息称为数字签名。发信时将这个数字签名信息附在待发信息后面,一起发送过去。收信者收到信息后,一方面用发信者的公钥对数字签名解密,得到一个摘要H;另一方面把收到的信息本身用哈希算法求出另一个摘要H’,再把H和H’相比较,看看两者是否相同。根据哈希函数的特性,我们可以让简短的摘要来“代表”信息本身,如果两个摘要H和H’完全符合,证明信息是完整的;如果不符合,就说明信息被人篡改了。   数字签名也可以用在非通信,即离线的场合,同样具有以上功能和特性。   由于摘要一般只有128位或160

7、位比特,比信息本身要短许多倍,USBKey或IC卡中的微处理器对摘要进行加密就变得很容易,数字签名的过程一般在一秒钟内即可完成。哈希函数的安全性  哈希函数的安全性直接关系到数字签名的安全性,如果哈希函数被攻破,数字签名的有效性就会受到质疑。   目前,已经发明的Hash函数有多种,如Snefru、N-Hash、LOKI、AR、GOST、MD、SHA等。它们在数学上实现的方法各有不同,安全性也各有不同。目前比较常用的Hash函数是MD5和SHA-1。MD5哈希函数以512位来处理输入数据,每一分

8、组又划分为16个32位的子分组。算法的输出由4个32位分组组成,将它们级联起来,形成一个128位的固定长度的哈希值,即输入数据的摘要。SHA-1哈希函数在MD4的基础上增加了数学运算的复杂程度,即SHA=MD4+扩展转换+附加轮+更好的雪崩效应(哈希值中,为0的比特和为1的比特,其总数应该大致相等;输入数据中一个比特的变化,将导致哈希值中一半以上的比特变化,这就叫做雪崩效应)。SHA能够产生160位的哈希值。对SHA还没有已知的密码攻击,并且由于它产生的哈希值位数长于MD5,所以它能更有效地抵抗

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。