正题
再来整一篇记录一下,万一有小可爱和我一样呢?
RSA2048与RSA3072区别是什么?
为什么有什么2048的秘钥是256?
256 * 8 =2048
那3072和2048就是秘钥的长度不一样!!!
3072的秘钥是384,所以如果你使用RSA3072的算法的时候,记得生成384长度的秘钥,生成密钥的工具就是那个OpenSSL。
废话
为什么要换3072呢?2048不是挺安全的?
作为一种非对称算法,RSA也曾被认为是非常安全的。例如,《科学美国人》在1977年发表的一篇研究论文中,曾号称破解RSA-129加密需要40万亿年。不过,1994年,贝尔实验室的数学家–Peter Shor创建了一种旨在破解RSA加密的算法。几年后,一组密码学家在此基础上,在六个月时间内破解了RSA。
虽然RSA-2048目前尚未被破解,但是大家都知道,这只是一个时间的问题。因此,业界广泛推荐的RSA的加密强度为RSA-3072。它提供了112位的安全性。可以说,当前互联网上有超过90%的加密连接(包括SSL握手),都依赖于RSA-2048。同时,RSA也被用于验证数字签名,推送固件更新、以及验证电子邮件等日常工作与任务中。
可见,问题在于:密钥长度大小的增加,并没有成比例地提高其自身的安全性。虽然RSA-2048比其前身增强了40亿倍,但是RSA-3072仅增强了65k倍左右。实际上,对我们而言,RSA-4096已经达到加密的极限了。而且,一些密码分析师甚至发布了一系列被证明有效的攻击RSA的方法。当然,他们尚未实现量子霸权(Quantum Supremacy),即:量子计算机将能够执行那些普通计算机无法执行的功能。对此, Google和IBM等大厂已经在为此布局谋篇了。
那如今被广泛使用的AES-256加密方式,通常被认为属于抗量子类型,毕竟其对称加密方式仍然被公认为是非常安全的。然而,量子计算机使用Grover算法去破解一个AES-128密码,能够将攻击时间缩短至2^64。而这对于当前的算力而言,已经足以认为不够安全了。
而在AES-256加密的情况下,其攻击时间将变为2^128,这相对来说还算是足够安全的。对此,NIST指出,后量子算法通常可以属于如下三类中的一种:
基于格的密码(Lattice-based ciphers)——例如Kyber或Dilithium。
基于代码的密码(Code-based ciphers)——例如使用Goppa代码的McEliece公钥密码系统。
基于散列的函数(Hash-based functions)——例如Lamport Diffie一次性签名系统。
此外,许多区块链开发人员目前正在创建,能够抵抗各种量子密码分析攻击的加密货币。