CBC的加密是不可并行的,但我可以将64块消息划分为4个16块,并使用不同的IV分别对这4个部分进行并行加密。这不安全吗?是否有一种操作模式特别定义了这一点?
发布于 2020-07-25 03:35:45
这不是一种模式,是同一模式使用了四次。是的,它和按顺序完成所有块一样安全。
发布于 2020-07-25 06:34:50
从概念上讲,并行化非并行操作模式是一个有趣的话题.
问题是,你基本上会翻动你自己的密码,这应该是一个即时的危险信号。
尽管如此,这种做法还有一些更根本的挑战。块密码器对给定大小的消息块进行操作。该大小与密码本身紧密耦合,例如,AES在128位块上进行加密,在内部这是一个由字节组成的4x4矩阵,而不是比特。当您在示例中使用64位块大小时(如果我正确理解的话),您所指的是类似DES或GOST之类的东西,这是另一个红旗。不确定我是否知道使用这个块大小的任何流行的现代分组密码。
如果您需要并行化进程,您可以使用支持它的操作模式,正如@Mark已经提到的。
如果由于某种原因,您被迫使用CBC,例如因为您不控制通信的另一端,但仍然希望从并行加密中受益,那么为什么不在加密之前先拆分长消息,然后在解密后加入它呢?这就是你的意思吗?
还有一个提示,可能与此相关或不相关--对于CBC,加密不是可并行的,而是解密的。
https://crypto.stackexchange.com/questions/82075
复制相似问题