gpt4 book ai didi

encryption - 如何选择AES加密模式(CBC ECB CTR OCB CFB)?

转载 作者:行者123 更新时间:2023-12-02 23:38:20 61 4
gpt4 key购买 nike

在什么情况下优先选择它们中的哪一个?

我想查看各种模式的评估标准列表,并可能讨论每个标准的适用性。

例如,
我认为其中一个标准是用于加密和解密的“代码大小”,这对于微代码嵌入式系统(如 802.11 网络适配器)很重要。如果实现 CBC 所需的代码比 CTR 所需的代码小得多(我不知道这是真的,这只是一个例子),那么我可以理解为什么使用较小代码的模式会更受欢迎。但是如果我正在编写一个在服务器上运行的应用程序,并且我使用的 AES 库无论如何都实现了 CBC 和 CTR,那么这个标准是无关紧要的。

明白我所说的“评估标准 list 和每个标准的适用性”是什么意思??

这与编程无关,但与算法有关。

最佳答案

  • 如果使用相同的 key 加密多个数据块,则不应使用 ECB。
  • CBC、OFB和CFB类似,但OFB/CFB更好,因为你只需要加密不需要解密,可以节省代码空间。
  • 如果您想要良好的并行化(即速度),则使用 CTR,而不是 CBC/OFB/CFB。
  • 如果您对随机可访问的数据(如硬盘或 RAM)进行编码,则 XTS 模式是最常见的。
  • OCB 是迄今为止最好的模式,因为它允许一次性加密和验证。但是在美国有专利。

  • 您真正需要知道的唯一一件事是,除非您只加密 1 个块,否则不要使用 ECB。如果您要加密随机访问的数据而不是流,则应使用 XTS。
  • 您应该始终使用唯一的 IV每次加密时,它们应该是 random .如果您不能保证它们是 random , 使用 OCB 因为它只需要一个 nonce ,不是 IV ,而且有明显的区别。 nonce如果人们可以猜到下一个,则不会降低安全性 IV会导致这个问题。
  • 关于encryption - 如何选择AES加密模式(CBC ECB CTR OCB CFB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1220751/

    61 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com