假设我加密字节数组A,导致加密字节数组E.我接下来将E分成两个较小的数组,即E1和E2。
如果我仅拥有E1和E2,它们是否可以被解密,或者是否需要以正确的顺序存在E1 AND E2,以便数据要成功解密?是否可以独立地从E1或E2中提取任何有用的信息(即A的某个子集)?
我意识到这可能取决于加密算法。我主要对RSA等公共密钥对算法感到好奇。
答案 0 :(得分:3)
这主要取决于加密使用的模式,尽管它取决于算法可能的模式。
使用流媒体模式(CTR或CFB或OFB),答案通常是“是” - 您可以解密收到的流的任何部分,但有了反馈模式,有些可能会丢失。
使用阻止模式(ECB或CBC)答案是“有点” - 你可以解码你得到的任何完整的块,但任何部分块都是不可恢复的。
使用跨块模式(不是标准术语),答案将为“否”,因为这些模式是专门为该属性设计的。
RSA具有较大的块大小,通常在块模式下用于加密单个块(包含对称会话密钥),因此只有一个块的一部分通常意味着您将无法获得任何内容。