对称加密:
未加密的信息+秘钥 --> 加密的黑盒子 --> 加密后的信息
加密后的信息+秘钥 --> 解密的黑盒子 --> 未加密的信息
非对称加密:
未加密的信息+公钥 --> 加密的黑盒子 --> 加密后的信息
加密后的信息+私钥 --> 解密的黑盒子 --> 未加密的信息
既可以公钥加密,私钥解密
也可以私钥加密,公钥解密
数字签名:
A:我要给你发送条消息
B:这消息万一被人改了怎么办?
A:我会签上我的大名
B:怎么签?
A:我会先把消息hash一下,然后用我的私钥加密这个hash后的消息
B:加密后的这玩意儿就是你的签名?
A:是滴,我会把这个签名和消息一起发送给你,你用我之前给你的公钥解密一下这个签名,然后跟我一样,把消息hash一下,如果能正常解密,证明这条消息是我发的,如果解密出来的结果跟你hash出来的结果一致,那证明这条消息没有被别人篡改过
B:搜嘎
总结:
1. 数字签名可以证明消息发送者的身份及消息的完整性和正确性.
2. 明文信息才需要数字签名.
数字证书:
B:大哥,你最近公钥换的有点儿频繁呀,你那儿一改我这就得改,啥时候改的不及时了就收不到消息了
A:这样吧,以后我给你发消息的时候把公钥也一起给你发过去
B:那要是黑客直接把它自己的公钥放在它的消息里一起发给我,我不就又收到错误信息了
A:这样,我听说村里开了家CA机构,我去办个证儿,以后我...
B:等等,哥,CA是啥玩意儿
A:CA就是大家都信任的机构,他会给那些正规的服务端颁发能证明身份的证书.
B:不懂
A:比如你想要我的公钥,为了正确性,我先去拿着我的公钥去CA那儿,它用它的