RSA适用于哪些场景?
如前所述,RSA加密有许多不同的任务。其中一个是数字签名的代码和证书。证书可用于验证公钥属于谁,方法是用密钥对所有者的私钥对其签名。这将对密钥对所有者进行身份验证,使其成为可信的信息源。代码签名也完成了RSA算法。确保业主不向买家发送危险或不正确的代码,代码是用私钥签署代码的创造者。这验证代码没有被恶意在运输过程中,编辑和创造者的代码验证代码做什么他们说。
RSA与传输层安全(TLS)一起用于保护两个人之间的通信。其他知名的产品和算法,如Pretty Good Privacy算法,现在或过去都使用RSA。虚拟专用网(vpn)、电子邮件服务、web浏览器和其他通信渠道也使用了RSA。vpn将使用TLS实现信息交换双方之间的握手。TLS握手将使用RSA加密算法,来验证他们双方都说他们是谁。
RSA漏洞
尽管RSA在许多情况下都是可行的,但仍然存在许多可被攻击者利用的漏洞。其中一个漏洞是在加密算法中实现长密钥。像AES这样的算法是牢不可破的,而RSA依赖于其密钥的大小而难以破解。RSA密钥越长,安全性越高。利用质因式分解,研究人员成功破解了768位密钥RSA算法,但他们花了2年,数千工时,和荒谬的计算能力,所以目前在RSA中使用的密钥长度仍然是安全的。美国国家科学技术研究所(NIST)现在建议最小密钥长度为2048位,但许多组织一直在使用长度为4096位的密钥。RSA易受攻击的其他方式包括:
1. 弱随机数发生器
当组织使用弱随机数生成器时,由它们创建的质数更容易分解,从而使攻击者更容易破解算法。
2.弱密钥生成
RSA密钥具有与其生成相关的特定要求。如果质数太接近,或者组成私钥的其中一个数太小,那么可以更容易地求解密钥。
3.侧通道攻击
侧通道攻击是利用运行加密算法的系统而不是算法本身的攻击方法。攻击者可以分析正在使用的功率、使用分支预测分析或使用定时攻击来找到确定算法中使用的密钥的方法,从而危害数据。