【发布时间】:2026-02-08 17:50:01
【问题描述】:
我想知道的很简单。 我可以使用 OpenSSL 使用私钥加密字符串“hello”,然后将其发送给可以使用公钥解密的每个人以检索原始字符串。
我找遍了周围,并没有真正找到任何东西。
在数学上,我可以使用私有指数和公共模数来执行加密,然后使用公共指数和公共模数来执行解密。
我可以用 OpenSSL 做到这一点吗?
我听说这被认为是签名。 那么如何使用我的私钥签名并仅使用公钥从签名文件中接收原始数据?
我在网上阅读了很多回复,但都含糊其辞。 谁能给我明确的解决方案?
如果可以使用私钥加密并使用公钥解密,谁能给我一个关于如何使用 openssl 工具进行操作的示例?还是我必须自己编写实现?
【问题讨论】:
-
OpenSSL 带有一个命令行工具,可以执行各种功能,包括签名和签名验证。由于 OpenSSL 是开源的,您可以简单地检查该代码是如何执行这些操作的。请参阅this question 了解一下。
-
当你说“我可以用 OpenSSL 做这个”时,你是指命令行工具
openssl或libcrypto,密码算法库吗?它们是有区别的。一个涉及编写代码。 两者的答案是是,但这样做的机制显然不同。 -
如果您尝试通过 libcrypto 执行此操作,请查看 RSA 函数。比如generating key pairs、encrypting 和decrypting。
-
这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Cryptography Stack Exchange 或Information Security Stack Exchange 会是一个更好的提问地点。
标签: c encryption openssl public-key-encryption