1

我一直在尝试在 python (cryptography.hazmat.primitives.asymmetric) 中使用 RSA 加密。我有以下设置:一方面是具有公钥的客户端将加密数据发送回服务器,该服务器持有私钥。现在我已经进行了单向加密,但我想知道你将如何(或者如果你应该)安全地解密消息客户端。我曾想过只是加密私钥并存储它,但随后密码会出现在代码中并使密钥暴露在泄露中。有没有办法通过密钥交换安全地实现这一点?或者——最有可能的选择——这是对协议的滥用吗?

编辑:想要澄清这里可能的担忧是,以这种方式使用 RSA 可能会暴露文件系统上或服务器和客户端之间的私钥。

4

1 回答 1

4

正常的方法是服务器使用客户端的公钥加密回复,客户端使用其私钥解密。这需要两个 RSA 密钥对——一个用于客户端,一个用于服务器,并且要求每一端都知道对方的公钥。

这种需求(以及与对称加密相比 PKE 的高成本)是 PKE 通常仅用于身份验证和/或密钥交换的原因,而对称密码用于实际加密流量。

于 2017-10-23T16:16:42.660 回答