说出来你可能不信,密钥这两个字的规范读音竟然是【mì yuè】,听起来像蜜月,哈哈。不过,在密码学的语境下,读作【 mì yào】的应该更多吧。扯远了,这集我们聊聊 HTTPS 里的重要组成部分,就是密钥和加密算法。
加密算法有两类:对称加密和非对称加密。
顾名思义,对称加密算法里,加密和解密用的是同一个密钥。
狗子这次学聪明了,发消息前先加密了。
你可以把这个加密过程理解成把消息放进一个上了锁的盒子里。
有钥匙(密钥)的人就能打开这个盒子。
这样就能保证,没有这把钥匙的人就打不开。
菜鸟收到这个盒子后,用他们约定的钥匙(密钥)打开盒子阅读消息。
需要注意的是,密钥必须保密,不能以明文形式共享。
实际上,没有密钥解密的话,看到的是一堆毫无意义的字符:
某个加密算法生成的密文可能是这样的:
经过多次转换,文本变得越来越难以识别。
解密也要经过这些步骤,只不过是反过来的:
加密使用的密钥混入了消息中,因此即使你知道加密算法,没有密钥也无法解开密文。
密钥可能长这样:
对称密钥虽好,但是有个问题:怎么安全地分享给别人?
传送密钥的时候需要特别小心,一不留神就会被偷窥。
因此,出现了另一种加密算法:非对称加密。
跟对称加密的区别是,非对称加密需要两个成对的密钥。
公钥就有意思了,你可以随便共享,发在网上、写在纸上、纹在身上……随你便,反正是公开的!
于是狗子就把自己的公钥发给了菜鸟小姐姐。
也就是说,菜鸟把消息装进了盒子,用狗子的公钥锁上了。
敲黑板划重点:只有跟公钥配对的私钥才能解密。
顺手点“在看”,每天早下班;转发加关注,共奔小康路~