在阅读了分组密码的操作模式后,我发现基本上所有关于 ECB 的讨论都以:“永远不要使用 ECB”结尾。例如这个安全 stachexchange 答案。但是我的理解是,只有当你可以发送同一个区块两次时,欧洲央行才是不安全的。那么,如果我能保证我不会两次发送同一个区块,那么使用 ECB 是否安全?
例如,假设我有一个家庭自动化系统,其中有许多可以容纳不到 8 个字节的命令。然后,我将一个唯一的 8 字节消息 ID 附加到该数据以形成一个 16 字节块。然后我使用 AES128 加密这个块。因此,我永远不会发送相同的消息两次,因为我从未期望给出超过 2^64 个命令。另外,假设我使用计数器作为消息 ID,那么我也会防止重放攻击。