对称加密与非对称加密

  • 对称加密:加密和解密用的是同一个密码或者同一套逻辑的加密方式。
  • 非对称加密用的是一对密钥,分别叫做公钥(public key)和私钥(private key)

  •  

公钥和私钥

  1. 什么是公钥和私钥?
  1. 公钥和私钥是相对的,公开给别人的就是公钥!自己留存手里的就是私钥!使用密钥对中的一个密钥加密,加密后的数据只能通过另一个密钥解密,就事说公钥加密,私钥解密,或者私钥加密,公钥解密!

  1.  
  1. 为什么要公钥加密,私钥解密;私钥数字签名,公钥验证?
  1. 因为公钥加密的只能被私钥解密,所以这样保证信息的保密性。而公钥大家都有,能解开私钥加密的签名,说明这个公钥的所有人就是签名的人。
  2. 如果公钥也加密签名,这样只有拥有私钥的这个人才知道签名是谁,但是其他人就不知道了。所以私钥签名,公钥验证。

  1.  
  1. 描述一下公钥加密,私钥解密?
  1. 经理给员工A发薪资说明,用A的公钥加密,这样只有A有自己的私钥,就可以解密薪资单了。其他人就算拿到这个说明,因为没有私钥,也看不了。

  1.  
  1. 描述一下私钥签名,公钥验签?
  1. 如果没有签名,可能其他同事仿冒经理,给A乱发薪资单,多发个10000块,逗A玩。这样A就空欢喜了,心态一上一下,十分影响,所以此时需要签名。
  2. 如果有了签名,就是经理用自己的私钥把签名加密,然后发给A,A首先有经理的公钥,这样就可以解密,知道这个薪资单确实是经理发过来的,然后再用自己的私钥解密开内容看到了自己真实的薪资。心情平淡,好好工作!

  1.  
  1. 证书中心(certificate authority,简称CA),这是干什么的?
  1. 同事a嫉妒A,所以想使坏,a偷偷把A手里的经理的公钥给换了,换成了自己的公钥,然后骚操作来了:a同样写了一份薪资单,给A加10000万,然后用A的公钥加密,之后签名的时候用自己的私钥加密签名。发给了A,A收到以后,用公钥解开(以为是经理的,实际上是a的),这样就误以为自己多了一万块,去领取的时候发现没有,回来哭唧唧。
  2. 所以,公钥是容易被替换篡改的,A想了想,说我们的公钥都需要去CA那里作认证。CA用自己的私钥,对经理的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。经理再发送薪资时,就签名的同时,再附上这个数字证书,A收到以后,先用CA的公钥解开,找到了经理的真实的公钥,然后再解密OK了。