消息完整性与数字签名

消息/报文完整性(message integrity):也称消息认证,目标:
1、证明消息确实来自声称的发送方;
2、验证消息在传输过程中没有被修改;
3、预防发送时间,顺序被修改;
4、预防抵赖

为了达到以上效果,需要设计这样的密码散列函数:H(m);
1、散列算法公开
2、单向不可逆
3、对任意的m,H(m)唯一且定长
4、H(m)能够快速计算

散列函数算法
MD5:正在广泛应用的,速度快,不足够安全,生成128位
SHA1:更加安全的散列算法,速度相对md5慢,很安全
要求输入消息长度小于2的64次方
散列值160位

消息摘要:对消息m应用散列函数,得到一个固定长度的散列码,称为消息摘要,记为h(m),可以作为该消息的数字指纹。

报文认证码MAC(message authentication Code):
报文m + 认证密钥s +密码散列函数H ->扩展报文(m,H(m+s)).


数字签名
为了解决否认,伪造,冒充,篡改这些与消息完整性相关的问题,数字签名应运而生。

数字签名是实现安全电子交易的核心技术之一。

一种简单的方法是:利用公钥技术,直接对报文用私钥加密,那么只有公钥才能解,并且是公布公钥的作者发的,你无法否认。
但是这种技术产生的加密后的文件跟你原报文差不多大,当你原报文非常大时,比如一个iso镜像几个G,那么你下载就需要双倍的空间,这很明显是不够好的方法,为此我们又另一种方法,将消息摘要和公钥密码体制结合使用。

签名报文摘要
我们对报文进行消息摘要,生成一个散列码,它保证了消息的完整,然后我们只用对这个散列码用私钥加密就好了,这就保证了消息是不是别人,是你发的,且你无法否认。最终,你发出的是 消息 + 加密的消息摘要。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章