TDEA和CBC模式?

时间:2010-10-24 16:27:12

标签: encryption block-cipher

我正试图了解加密图和TDEA(三重DES)。我理解TDEA看起来像这样:

密文= EK3(DK2(EK1(明文)))

我也知道一个链块密码在加密之前使用IV来加密加密和纯文本,然后输出是一个加密的块,新的IV由第一个块的密文输出组成。正确?

这意味着CBC模式下的TDEA会出现这样的情况:

纯文本 - > IV - > TDEA加密 - >新IV - >密文

下一个块是:

纯文本 - >新IV - > TDEA加密 - >新的新IV - >密文

这将持续n个块。这是正确的还是我没有得到它是如何工作的?

1 个答案:

答案 0 :(得分:0)

你对CBC如何工作的概念似乎有缺陷(或者至少我不明白你是怎么说你相信事情有效)。特别是,您正在显示Plain Text -> IV,但IV 依赖(以任何方式)依赖纯文本。

您使用的密码算法基本上与CBC本身的工作方式正交(超出了它对于分组密码而不是流密码的事实)。在伪代码中,CBC看起来像这样:

block_t xor_block = IV;
write(xor_block);
for (int i=0; i<message_size; i++) {
    block_t data = xor(xor_block, message[i]);
    xor_block = encrypt(data);
    write(xor_block);
}