密码学非对称加密RSA
1. 概述
RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥。
2. RSA算法原理
RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥
3. RSA算法步骤
RSA算法的具体描述如下:
-
任意选取两个不同的大素数p和q计算乘积
-
任意选取一个大整数e,满足 ,整数e用做加密钥(注意:e的选取是很容易的,例如,所有大于p和q的素数都可用)
-
确定的解密钥d,满足 ,即 是一个任意的整数;所以,若知道e和,则很容易计算出d
-
公开整数n和e,秘密保存d
-
将明文m(m<n是一个整数)加密成密文c,加密算法为
-
将密文c解密为明文m,解密算法为
然而只根据n和e(注意:不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密
4 举个例子
-
生成公钥和私钥
-
举例说明
评论区