公钥和私钥

     公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。(以上话语来自百度百科)
  首先有个印象,这是两把不同的钥匙。至于用算法得到的两把钥匙哪个是公哪个是私并无确切标志,只是取决于你把哪个给别人,哪个留给自己。给自己留的当然就叫私咯。
  它们是作什么用的?
它们是作传输加密用的。其中一个钥匙把信息加密后,另一个钥匙就能解密,除此之外没东西能解密。
我想到一个形象的例子:
1.我有一对密钥:剪刀和胶水(全世界只有我有,别人没有)。
2.我把胶水当公钥发给我的两个朋友。
3.我想给我的朋友发送一句话,然后我写在纸上,为了别人不能直接看出是什么话,我采用了我的密钥:剪刀,把它剪碎,然后随便放一个袋子里寄给我的朋友。
4.朋友收到我的一袋子碎纸后,就知道我把信息加密过了,他就拿出我给的公钥:胶水,把它一片一片粘好,然后就可以看到我的信息了。
5.有一天朋友想给我发信息,也把要说的写在一张纸上。然后把纸对折将内容藏在里边,然后用他的密钥:胶水,把纸沿边缘封粘起来,然后放一个袋子寄给我。
6.我收到朋友的粘起来的纸后,也知道这是他加密的信息。然后我拿了, 我的密钥:剪刀,把纸沿边缘剪开,然后就可以看到里边的内容了。
  至此,大家可以得到一个信息:一个密钥,既可以加密,不过加密的东西只能另一个密钥来解;也可以解密,不过也只能解另一个密钥加密的东西。它们就是这么成对存在。
  除了加密外,公钥最有名的就是实现了“数字签名”,这个下次再了解吧。



20180604

你可能感兴趣的:(网络编程)