gpt4 book ai didi

java - 如何在 Java 中查找 Cipher 是否需要 IV?

转载 作者:行者123 更新时间:2023-11-30 05:40:16 33 4
gpt4 key购买 nike

我正在构建一个流媒体服务器,它利用加密技术来保护正在传输的数据。密码套件是从配置文件加载的,该文件允许用户插入他们想要的算法+密码模式(ECB、CBC、CTR,...)+填充。问题是某些模式(例如 ECB)或流密码算法不需要 IV,这在我尝试初始化密码时会出错。因此,我的代码不够动态,无法处理这些情况。我已经尝试在网上寻找一种方法来查找给定的算法/模式是否需要 IV,但什么也没找到。

有人知道怎么做吗?

提前致谢

最佳答案

几乎所有mode of operations需要 IV,但 ECB 除外,有些人甚至可能不称其为操作模式。另请参阅this question来自密码学的一小部分加密模式。 randomized encryption 需要 IV因此都有一个 IV 或 nonce(使用过一次的数字)。人们应该永远不要使用欧洲央行。

现在,您想要加密流。您应该使用 AES-GCM这是一个 authenticated encryption (AE) 模式,从此链接中,您可以看到 Netflix使用它。使用 AE,您可以同时拥有身份验证、完整性和加密。您也可以选择Chacha-poly1305这也是一个 AE。

TLS 1.3有 AES-GCM 和 Chacha-poly1305 作为密码套件。您应该选择 TLS 作为客户端和服务器之间的安全通信。记录层的碎片层的限制为2^14字节16.384 KB。在每个分片中,您可以检查消息是否真实且具有完整性,如果不正确,则重新向服务器请求。

关于java - 如何在 Java 中查找 Cipher 是否需要 IV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785603/

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