【发布时间】:2019-07-15 14:04:53
【问题描述】:
我正在研究一种密码,它采用比 256 位(即 384 位)更大的对称密钥大小?有没有一种方法可以使用 384 位的 KDF(或其他任何东西)之类的东西生成对称密钥。我尝试在 java 中使用Key Generator 并使用keyGenerator.init(384),但它最多只支持 256 位。您认为我可以将 128 位对称密钥与 Java 中的密钥生成器生成的 256 位对称密钥结合起来吗?我想避免不得不尝试使用散列函数,对其进行大量迭代,并尝试向其中添加我自己的随机盐。我知道这是一个不常见的问题,因为没有人会寻找 384 位对称密钥大小。我不是特别在寻找 KDF,只是一种生成随机对称密钥的简单而强大的方法。我的用例不涉及获取诸如用户密码之类的低熵信息并将其设为密钥。
【问题讨论】:
-
KeyGenerators 是特定于算法的:如果您的算法在已注册的 Provider 中不受支持,则使用 KeyGenerator 没有多大意义。确实,整个 JCA 都是基于提供程序架构的,如果您的自制密码类无法使用
Key做任何事情,那么创建java.security.Key的实例对您没有多大好处。
标签: java encryption cryptography aes encryption-symmetric