RSA2048与RSA3072的闲言碎语

正题

再来整一篇记录一下,万一有小可爱和我一样呢?

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一次性签名系统。

此外,许多区块链开发人员目前正在创建,能够抵抗各种量子密码分析攻击的加密货币。

参考链接:
https://baijiahao.baidu.com/s?id=1735119591422235200&wfr=spider&for=pc

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C语言中的RSA2048是一种非对称加密算法,被广泛应用于加密通信和数据安全领域。RSA2048是指RSA加密算法使用了2048位的密钥长度。 RSA算法是由Rivest、Shamir和Adleman三位科学家提出的,在公钥密码系统中被广泛采用。它使用了两个不同的密钥,即公钥和私钥。公钥用于加密数据,私钥用于解密数据。RSA算法的安全性依赖于大数分解的困难性,因为大数的分解是一个复杂、耗时的过程。 RSA2048中的2048位指的是密钥的长度,密钥长度越长,加密的安全性就越高。长度为2048位的密钥可以提供很高的安全性,并且足够抵御目前已知的大多数攻击手段。 在C语言中实现RSA2048需要借助大整数运算库,因为C语言的标准库函数并不直接支持大整数的运算。常用的大整数运算库包括GNU MP(GMP)和OpenSSL等。这些库提供了各种大数运算的函数,如大数的乘法、加法、指数运算等,以便实现RSA算法。 具体实现RSA2048的步骤如下: 1. 生成两个大素数p和q,选择长度都为1024位的素数较为常见。 2. 计算n = p * q,并计算欧拉函数φ(n) = (p-1)(q-1)。 3. 选择一个满足条件的公钥e,一般选择65537。 4. 计算私钥d,满足e * d ≡ 1 (mod φ(n))。 5. 对于要加密的明文m,使用公钥加密:c = m^e (mod n)。 6. 对于接收到的密文c,使用私钥解密:m = c^d (mod n)。 7. 最终得到的m即为原始的明文。 以上就是C语言中实现RSA2048的基本步骤和原理。通过使用RSA2048,我们可以实现安全的加密通信和数据传输,确保数据的保密性和完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TrustZone_Hcoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值