标签:
再介绍电子签名前,我们首先介绍一下Hash,也叫作散列或者哈希。
Hash函数的定义是:变长的输入变换成定长的输出。
常见Hash算法:MD5(128位),输入无论多长,都会变成定长的128位输出。
Hash的特点:
1、易变性:即便原始信息发生1bit的变化,Hash的输出将会有不可预知的巨大变化。
2、不可逆:通过Hash结果构造出满足的输入信息是不可能的或者极其困难的。
在对称加密与非对称加密一文中,我们已经学习过,在非对称加密中,使用公钥进行加密,然后使用私钥进行解密。
电子签名中,用的是另一个特性,是使用私钥加密,再使用公钥解密。如下图:
我们先想一下,现实生活中的签名的性质:
1、不可否认性,你签的字体别人模仿不出来。
2、签署文件的完整性,你签的文件不能被修改。
下面我们来看电子签名:
如果对原始消息直接使用私钥加密,由于非对称加密的速度比较慢,所以不推荐这种方式。
我们采用的是首先求出原始信息的Hash值,再对Hash值使用私钥签名。然后把原始信息和签名信息一起发给Target,相当于把签好的文件和签名一起发给Target。
Target首先使用公钥对签名信息解密,然后计算原始信息的Hash值,通过这个Hash值与刚刚使用公钥对签名信息解密出来的Hash值对比,如果一致,说明签名没有被篡改。
电子签名也有以下特质:
1、不可否认性:使用私钥进行签名,私钥只有你有,别人不可能有你的私钥。
2、完整性:由于Hash值具有易变性和不可逆性,采用Hash值校验,保证了完整性。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/jltxgcy/article/details/48263029