数字签名图文并茂

一 Alice 和 Bob的故事
假如现在Alice向Bob传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:  
1.Alice准备好要传送的数字信息(明文)。  
2.Alice对数字信息进行哈希运算,得到一个信息摘要。 
3.Alice用自己的私钥对信息摘要进行加密得到Alice的数字签名,并将其附在数字信息上。  
4.Alice随机产生一个加密密钥,并用此密钥对要发送的信息进行加密,形成密文。 
5.Alice用Bob的公钥对刚才随机产生的加密密钥进行加密,将加密后的 DES 密钥连同密文一起传送给Bob。
6.Bob收到Alice传送来的密文和加密过的 DES 密钥,先用自己的私钥对加密的 DES 密钥进行解密,得到 Alice随机产生的加密密钥。
7.Bob然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃。
8.Bob用Alice的公钥对Alice的数字签名进行解密,得到信息摘要。
9.Bob用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要。
10.Bob将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
二 Alice 和 Bob的故事图解

 
三 现实版的数字签名图解

 
四 数字签名在证书中的应用
 
1、客户端在对服务器发Client Hello之后,服务器将公开密钥证书发送给客户端,这个证书里面包含了(公钥+ 各种信息+ 数字签名)。
2、服务器端数字签名的由来:服务器用哈希算法对 各种信息生成摘要,再用 私钥 加密摘要生成数字签名
3、客户端收到公开密钥证书后,相当于收到了一个包裹,里面有(公钥+各种信息+数字签名)。
4、客户端校验证书过程:利用公钥对 数字签名进行解密,得到摘要,然后再对发送过来的 各种信息生成摘要,再比较两个摘要是否一致,一致就说明证书合法。
 
 

猜你喜欢

转载自cakin24.iteye.com/blog/2344926