数字签名的原理

1、所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换 。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造 。
2、它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输 。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名 。包括普通数字签名和特殊数字签名 。
数字签名的基本原理是什么?数字签名是基于非对称密钥加密技术与数字摘要技术的应用,是一个包含电子文件信息以及发送者身份并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串 。
一段数字签名数字串包含了电子文件经过Hash编码后产生的数字摘要,即一个Hash函数值以及发送者的公钥和私钥三部分内容 。
数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的 。二是数字签名能确定数据电文内容是否被篡改,保证消息的完整性 。数字签名的基本工作流程如下:
发送加密
1.数字签名用户发送电子文件时,发送方通过哈希函数对电子数据文件进行加密生成数据摘要(digest);
2.数字签名发送方用自己的私钥对数据摘要进行加密,私钥加密后的摘要即为数字签名;
3.数字签名和报文将一起发送给接收方 。
接收解密
1.接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要;
2.接收方用发送方的提供的公钥来对报文附加的数字签名进行解密,得到一个数字摘要;
3.如果以上两个摘要相一致,则可以确认文件内容没有被篡改 。
4.发送方的公钥能够对数字签名进行解密,证明数字签名由发送方发送 。
以上过程逆向也可以进行,即当文件接受者想要回信时,可以先通过hash函数生成数字摘要,再用公钥加密即可起到文件加密的作用,收信人(数字签名拥有者)可以用私钥解密查看文件数字摘要 。
函数加密原理
Hash函数又叫加密散列函数,其特点在于正向输出结果唯一性和逆向解密几乎不可解,因此可用于与数据加密 。
正向输出容易且结果唯一:由数据正向计算对应的Hash值十分容易,且任何的输入都可以生成一个特定Hash值的输出,完全相同的数据输入将得到相同的结果,但输入数据稍有变化则将得到完全不同的结果 。
Hash函数逆向不可解:由Hash值计算出其对应的数据极其困难,在当前科技条件下被视作不可能 。
了解了数字签名,我们顺便来提一嘴数字证书的概念:
数字证书
由于网络上通信的双方可能都不认识对方,那么就需要第三者来介绍,这就是数字证书 。数字证书由Certificate Authority( CA 认证中心)颁发 。
首先A B双方要互相信任对方证书 。
然后就可以进行通信了,与上面的数字签名相似 。不同的是,使用了对称加密 。这是因为,非对称加密在解密过程中,消耗的时间远远超过对称加密 。如果密文很长,那么效率就比较低下了 。但密钥一般不会特别长,对对称加密的密钥的加解密可以提高效率 。
数字签名原理数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换 。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造 。
【数字签名的原理】数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者 。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比 。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性 。