RSA双向解密?

1 cryptography rsa secure-coding

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

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

Chr*_*odd 5

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

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