使用 ssh 密钥对加密文件

使用 ssh 密钥对加密文件

是否可以使用 gnupg 使用 ssh 密钥对加密文本文件?在我工作的地方,我们已经创建了密钥对,使用这些密钥发送加密文件将非常有用。谢谢!

答案1

在安全性方面,它非常不建议使用相同的密钥对进行身份验证和数据加密。例如,如果用于身份验证的密钥被泄露,它还会泄露之前用该密钥加密的所有数据。(我一点也不擅长密码学,但我相信这方面也存在一些问题。)

此外,生成第二个密钥只需不到 10 秒(并且在一台五年前的计算机上)。


从技术上讲,使用 SSH 密钥对加密数据是可行的,但正如 @DavidSchwartz 所说,只有 RSA 密钥可以用于此目的 - DSA 和 ECDSA 只能用于签名。

但是,这并不意味着您可以简单地将密钥导入 GnuPG 并期望它能起作用。这个帖子显示了 GnuPG 使用的 PGP 证书和 SSH 使用的裸 RSA 密钥之间的一些差异;简而言之,GnuPG“密钥”包含比 RSA 参数多得多的信息,并且根本没有任何工具可以将现有密钥包装在 GPG 证书中 - 主要是为了避免安全问题。

“其他”电子邮件加密标准 S/MIME 使用更简单的证书格式 (X.509),并且广泛可用的工具,用于基于现有 RSA 密钥创建证书。最后,可以抛弃现有标准,自己开发,使用普通的旧 RSA 函数进行加密,这些函数几乎适用于所有编程语言,甚至可以通过 shell 命令使用openssl。自掘坟墓就留给读者自己去练习吧。

相关内容