数字摘要与数字签名

Message Digest

(信息摘要,也被称为cryptographic checksum校验和加密、cryptography hashcode哈希加密)
就是一串数字,通过一个很难被逆向推到的公式 算出来的hash code。

将不确定长度的输入(文件大小各异)方程式,然后得出固定大小的Hash code。一般结果的长度是128bit或512bit。

有两个特性:

1.这个方程式无法被预测和反推。也就说通过结果无法反推出输入,128bit有1.7X10的38次方中可能。以现有技术是不可能推测出来的。

2.输入方一个小的改动,将带来巨大的输出改动。改一个bit的输入,导致近乎一半的输出改变。

然而,通过Message Digest 可以确定文件没有被改动,但无法确定是谁发送的。

Digital Signature(数字签名)

Message Digest为可信赖的数字签名提供了一半的解决方法,另一半是Public Key Encryption 公钥加密算法。

公钥加密算法是:

Public key:用于加密信息的key,通常广泛的传播。

Secret key(Private Key):用于解密的接收到的信息,通常自己保留。

将Public Key Encryption做一下反转,将解密的Key公布,将加密的Key自己保留。这样发布方签名发布的信息,大家都可以用发布方的解密Key解出来,还原他。证明是发布发送的。

特点是:

1.Integrity (完整性)确保信息没有被改变

2.Authentication可以验证是谁发送的信息

用法
理论上对整个文件进行签名,既可以验证发送方,又可以验证文档的完整性。这样就没必要使用Message Digest,但是Digital Signature的运算特别的耗时、复杂。**所以我们就使用快速的Message Digital生成固定长度的Hash Code,然后在对Hash Code签名。**这样既可以保证文档的完整性,又可以保证权威性、又有效率。

所以: 数字签名= 非对称加密(数字摘要(原文))

原文:https://blog.csdn.net/zhjali123/article/details/47621319

猜你喜欢

转载自blog.csdn.net/xys430381_1/article/details/86255466
今日推荐