我可以说使用 AES 的 128 位比使用 RSA 的 1024 位提供更高的安全性吗?
AES 和 RSA 之间的密钥大小差异
它们并没有真正的直接可比性。普遍流传的数字是 2048 位 RSA 大约相当于 128 位 AES。但是,如果不了解警告,则不应依赖该数字。
目前破解 AES 加密(以及任何其他完整的对称密码)的最有效方法是暴力破解。您只需尝试每一种可能性,直到获得正确的结果。
这意味着,在当今的技术范围内,加密数据是可能的(假设没有发现更好的攻击——这不是一个可怕的假设),永远不会被任何人破坏。只需在您的密钥中使用足够多的位,这样宇宙中就没有足够的能量来尝试足够的候选密钥。这些数字比你想象的要小:
事实上,使用 AES,128 位可以抵御现代技术,256 位可以抵御任何可能的未来技术,512 可能甚至可以抵御从未想象过的假设外星技术。
对称加密,如果没有被破坏,也不会给你留下一个数学问题要解决。这些数字是真实的,字面上是加扰的,系统的设计使得蛮力是迄今为止最有效的解决方案。
另一方面,破解 RSA 并不难。您无需暴力破解密钥,而是将模数分解为素数并自己推导出密钥。这要简单得多。这是一道数学题,我们可以做数学题。
具体来说,可以分解素数的速度比可以暴力破解对称密钥的速度更快。这就是今天的技术。
但展望未来,假设量子计算机可以改进,使得 qbit 操作与位操作一样便宜(许多人认为这相当接近;本世纪最多,可能几十年),那么无论你制作多大的 RSA 密钥,都会破坏密钥与加密一样快。
所以这个故事的寓意是这样的:
RSA 密钥长度与 AES 密钥长度的“等效安全性”随时间而变化。每隔一段时间,您就必须增加相对于 AES 密钥大小的 RSA 密钥大小,以应对技术进步。即便如此,这充其量只是一个估计。
虽然 256 位对称密钥在数百年、数千年甚至数十万年中都应该是安全的,但任何长度的 RSA 密钥都不应该被假定在数十年后是安全的,因为预计 RSA 将是Shor 的算法完全彻底地破坏了它。
任何常用的对称加密算法(DES、3DES、AES、...)通常都比 RSA 快。
从关于堆栈溢出的类似问题:
是的,纯非对称加密比对称密码(如 DES 或 AES)慢得多,这就是实际应用程序使用混合加密的原因:昂贵的公钥操作仅用于加密(和交换)对称算法的加密密钥将用于加密真实消息。
公钥密码学解决的问题是没有共享秘密。使用对称加密,您必须信任所有相关方来保守密钥的秘密。这个问题应该比性能更受关注(可以通过混合方法来缓解)
也看看这篇论文: http: //ijsr.net/archive/v2i4/IJSRON120134.pdf以下关于性能的图表取自它:
我可以说使用 AES 的 128 位比使用 RSA 的 1024 位提供更高的安全性吗?
是的。
由于对 AES 的一些减少轮次攻击,AES-128 提供的有效安全性约为 126 位。也就是说,它失去了一些理论上的安全性。
1024-RSA 提供的有效安全性是 80 位。破坏 RSA 简化为分解 RSA 或有限域中的离散对数。最好的方法是数字场筛(NFS)。
126 位的安全性比 80 位的安全性更强/更高。
有效的安全级别是移动的目标。随着密码分析的进步,理论安全性的损失也会随之而来。一个相当大的损失的例子是 SHA-1。由于碰撞和生日攻击,SHA-1 提供了 80 位的理论安全性。但由于Marc Stevens 2011 年的 HashClash 攻击,SHA-1 具有大约 61 位的有效安全性。
61 位的安全性不足以维持需要长期签名的数字证书的安全性,因为许多攻击者可以达到2 61 的工作负载。
奇怪的是,Mozilla 正在逐步淘汰使用 1024 位 RSA 密钥的证书博客。因此,它们对长期 CA 证书的 80 位安全性不利。但是具有 61 位安全性的 SHA-1 是可以的。你算算……
更一般地说,有可用的等效安全级别表。您可以在下面找到 NIST 表。发布标准的其他组织包括 NESSIE、ECRYPT、ISO/IEC。