1 电子签名的作用:
(1)检查内容在传输过程中内容的完整性,保证内容不能修改,这个就是hash计算
(2)保证发送者的不可否认性,如果是小明发出的,小红收到数据的时候,知道这个东西是小明发出的,而不是别人发出的。
非对称加密算法RSA既可以作为数据的加密算法,也可以作为电子签名算法,我们下牢
保密通信中的RSA算法:
小李给老王发数据:首先使用老王的公玥进行加密,把加密后的数据发送给老王,老王得到数据之后使用自己的私玥解密。
电子签名中的RSA算法:
老王给小琳发送数据:首先使用自己的私玥对数据进行加密,小林得到数据之后,使用老王的公玥进行解密,因为是老王的私玥加密的,只有老王的公玥才能解密,所以认证了数据只能是老王发出的,不能是其他人发出的,这这就是电子签名的作用置于,签名人的不可否认性。
RSA算法即可用使用数据的加密,也可以使用在电子签名上,注意不是所有的飞对称加密算法都可以同时使用在加密和电子签名上。
第二个电子签名如何保证数据内容的完整性:
我们来分析下:比如老王给小林发送一个视频一个G,我们不可能使用使用老王的私玥直接对视频进行加密,数据的值太大,这样效率太低,我们如何做,我们先对原始数据做做hash计算,hash计算效率高,并且输出的值很短是固定长度输出的,例如MD5算法,固定输出都是128bit,然后我们在使用老王的私玥对着128bit hash值A的数据进行加密,我们将加密后的hash数据依附在原始消息
后面一起发生给小林,小林收到数据之后会做下面的两个操作:
(1)使用老王的公玥对数据进行解密:得到hash值A,只能使用老王的公玥才能解密,签名人的不可否认性
(2)将得到的视频数据做hash计算得到hash值B,如果hash值B和解密之后得到的Hash值A是一样的,说明在传输过程中原始数据没有被修改。保证了数据内容的完整性
总结:电子签名的总结
1、电子签名就是非对称加密算法和消息摘要算法的结合体
2、常用的数字签名算法有常见的数字签名算法有RSA/DSA/ECDSA
3、电子签名遵循的是遵循“私钥签名,公钥验证”规则
上面重点分析了电子签名,但是电子签名没有解决签名人身份的合法性,不能保证用户身份的合法性,不能防止重放攻击,下面的数字证书将会保证双发身份的合法性,发送的双发的合法性,能保证重放攻击。
通过电子签名:保证了数据传输过程中的数据的完整性、和发送方的不可抵赖性。但是不能防止第三方攻击,验证发送双发身份的合法性。
通过数字证书:保证了通信双发身份的合法性,相当于通信双方拿到了派出所的身份证,不再是黑户,能防止第三方的攻击。
通过电子签名和数字证书,就保证了在网络传输中的安全性和可靠性。