先看这里 https://blog.csdn.net/jijianshuai/article/details/80582187
在这里我们理解了 非对称加密算法, 那么既然非对称加密算法已经可以满足我们的明文传输了, 那么为什么我们还需要进行数字验签呢,
数字验签的目的只是为了只读以防止修改!!!!!
意思就是我们的验签的目的只是为了我们这个明文是防篡改的,我们所收到的明文是正确的 当然 步骤如下:
假如现在 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 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
很简单就是在非对称算法的基础上,进行了生成一个随机的秘钥对,然后通过这个临时的秘钥对+非对称的来同时保证信息是不被篡改的!