RSA 算法的加密原理是什么?
的有关信息介绍如下:
RSA属于公钥加密算法中的一个重要应用。RSA加密算法由五个部分组成:
假设Alice和Bob要在网上进行加密通信,他们要怎么应用RSA来加密和解密信息呢?步骤如下:
我们举个实际例子运行一遍这个算法。
至此为止,我们有了原文 ,公钥 和私钥 。有了这些信息就可以开始加密和解密了。
加密
在RSA算法中,加密过程实际上就是利用公钥 计算 。假设原文 ,代入上面的值,得到 。
于是 ,Alice就把7863发给了Bob。
解密
bob收到了密文 ,就用自己的私钥 进行解密。RSA证明,原文的e次方对n取模恒等于c的d次方,即 一定成立,所以 。代入 的值,得到
所以Bob就从密文 和私钥 知道了加密之前的原文 。
在整个通信过程Alice只用到了公钥进行加密,Bob只用到了私钥解密,没有任何关于秘钥的传递,只有加密后的密文有可能在通信中被窃听到。
为什么RSA可以保证加密通信不被破解?
回顾上面的加密过程,我们用到了六个变量: ,其中只有公钥 是公开的。想要破解密文,只要知道私钥,计算 就可以破解RSA算法。
那么,有没有可能在已知公钥的情况下,推导出私钥 ?根据RSA构造的规则(见上述RSA加密过程1-6步),可以得到以下信息:
结论:如果n可以被因数分解,d就可以沿着4, 3, 2, 1步骤推出,也就意味着私钥被破解。
可是,大整数的因数分解,是一件非常困难的事情。目前,除了暴力破解,还没有发现别的有效方法。维基百科有相关说明:



