我访问过的所有网站都说明了如何向收件人加密数据。我知道这意味着您正在使用收件人的公钥来加密数据,加密的数据只能由收件人的私钥解密。我想知道的是,您如何使用私钥加密数据,加密的数据只能用您的公钥解密?
我在 GPG 中完成所有这些操作,并且我在互联网上搜索了示例和备忘单等,但无济于事。
这是怎么做到的?
编辑...
这这不是我想要的。我很确定我知道如何签署任意数据。
答案1
你不需要。因为你的公钥是民众,这样的操作仅仅是一种弱的、模糊的签名替代方法,因此它既不由 GnuPG 实现,也不由 OpenPGP(RFC 4880)定义。
(除此之外,它也可能仅限于 RSA 密钥对。)
答案2
我明白了。这里的目的是用你的私钥加密数据,这样只有拥有你的公钥的人才能解密。我在这里暗示公钥在某种程度上是个人或团体与相应私钥所有者之间的秘密,但这不是公钥加密的工作原理;理论上每个人都可以拥有公钥的副本。这意味着公钥不是共享的秘密,而是公开的,因此加密任何人都可以看到的数据是没有意义的;它还不如不加密!
为了实现我想要实现的目标,我们使用的不是公钥加密之类的非对称加密,而是对称加密,通常称为私钥加密。在对称加密中,我们使用共享秘密(例如密码,尽管任何数据都可以用作共享秘密或密码短语)来加密数据,并且该秘密在一组人之间共享。只要共享秘密只由拥有该共享秘密的人保密,那么只有这些人才能使用该共享秘密加密和解密数据。这就是我要找的。不幸的是,对称加密不提供身份识别和不可否认性;您对对称密钥加密数据的发送者所知道的一切就是它来自拥有对称密钥的人,希望是来自理应拥有密钥的一方,密钥仍然是秘密的。
如果您真的想要非对称加密的所有特性(身份识别、机密性、完整性、不可否认性),那么请组建一个团队,获取彼此的公钥,然后开始使用彼此的公钥发送单个消息。这在您向多个收件人发送批量消息(如使用私钥(对称)加密)时不起作用,但当公钥加密提供更多好处时,这并不重要,而且,发送多条消息真的那么难吗?