这个“ E”部分在CBC模式下正在做什么?

时间:2019-11-02 14:34:15

标签: java cryptography cbc-mode

I did not understand E box

我需要在Java中手动实现此模式(DES) E(加密)框中的内容是什么?

1 个答案:

答案 0 :(得分:4)

函数E是分组密码 DES:

  • 使用密钥K作为输入-实际使用了64位,其中56位(E左侧的箭头)和
  • 作为第二个输入,一个64位数据的纯文本块,因为块大小为64位(E顶部的箭头)
  • 再次输出密文的64位块(E底部的箭头)

现在请注意,块密码 E的输入纯文本块与DES-CBC的输入块不同。您应该将其视为DES-CBC函数,该函数在内部 使用多个调用DES。

如果您对块密码DES没有任何实现,则可以使用DES-ECB并一次调用一个块/ 8字节(未填充)数据。

如果不可用,则可以在CBC或CTR模式下使用由8个零字节组成的IV的单个块加密,因为这归结为同一件事(数据块与全零块的XOR毕竟,字节只会再次为您提供相同的数据块。