我正在尝试掌握加密图和TDEA (Triple DES)的诀窍。我知道TDEA看起来像这样:
密文=EK3(DK2(EK1(明文)
我还知道链式块密码在加密之前使用IV来播种加密和明文,然后输出是加密的块,新的IV是从第一个块的密文的输出形成的。对,是这样?
这意味着在CBC模式下的TDEA将像这样流动:
纯文本--> IV --> TDEA加密-->新IV -->密文
下一个块是:
纯文本-->新IV --> TDEA加密-->新IV -->密文
这将持续n个块。这是正确的,还是我没有理解它是如何工作的?
发布于 2010-10-25 00:51:50
你对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);
}https://stackoverflow.com/questions/4009124
复制相似问题