公钥和私钥详解

公钥加密

最近一直忙着帮别人做毕业设计,一直没空去更新博客, 今天有空想说一下公钥和私钥加密解密的问题,因为这会设计到我们的数据安全,以及涉及到HTTPS服务器的一部分内容。我觉得还是很有必要写出来帮助大家的。

首先来举一个简单的例子。
比如小明要发一段加密的数据给小红,可能是情书,所以必须要加密啊,如果被爸妈拦截了咋办,于是小红创建了一个pfx数字证书,由此导出公钥来加密这段数据,然后把公钥发给小明,然后小明用公钥来加密整段数据,发给小红时,小红再用私钥来解密。
私钥是唯一的,也就是只有小红一个人才能解密那段数据。整个的流程大概是这样的。
公钥和私钥详解_第1张图片

于是乎,小红就拿到了小明给的情书,最终就开始一段黑暗的爱情史。

私钥签名

但是如果有另外一个第三者:小刚,也喜欢小红,那么问题就复杂了,因为小刚想伪装成小明然后发送给小红一些糟糕的话,让小红不再喜欢小明,于是就有了私钥签名来验证这个问题,步骤如下:
小明把公钥发给小红,并用自己的私钥在数据上签名,然后,小红又把自己的公钥发给小明,小明用小红的公钥加密数据,之后发给小红,小红先用小明给的公钥来验证是不是小明发的,然后再用自己的私钥来解密。这样就是一次完整的公钥加密数据传输。
下面是一个大概的流程图:
公钥和私钥详解_第2张图片

你可能感兴趣的:(数据安全)