公钥,私钥,证书,签名等。。。。

刚接触到https的时候,对这几个概念会感到很头疼,这里举个小例子,便于理解。

公钥,顾名思义公共的,私钥,私人的,这二者一般成对出现。

假设,小明有一对钥匙(公钥,私钥),他要和小王通信,并且不想让信件内容被别人看到,所以他给了小王一个公钥,自己一个人保有私钥。通信过程开始:

1.小王给小明写了一封信,并用公钥加密,此时这封信只有拥有私钥的小明才能看到内容。

2.小明收到信,利用自己的私钥解密这封信,看信。

3.小明接着给小王回信,小明写了一封信,写完之后用函数加密,写了个摘要,然后用自己的私钥对这个摘要进行加密,生成数字签名,附在信上。

4.小王收到小明的回信,取下数字签名,用公钥解密,看到摘要,这样一来,就能说明这封信确实是小明发来的,不然也无法用小明的公钥解密。

5.小王确认信件是小明发的之后,还需要确认信件有没有被修改,所以小王还需要用同样的函数对信件解密,然后对比摘要,看是否有误,信的内容可以被修改,但摘要必须得经过私钥加密,所以摘要不会变,如此便可以确定信是否被别人修改过。

6.问题来了,公钥都长一样,也就是说即使小王并不知道自己的手上的公钥一定是小明的,也就是说你可以偷偷把小王手上的公钥换成自己的,然后你再拿着你的私钥,冒充小明,和小王通信。所以这个时候小明就需要给自己的公钥做个证明,于是小明来到权威机构--"证书中心"(certificate authority,简称CA),证书中心用自己的私钥,对小明的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

7.拿到数字证书之后,小明下次回信的时候就只需要,在信件上附带上数字证书,而小王,手上会有证书中心的公钥,小王用证书中心的公钥打开数字证书,获取小明的公钥,再用这把公钥进行后续操作,这样一来就不会被骗。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值