【问题标题】:Can fragments of encrypted data be decrypted?可以解密加密数据的片段吗?
【发布时间】:2017-12-19 02:19:27
【问题描述】:

假设我加密字节数组 A,得到加密的字节数组 E。接下来我将 E 拆分为两个较小的数组,E1 和 E2。

如果我仅有 E1 和 E2,它们可以被解密,或者 E1 AND E2 需要以正确的顺序出现,以便要成功解密的数据?是否可以独立地从 E1 或 E2 中提取任何有用的信息(即 A 的某个子集)?

我意识到这可能取决于加密算法。我主要对常见的密钥对算法如 RSA 感到好奇。

【问题讨论】:

标签: cryptography rsa public-key-encryption


【解决方案1】:

这主要取决于加密使用的模式,尽管它取决于可能的模式的算法。

使用流模式(CTR 或 CFB 或 OFB),答案通常是“是”——您可以解密接收到的流的任何部分,尽管使用反馈模式,有些可能会丢失。

使用块模式(ECB 或 CBC),答案是“有点”——您可以解码获得的任何完整块,但任何部分块都将无法恢复。

使用跨块模式(不是标准术语),答案将是“否”,因为这些模式是专门为该属性设计的。

RSA 具有较大的块大小,通常用于块模式以加密单个块(其中包含对称会话密钥),因此只有一个块的一部分通常意味着您将一无所获。

【讨论】:

  • 还有一种特殊情况,如果数组E1 和E2 之一非常小,而您保留较大的数组。在这种情况下,可以想象暴力破解丢失的部分。
猜你喜欢
  • 2013-01-11
  • 1970-01-01
  • 2012-08-30
  • 2023-03-04
  • 1970-01-01
  • 2021-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多