gpt4 book ai didi

encryption - 如何为 AES/CTR/NoPadding 选择合适的 IV(初始化向量)?

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

我想加密由 webapp 编写的 cookie,并且我想将 cookie 的大小保持在最小,因此我选择了 AES/CTR/NoPadding。

你会推荐什么作为 IV 使用,它足够随机并且仍然保持应用程序无状态。我知道我可以生成一个随机 IV 并将其附加到消息中,但这会增加 cookie 的大小。

此外,对于 128 位 AES,推荐的 IV 大小是多少?

大家是怎么做的呢?是否存在任何“久经考验”的方法?我不想重新发明轮子。

最佳答案

可以通过使用 CBC 并将 HMAC 存储在消息前面来避免随机 IV。使用随机选取的常数 IV 是可以的。但是你必须确保消息都是不同的。

当加密的消息总是不同时就是这种情况。带有序列号的许可证 key 将符合此条件。带有用户 ID 或 session ID 的 cookie 也会匹配。

如果您将 hmac 存储在消息前面,则可以使用带有随机常数 IV 的 CBC。哈希将累积第一个 block 中消息中传播的所有变化。如果您可以确保它是唯一的或在很长一段时间内不会重复使用,您还可以添加一些随机字节或最好添加一个序列号。

甚至不要考虑使用具有恒定 IV 的 CTR。

关于encryption - 如何为 AES/CTR/NoPadding 选择合适的 IV(初始化向量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608489/

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