如何理解公钥和私钥

加密传输里的公钥、私钥是比较抽象的概念,朋友们不太容易掌握这对概念。我试图通过这篇文章告诉大家什么是公钥和私钥。理解它们后,你会非常容易地理解什么是加密邮件、加密即时聊天、甚至能帮助你理解什么是比特币。

想象你的面前有一张纸,在中间分为两半,左半写着“群发的短信我不回”,右半写着“今年过节不收礼”

然后咱们对外说,我有一对密钥啦!,我把左半部分发布出去,大家请看,我的公钥是“群发的短信我不回”。凡是想给我发加密邮件的,请你使用我的公钥加密。加密是软件帮你完成的,你不用操心。

我收到你发来的加密邮件,是一长串混乱的字母数字组合。我怎么解密呢?就是用我的私钥。因为公钥私钥是一对,只有我自己有私钥。我在邮件客户端里用私钥“今年过节不收礼”解密,就能看到你的邮件起初内容了。

所以说,所谓的公钥、私钥没有区别,只是一个让全世界都知道的公钥,一个是只有自己用的私钥。

在实际使用中,公钥、私钥的长度是自己设置的。最低是1024位,够长够安全了吧?考虑到目前计算机的破解水平,还是建议大家在生成密钥时选择2048位,甚至4096位密钥。

比特币虽然也是用密钥原理来生成钱包地址,但是它比较特殊,你看到的比特币收款地址很短,才几十位,它不是你的公钥,真实的密钥很长,然后比特币钱包软件把密钥又处理了一下,进行了hash运算,生成了比较短的地址,方便用户使用。

加密邮件解决了邮件保密问题,但即时聊天如何加密呢?基于密钥原理,有很多优秀的加密聊天软件。比如iPhone手机可以安装ChatSecure免费软件。

同样的,推荐你在电脑安装Pidgin聊天软件,同时安装OTR插件。你和小伙伴就可以安全的加密即时聊天了。

如果你要给李笑来发加密邮件,现在你知道,你要做的是添加李笑来的公钥。李笑来的邮箱lixiaolai@gmail.com公钥在哪里找呢?

lixiaolai@gmail.com

在你电脑安装的邮件加密软件里点击菜单栏的key-search key on server,可以找到李笑来的两个公钥。为什么是两个公钥呢?

lixiaolai public key

怀疑李笑来可能忘记了他的私钥,或者口令,他不得不重新生成自己的邮箱公钥。建议你导入李笑来最近生成的公钥,应该是他在用的那个。

如果搜索不到公钥,你应该去找找他的博客,公钥可能公布在他的个人网站上了。比如我的公钥就在联系作者页面找到。

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.