java密码学学习整理--消息摘要与数字签名

来源:互联网 发布:js获取数组索引值 编辑:程序博客网 时间:2024/06/06 12:30


1.消息摘要:消息摘要保证了消息的完整性。

一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。

1.1常见例子 --md5:

进入到tomcat7的下载官网(http://tomcat.apache.org/download-70.cgi#7.0.53)可看到在下载链接旁边有下载包所对应的MD5值(点击即可看到“e819542bf313c3a5e0c1ad03c15880b6 *apache-tomcat-7.0.53.zip”),这串md5值即是apache-tomcat-7.0.53.zip下载包产生的消息摘要。

1.2 消息摘要算法分类:MD系列(消息摘要算法),SHA系列(安全散列算法),MAC系列(消息认证码算法)

这些算法的安全性的有所不同,具体可参考   http://blog.chinaunix.net/uid-20662820-id-4050694.html


1.3  md5介绍

MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法。
MD5的典型应用是1.数据完整性验证,2数字签名应用,3.密码加密。 MD5广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的, 用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。
2 数字签名 :保证信息传输的完整、发送者的身份认证、防止交易中的抵赖发生.

2.1  过程 :(下面内容引自 http://blog.chinaunix.net/uid-26149879-id-2240496.html)

1,用户A将明文通过hash运算(散列)生成数字摘要1,用户A用自己的私钥对摘要进行加密生成数字签名1.

2,用户A将明文+数字签名1+A用户的公钥(证书),准备将这些信息发到B用户,但是这个过程中,用户A明文是不安全的是可见的,我们需要对这三个文件进行加密。

3,用户A通过一个“对称加密”(对称加密速度很快,知道密钥就可以解密)对其进行加密将其生成秘文1,要想这次加密成功关键就是要保护这个对称加密的密钥1

4,为了保证上面的加密安全,使用用户B的公钥对“对称加密的密钥1”进行了一次加密处理,生成一个数字信封1,此时这个数字信封1+秘文1打包装入就可以发送给用B了。

5,用户B接收到信,看到数字信封1+秘文1,用户B用私钥解密数字信封1,得到了“对称加密的密钥1”,通过这个对称加密密钥对秘文1解密,就可以解开密文。

6,解开秘文1解则看到了A的明文+数字签名1+A用户的公钥(证书),这三个文件,这个时候已经可以确认是用户A发的信息了,但是还要验证文件在传输过程中是否被篡改。

7,用户B将明文通过hash运算(散列)生成数字摘要2,同时用得到的A用户的公钥(证书)对数字签名1进行解密生成原来的数字摘要1,如果此时的数字摘要1数字摘要2相同那么说明整个过程是安全而有效的。


2.2 应用领域

数字签名的表现形式可以用软件技术实现为形象的电子印章,看上去就和普通印章盖的一样。数字签名可以存储在相应的载体中,如USBKey、智能卡或者优盘。结合载体的安全措施,使得即使丢失了载体,拾获者也无法冒充用户的数字签名,更好地实现了数字签名的安全。数字签名技术在电子商务贸易、电子合同的签订、电子政务等网上交易行为中都有着重要的应用。
有了数字签名的保护,规范了网上交易市场。具体实现如下:客户填写好订单,然后对其进行签名后发送给商家,商家用用户的公钥验证签名,保证了用户不能对其所下订单的需求进行抵赖;然后商家将确认信息用自己的私钥签名后发送给客户,客户接受后用商家的公钥验证商家的签名,保证了商家不能对交易确认行为进行抵赖。从而规范了电子商务市场。而起纠纷时,因为数字签名受法律保护,也为纠纷的处理提供了依据。
数字签名的应用也为网上合同的签订提供了便利,节约了成本。以前,为了一个两地间的合同的签定,一方必须飞到另一方签订纸制的合同,成本可想而知,而且效率也不高。《中华人民共和国电子签名法》实施后,数字签名的应用有了法律依据,双方可以对电子合同进行数字签名后通过网络互传。极大地提高了效率,降低了成本。
数字签名的应用在电子政务中也越来越重要。要实现真正的无纸化办公,取消了手写签名后,规范的电子公文的签发等都离不开数字签名。而真正意义的网上报税系统的实现更加离不开数字签名的应用。目前有些地方已经实行了网上报税,但是由于没有实现数字签名技术,要求纳税人在完成网上申报后,仍然要求纳税人报送盖有公章的纸质资料。因为根据《税收征管法》的规定,没有签名、盖章的文书不具有法律意义,因而无法作为申报依据。电子签名法实施后,通过网络传输的数字签名同样具有了法律效力。
网上交易中的诚信问题必须有相应的技术来保障,数字签名是一种有效技术,对打造一个诚信的网络环境具有重要的现实意义。







3 0