为什么用相同密钥加密的相同明文消息每次都会导致不同的PGP块输出?

问题描述 投票:0回答:1

我在这里坐了几个小时,想弄清楚使用GUI GPG应用程序和使用我认为有问题的自动化脚本之间的输出差异的原因。然后突然忽然降临在我身上:每次输出的Blob都不一样!

[我试图在GUI应用程序中使用相同的密钥对同一文本进行加密和解密,并对它们进行加密和解密,并且结果一直不同。

哇。

我一直认为/假定对于相同的键,相同的输入将始终导致相同的输出blob。但是,显然还有时间因素吗?或只是在某种意义上“每次随机化”。

[如果可能的话,有人可以清楚地解释为什么会这样,最重要的是:如何会发生吗?是基于当前时间还是每次都有所不同?我注意到开头始终是恒定的,所以也许其中包含一个数字,告诉算法“这次是走这条路”之类的东西?这就是我的假设。

我不希望答案过于详细,因为坦白地说,当我提供此类答案时,我很容易迷失方向。请“一般想法”就足够了。

encryption gnupg pgp
1个回答
0
投票
非对称和对称加密(在GPG中都使用了许多安全元素)都依赖于不可预测的输入。常见的示例是块密码中使用的

初始化向量(IV)和RSA使用的PKCS#1填充方案。实现这种不可预测性的最简单方法是,每次执行加密操作时,便会简单地随机生成输入-这就是导致您正在目睹的现象的原因。

忠告-确定性加密通常(但并非总是)是安全性降低的标志。每次都会产生不同的结果是[[good。
© www.soinside.com 2019 - 2024. All rights reserved.