我得到了一个PGP加密文件,并被告知我可以使用公钥解密它。我不认为那会起作用。
谁能肯定地知道PGP是如何工作的,谁能证实我被告知的事情是不可能实现的吗?
我过去做PGP的方式是:
请确认这是应该做的。(最好向我指出证实我刚才所说的话的消息来源-那里有大量的信息,但不像我所描述的那样足够明确)。
发布于 2022-02-17 11:17:58
告诉你这件事的人肯定是糊涂了。公钥不是用于解密的;您的理解是正确的。
从数学上讲,RSA公钥尤其可以用于解密,这实际上就是RSA签名验证的执行方式,但我怀疑任何库都不会允许您获取公钥并使用它解密任意长度的数据块,更不用说OpenPGP数据包了。此外,也不能保证您的文件是使用RSA密钥加密的。
最可能的解释是文件的来源有点混乱,他们用公钥对其进行加密(从技术上讲,PGP生成一个对称密钥,用该密钥加密数据,然后用公钥加密对称密钥)。不过,我想您已经尝试过使用私钥解密文件(如果您有私钥的话)。
文件的来源也可能只是搞砸了,产生了一个独立的签名,而不是加密文件。您可以使用公钥验证签名,前提是您还拥有生成签名的数据(特别是对于RSA,签名验证在数学上与解密相同,尽管还有一些额外的内容,比如加密使用和签名不需要填充),但我想如果您被授予了访问明文文件的权限,您就不会询问(而且签名本身是无用的)。
最好的办法就是问问文件的来源到底是什么意思。也许让他们告诉你他们做了什么,比如他们执行了什么命令等等。如果您甚至没有OpenPGP密钥对,那么文件的源可能不可能创建您可以解密的文件,或者使用对称加密(完全没有公钥或私钥进行加密,尽管数据仍然可以使用私钥签名)。
https://security.stackexchange.com/questions/259681
复制相似问题