前言
无论是单、双向加密的方式,对文件的加密最根源都是用的“对称密钥”加密(即一个“密码”)
因为"对称密钥"加密解密的速度、性能、资源损耗都是优于“非对称加密”的。 而“非对称密钥”主要是用于验证身份。
一、单向加密
流程说明:
A: 先使用“对称密钥”加密“原文”(得到“密文”), 然后使用“公钥”加密“对称密钥”(得到“数字信封”)
传输
B: 先使用“私钥”解密“数字信封”(得到“对称密钥”), 然后使用“对称密钥”解密“密文”(得到“原文”)
缺点:
“B公钥”(B提供给A的)容易被别人拿走,然后假装成A给B发文件。B无法察觉。
所以,衍生出了双向加密。
二、双向加密
流程说明:
A: 先对“原文”使用“指定的某个摘要算法”生成“摘要”,再使用“A的私钥”对原文生成的“摘要”进行签名(得到“数字签名”),把“数字签名”附加在“原文”的最后面, 然后使用“对称密钥”加密“原文”(得到“密文”), 最后使用“公钥”加密“对称密钥”(得到“数字信封”)。
传输
B: 先使用“私钥”解密“数字信封”(得到“对称密钥”), 然后使用“对称密钥”解密“密文”(得到“原文”), 最后从“原文”中提取出“数字签名”,使用“A的公钥”解密“数字签名”得到“摘要”,同时使用“指定的某个摘要算法”对“原文”生成另一个“摘要”, 最后将两个摘要进行比对,一致即为真实。
优点
比单向加密多了“A的私钥”和“A的公钥”用于生成“签名”。
这“两个新钥匙”一般是公认的机构(CA)给二位(A和B)签发的,这样可以确保B收到的是真实的A发送过来的文件,不是伪造的。?
|