PGP 加密密钥使用

问题描述

我可以在 Linux 环境中使用在我的 windows 环境中生成的相同密钥对来解密吗? 假设我在 Windows 环境中使用 python-gnupg 生成一个密钥对并加密一个文件。我可以在我的 Linux 环境中使用这个生成的密钥的私钥来解密消息吗?

解决方法

这里真正的问题是如何安全地将私钥从一个系统转移到另一个系统?如果您有一种安全的文件传输方式,您可能会将其用于主文件,而不仅仅是用于密钥,并且可能不需要额外的加密层。

如果您不能安全地传输任何文件,那么您不应该在系统之间发送任何明文密钥。幸运的是,这是公钥加密显示其优势的情况。您可以创建两个单独的密钥对,每个系统一个。您只需要让每个系统向另一个系统发送密钥对的公钥,私钥永远不会从创建它们的系统中删除。您不在乎攻击者是否能够获得这些公钥的副本,事实上,有些公钥已发布在互联网上!

当您想要将文件安全地从一个系统发送到另一个系统时,您可以使用收件人的公钥进行加密。发件人可能还想用自己的私钥对文件进行签名(这样可以在另一端验证文件的完整性)。然后可以通过不太安全的方式将加密(和签名)文件从一个系统传输到另一个系统,而不必担心攻击者获得副本,因为攻击者很难破解加密。接收者可以使用他们的密钥解密文件(并使用发送者的公钥验证签名)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...