我使用Diffie-Hellman密钥交换来使用AES-256加密数据。我使用的素数是来自RFC 3526中指定的8192位组的素数(第6页)。
第7页建议,对于620位指数,这是一个相等的密钥强度310位,所以,足够大的AES-256。它还表明,540位指数的6144位素数足够好(270位)。
现在,这两种情况都相当缓慢。在我的场景中,较大的一个导致交换花费了大约2秒。
因此,我的问题是:
我是不是太可笑了?我是否应该使用一个更小的素数,甚至是带有2048位素数和320位指数的AES-128?我是不是完全误解了什么?
对于上下文:速度并不是那么重要。我需要这个加密是非常强大的,大约在未来10年(最多)。如果这需要两秒钟的时间,那就算了。
发布于 2011-07-13 11:23:36
AES-256和8192位DH模数都是过高的.把它们相互比较是一项微妙的练习,几乎毫无意义,因为两者都已深入到“现在不能打破,30年内也做不到”的境界。您可以查看有关信息和计算器的本站,这些信息和计算器用于估计对称和非对称算法的相对强度。
现在可以推荐的实际参数是AES-128和2048位DH素数(256位指数)。
发布于 2011-07-13 14:29:23
是。你选择AES-256和8192位DH是很可笑的。
有几件事你可能需要考虑。
如果你真的想要更多的安全,并希望将来证明它,那么DH是错误的方式前进。椭圆键密码是最适合这一点。这方面的资源不多。但是,这绝对值得。
底线大小并不是密码学中的全部。算法和实现的正确选择才是真正重要的。继续使用AES-128和2048位DH。这是安全的。
更新:
@斯特凡诺-嗨,有几件事必须考虑,因为你说的政府间谍记者。政府从来不告诉我们他们的真正能力。因此,他们有可能已经有了破解AES-256的基础设施。国安局不会批准超出他们头上的东西。此外,AES不是最高级别的安全可用。如果我的记忆正确的话,它就形成了国安局算法栈中的第二层。但是,我们的选择有限。所以我们可以使用AES-256来提供更好的安全性。
要提供更好的长期安全性,您必须考虑椭圆键密码。这是唯一可以在公众场合使用的系统,可以在未来以合理的方式证明事物。当您希望在两个或多个缔约方之间传输数据时,可以使用DH。我假设您知道非对称密钥加密的基础知识,以及为什么需要DH。如果您在系统中存储数据,而不是传输数据,则不需要DH或RSA或椭圆密钥加密。
此外,您还可以使用一个非常强的密码,它将通过盐析和SHA-512直接影响AES中选择的密钥,这将为您提供偶尔更改加密文本的能力,以便某些日志中出现的弱密钥不会困扰您的加密数据。256位指数很好.但是,对于当前的情况,稍高的指数可以做得更好。
发布于 2011-07-15 06:18:36
是。你的做法太过分了。AES-128和2048位Diffie-Hellman群(具有256位指数)是足够的.即使有了这些参数,密码数学也不太可能成为系统中最薄弱的环节。你的系统更有可能通过绕过密码而被破坏,而不是通过直接破解密码。
https://security.stackexchange.com/questions/5243
复制相似问题