编者按:什么是数字签名技术,数字签名的基本原理和过程是什么,数字签名hash是什么,哈希函数如何应用在数字签名呢?小编将通过对数字签名原理的解读帮您更好地理解电子合同的工作原理。
数字签名具有不可否认性,是电子合同领域的核心技术,通过在不同环节使用数字签名实现电子合同的数据加密,以保障其不可篡改、合法可信。数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的,二是数字签名能确定数据电文内容是否被篡改,保证消息的完整性。
➤ 数字签名的基本原理
数字签名是基于非对称密钥加密技术与数字摘要技术的应用,是一个包含电子文件信息以及发送者身份,并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。一段数字签名数字串包含了电子文件经过Hash编码后产生的数字摘要,即一个Hash函数值以及发送者的公钥和私钥三部分内容,发送方通过私钥加密后发送接收方,接收方使用公钥解密,通过对比解密后的Hash函数值确定数据电文是否被篡改。
▌发送加密
1.数字签名用户发送电子文件时,发送方通过哈希函数对电子数据文件进行加密生成数据摘要(digest);
2.数字签名发送方用自己的私钥对数据摘要进行加密,私钥加密后的摘要即为数字签名;
3.数字签名和报文将一起发送给接收方。
▌接收解密
1.接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要;
2.接收方用发送方的提供的公钥来对报文附加的数字签名进行解密,得到一个数字摘要;
3.如果以上两个摘要相一致,则可以确认文件内容没有被篡改。
4.发送方的公钥能够对数字签名进行解密,证明数字签名由发送方发送。
以上过程逆向也可以进行,即当文件接受者想要回信时,可以先通过hash函数生成数字摘要,再用公钥加密即可起到文件加密的作用,收信人(数字签名拥有者)可以用私钥解密查看文件数字摘要。
➤ Hash函数加密原理
Hash函数又叫加密散列函数,其特点在于正向输出结果唯一性和逆向解密几乎不可解,因此可用于与数据加密。
▌正向输出容易且结果唯一:由数据正向计算对应的Hash值十分容易,且任何的输入都可以生成一个特定Hash值的输出,完全相同的数据输入将得到相同的结果,但输入数据稍有变化则将得到完全不同的结果。
▌Hash函数逆向不可解:由Hash值计算出其对应的数据极其困难,在当前科技条件下被视作不可能。
>> 相关阅读