【问题标题】:Must an AES plain text to be encrypted be 128bit要加密的 AES 纯文本必须是 128 位
【发布时间】:2021-05-03 18:50:48
【问题描述】:

我正在阅读 AES,但大多数人说它需要 128 位的纯文本,因此它可以用于 44 矩阵,每个 1 字节,其中基本操作如子字节、移位行、混合列, 将对它们执行。纯文本必须是 128 位吗?根据这个website,它允许在线运行AES。我使用了纯文本 "big" 并且它仍然被加密。大文本无法填满 44 矩阵,那么矩阵中的剩余空间会发生什么?

【问题讨论】:

  • AES 是原始的,它具有 128 位块大小。因此输入必须是 128 位。像任何分组密码一样,AES 必须与正确的blockcipher mode of operation 一起使用,其中输入可以是明文或计数器。查看模式的答案
  • @kelalaka 在蹩脚的人术语中,输入明文也必须是 128 位吗?
  • 将 AES 加密视为一个黑匣子,其操作模式可以从外部进行调整。然后,当您输入任何大小的输入时,它就会产生输出。如果使用 CBC 或 ECB,则黑盒会调整消息大小,消息被填充以确保它是 AES 的 128 的倍数,这总是会增加输出大小。这种填充通常在用户看不见的情况下执行,同样的情况也发生在解密中。如果使用 CTR、OFB 或 CFB 模式,则没有填充,因此您不会从输出中看到大小增量。

标签: encryption aes rijndael


【解决方案1】:

如果您使用“块”模式(ECB 或 CBC),则需要将明文填充为块大小的倍数(128 位),通常为 0 位(尽管可以使用其他方案)

如果您使用“流”模式(CFB、OFB 或 CTR),则无需填充输入 - 它可以是任意长度(以位为单位),并且生成的密文将具有相同的长度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2015-04-10
    • 2019-09-30
    相关资源
    最近更新 更多