![]() |
1
1
据我所知,FIPS仍然允许TDEA与3个独立密钥(3个密钥3DES)一起使用。使用带有单个密钥的3DES当然是DES,而且DES已经有一段时间不安全了。使用2键3DES(DES-ABA)现在也不再符合FIPS。 不幸的是,Java只支持3个密钥3DES(DES-ABC)。这意味着许多开发人员在需要实现DES-ABA时,只需复制第一个DES密钥作为第三个密钥。检测这种键的唯一方法是将3DES键的第一个和最后一个键部分相互比较。
要以最安全的方式使用3DES,只需使用“DESede”生成192位密钥
请注意,这将生成一个192位密钥,其中24个奇偶校验位被正确设置(168位有效,安全性约为112位)。 设置FIPS模式没有帮助,因为这似乎只是实现TLS的“Sun”JSSE提供程序的一个选项。它 也许 如果您有其他供应商的密码提供者,请提供帮助。 至于弱和半弱之间的区别:这可能与用于底层DES分组密码的密钥有关。通常,您不应该验证密钥本身是弱的,而应该验证实现。只要密钥具有足够的熵,就可以安全地忽略生成弱密钥的可能性。 你 应该 使用AES是因为它更安全、更快、更经得起未来考验、具有更大的块大小、没有弱密钥、完全随机化密钥(等等)。 |
![]() |
xchrisbradley · 使用Zig签名对功能选择器进行编码 1 年前 |
![]() |
Shirin Ebadi · 加载公钥字节作为DH密钥 1 年前 |
![]() |
YoavKlein · 为什么jwt.io会给我私钥部分来填充? 1 年前 |
![]() |
birb · RFC-6238 TOTP实现与示例不匹配 1 年前 |
|
Stefan N · 如何生成N个字符的所有字母数字组合[重复] 1 年前 |
|
xdivayze · 在线和离线客户端之间的打包密钥交换 1 年前 |