1

RSA加密/解密EVP_PKEY_encrypt的输入和输出缓冲区可以相同吗 ?OpenSSL文档既不明确否认也不允许这样做。

4

1 回答 1

1

看看rsa_ossl_public_encryptrsa_ossl_private_decrypt。似乎它应该适用于 openssl 实现。

据我了解,流程如下:

  1. 从输入缓冲区创建一个大整数 - 这个整数有自己的内存,因此此时您不需要输入缓冲区。
  2. 加密/解密 - 结果是一个大整数
  3. 将生成的大整数存储到输出缓冲区(覆盖输入缓冲区)

我会小心这种用法,因为他们没有在文档中明确允许它。如果您使用其他引擎,它可能会损坏。

于 2017-03-01T13:57:10.900 回答