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

本文详细介绍了公钥加密机制,包括公私钥的工作原理,以及数字签名和数字证书的概念。在通信过程中,服务器A生成公私钥,公钥分发给客户端B,用于加密数据。数字签名通过私钥加密数据的hash值,确保数据完整性和来源验证。数字证书由证书中心(CA)加密,防止中间人攻击,增强安全性。浏览器会验证证书中心的合法性,保护用户免受欺诈。
摘要由CSDN通过智能技术生成

先说结论:如果私钥丢了(而公钥一般都是分发出去的)那就凉凉。

理解公私钥 不应该当成钥匙,公私钥并不是钥匙和锁的关系,可以理解像一对虎符一样的关系。公钥加密的数据私钥可以解密,私钥加密的数据公钥也可以解密。在公私钥产生时并没有意义上的区别,哪个分发出去,哪个就可以说是公钥,而另外一个就可以说是私钥。但是因为生成方式的区别,一般的在生成之后就确定了哪个是分发出去的公钥,哪个是留下的私钥。

一.公私钥的加密过程:

引入服务器A和客户端B

A生成公私钥,将公钥分发给B。这时通信时B用公钥加密数据发送给A,A用私钥解密。

A用私钥加密数据发送给B,B用A的公钥解密。

二.什么是数字签名:

A在发送数据时,先将数据通过hash生成一个hash值,再将hash值用私钥加密。加密后的东西就是数字签名。A会连同用私钥加密的数据和数字签名一起发送给B,如果有人在传输途中截获,修改了其中的内容再发送给B,在B接到数据时用A的公钥解密签名 后得到一个hash值a,再通过hash算法将用A公钥解密后的数据进行hash得到一个hash值b,只要将hash值a和hash值b进行比对,如果一样的话就可以证明内容没有被改过。

三.什么是数字证书:

这里引入牛马C,如果C将B中保存的A的公钥偷偷换成了C自己的公钥,此时向B发送数据时,只要用C自己的私钥来加密数据和制作签名,就可以骗过B,让B还一直以为数据来源是A。

为了避免这种情况,这里B要求A必须将公钥送去一个证书中心(这就是CA)加密,证书中心会用自己的私钥来加密B的公钥以及一些其它能证明身份的信息,加密生成的东西就是数字证书(只会给A),并且证书中心会将自己的公钥发送给B。

A再向B发送数据时,只要将用A的私钥加密过的数据和数字签名以及证书中心颁发的证书(包含A的公钥)一起发送给B,B在获取时先用证书中心的公钥来解密证书(证书中心的私钥没有泄漏就不能伪造),解密后能获取A的公钥,再用获取到的A的公钥解密数字签名获取hash值c,再用B的公钥解密数据并进行hash获取到hash值d,比较c和d的值就能确认数据是否被篡改过。

如果C再想伪造就必须获取到A的私钥(用来做数字签名和篡改后加密数据)和 公钥以及A的各种其他信息和证书中心的私钥(用来伪造证书),难度大大增加。

浏览器会有一批信任的证书中心,在接到数据后发现证书中心不对会进行提示。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值