公钥 私钥 数字签名 数字证书

经常会听到公钥和私钥的概念,今天来讨论一下我对公钥和私钥的理解。
    公钥和私钥是非对称加密的一种,有别于对称加密中,双方都持有相同的密钥,非对称加密,加解密双方持有不同的密钥,公开给对方的密钥被称为公钥,自己保留的密钥
被称为私钥。由公钥加密的内容只有私钥能解开,反之,由私钥加密的内容只能被公钥解开。
    那么,公钥和私钥的用处在哪里呢。首先来了解一下对称加密,对称加密双方都持有相同的密钥,只要得不到密钥就解不开密文,但这是建立在双方都互相信任的基础上,
如果两边都可能存在不信任,那么随便把密钥交给对方,就非常不安全,任何一个人都可以与你建立连接,骗得密钥,然后交换内容,那就不存在安全一说了。设想,大家都有密钥,那么都可以解密内容。
此时非对称加密就比较安全了。
    公钥,私钥:
    假设 A 与 B 两人,A 要想给 B 发信息,A 就需要知道 B 的公钥,把自己想发的内容用 B 的公钥加密,然后发给 B,B 用自己的私钥解密,得到内容,任何中途得到密文的人,因为没有 B 的密钥,
所以都没法解开密文。这样 A 发给 B 的内容就安全了,反之,B 想给 A 发信息,就需要用 A 的密钥进行加密。总结就是,你想要给谁发信息,就需要知道对方的公钥就行了。
    数字签名:
    这看起来似乎很美好,但试想,万一中间来了个第三者 C, C 想冒充 A 去给 B 发信息,去骗取信息,那么 C 只需要有 B 的公钥就行了,由于 B 的公钥是公开的,这个很容易得到,那么 B 就很容易
被 C 欺骗了,世界又黑暗了,要是有个标记让 B 知道,这内容是 A 的亲笔信就好了,自古签名就可以看出来,这里类同,A 只需要在写完信后,把信用 MD5 取个信息摘要,然后对 MD5 用自己 (A) 的
私钥进行加密,生成一个自己的签名,连同信一起发给 B。 此时 B 收到了从 A 寄来的信时,虽然信上说自己是 A ,但可能被仿冒,B 只需要用 A 的公钥去把签名解密,得到信的 MD5,然后校验一下
信的内容就行了。由于其它人没有 A 的私钥,所以他们发的内容,如果 B 用 A 的公钥去解时,肯定会失败,因为不配对。这个好像解决了问题,很美好。
    数字证书:
    但是万能的黑客是无处不在的,万一,有人偷偷在 B 的电脑上,把 A 的公钥换成自己的,你没猜错,这里的黑客就是 C,此时 B 机器上 A 的公钥其实是 C 的公钥,那么这个时候,C 再假冒
A 去给 B 发信息,B 就会一直以为和他联系的是 A ,一切都正常加解密,无解啊。此时要是有个权威机构对这些公钥进行统一管理就好了,这里 CA (certificate authority) 证书中心横空出世,
公钥不再保存在 B 的电脑上。 CA 会把 A 的公钥等信息,用 CA 自己的私钥进行加密,生成一个数字证书,A 在给 B 写信时,写上签名,然后把 CA 颁发的数据证书也带上,一起发给 B,B 收到信后,
用 CA 的公钥,解开数字证书,得到 A 的公钥,然后用 A 的公钥,解开数字签名,如果能解开,那么肯定就是 A 写来的,此时得到信的内容的校验,然后比对一下信的内容是否被更改,如果没被更改,
说明这次交流是安全的。一切天衣无缝!
    总结一下,A 给 B 写信,就用 B 的公钥,因为大家都有公钥,所以可能被冒充,此时为了证明是 A 写的信,A 把摘要等信息用自己的私钥加密,这样就可以证实是自己的了,这个时候又担心 B 保存的
A 的公钥造假,就由第三方受信机构,对 A 的公钥进行加密生成数字证书,一起都传给 B,这样由于受信机构的公钥是内定的,不会被更改,就使整个过程安全了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值