所以我需要一个朋友通过电子邮件发送给我的一段文本,但在他发送之前,他想要我的公共 RSA 密钥。
我想知道作为新手生成这对然后用它来解密发送给我的消息的最简单方法是什么?
今晚我已经用 Gpg4win 和 PuTTY 搞砸了一段时间,我“认为”我已经设法用每个人生成我自己的私钥和公钥......但完全超出了我的能力范围我现在如何使用它来解密我可能收到的任何消息?
想知道我是否有更简单的方法?或者我可以指向一个简单的指南来做这件事?
所以我需要一个朋友通过电子邮件发送给我的一段文本,但在他发送之前,他想要我的公共 RSA 密钥。
我想知道作为新手生成这对然后用它来解密发送给我的消息的最简单方法是什么?
今晚我已经用 Gpg4win 和 PuTTY 搞砸了一段时间,我“认为”我已经设法用每个人生成我自己的私钥和公钥......但完全超出了我的能力范围我现在如何使用它来解密我可能收到的任何消息?
想知道我是否有更简单的方法?或者我可以指向一个简单的指南来做这件事?
交换加密或签名电子邮件的标准解决方案是PGP或GnuPG(它是免费软件)等兼容程序。你和他都需要安装 PGP 或 GnuPG。有一个Windows 前端和用于电子邮件软件的插件,包括 Thunderbird (Enigmail) 和 Outlook(我不知道细节,我听说过关于它的人体工程学不好的事情)。
如果您的朋友希望您使用一些自定义解决方案,请向他解释说,本土密码学永远不会安全。通过拒绝使用他的自定义方案来以身作则。
我建议您尝试 ssh 提供的密钥生成实用程序。有一个名为ssh-keygen 的特殊工具,它允许您创建公钥/私钥对。Github 实际上有一篇易于理解的文章解释了如何生成这些密钥。
生成密钥对后,您可以使用您的公钥使用 PKCS 1.5 算法加密消息,并使用您的私钥解密消息。
这背后的想法是有人会使用您的公钥向您发送秘密消息,并且只有您可以通过使用您的私钥解密来阅读这些消息。
如果你有任何编程经验,你可以尝试使用PyCrypto之类的东西来执行加密和解密操作。我目前正在我的 github 帐户上编写一些简单的加密命令行工具,但我还没有实现 PKCS 1.5。
除了 GnuPG(参见@Gilles 的回答),一些现代电子邮件软件,如Thunderbird、Outlook 或 Windows Live Mail(Outlook Express 的继任者)支持S/MIME,其功能类似于OpenPGP(GnuPG 实现的) . 使用 S/MIME 避免了“插件安装”阶段。但是,它要求将涉及的公钥表示为X.509 证书。可以从出售此类东西的几十个商业 CA 之一获得证书(通常不是免费的),您的系统和您朋友的系统将能够自动验证该证书;或者,您可以生成自己的证书(例如使用OpenSSL) 但随后您将不得不手动进行导入,并找到某种方法来确保您看到的朋友的证书确实是他的证书,而不是假的(这可以通过给您的朋友打电话并拼出证书指纹,以及其他可能的方式)。
有关大量信息,请参阅此博客文章。
在您的情况下,最简单的方法是:
完成后,您的朋友将能够向您发送加密的电子邮件。