我正在尝试在 C++ 中实现非常简单的 RSA 算法,但我没有使用 openSSL 函数。我有 3 个函数,generateParameter,encryption和decryption。每个功能的任务是:
- generateParameter函数将生成两个素数(p 和 q)、模数 (n)、公共指数 (e) 和私有指数 (d),然后将 n、e 和 d 写入文件。
- 加密函数将读取参数 n 和 e,加密消息,然后写入文件。
- 解密函数将读取参数 n 和 d,读取加密消息然后解密。
如果我在一台机器上运行它,所有这些功能都运行良好,但如果我想在两台不同的虚拟机上运行它怎么办?在VM1 上运行加密,发送加密消息(例如使用send() 函数),然后在VM2 上解密。
如果参数 n 和 d 没有发送到 VM2,VM2 如何解密消息?这两个参数是通过对素数(p 和 q)进行数学计算生成的,但我知道我不能发送素数。
这是我的问题,我很感激任何帮助。
问候,
杜利帕特