RSA 原理

RSA是一种非对称加密算法,广泛应用于现代互联网中。它通过公钥和私钥的分离,提高了信息的安全性和容错性。算法原理涉及质数乘积、欧拉函数和模反元素的计算。虽然RSA的安全性基于大数分解的难度,但随着计算能力的增强,其加密速度相对较慢,适用于小规模数据的加密或加密密钥交换。
摘要由CSDN通过智能技术生成

RSA 原理

非对称加密算法

RSA 是一个非对称加密算法,区别于对称加密算法,最大的区别就是加密和解密用的不是同一串密钥。

  • 对称性加密算法,例如 DES 等方法(挖个坑,以后有空再介绍),用于加密和解密的 key 都是同一个,也就是说用这个 key 进行加密,同时也使用这个 key 进行解密。
  • 非对称加密算法,其加密和解密的密钥并不是同一个,而是分为公钥和私钥,使用其中一个进行加密,需要用另外一个进行解密,例如我使用私钥进行加密,则必须使用公钥进行解密;如果我使用公钥进行加密,则使用私钥进行解密。

这个加密方法再现代互联网中非常常用毫不夸张说,有互联网的地方,就有RSA算法。假设一下你是一个元帅,你要向你的将军们发送指令,但是这个指令又有可能被敌方截取,那么你如果使用加密的话,加密方法有两种:

  • 使用对称性加密算法,事先给每个将军一个密钥,你们共同使用这个密钥加密和解密,但是这个有一个风险,万一其中一共将军叛变,或者一不小心泄露了密钥,那么你们的加密形同虚设,敌方可以查看你们容易的情报甚至伪造你的身份,向其他将军发送命令。
  • 使用非对称加密算法,事先给每个将军一个公钥,而私钥你自己藏着。由于各位将军的公钥只能解密由私钥加密的数据,公钥加密的数据也只能由私钥解开。也就是说,即使有将军叛变或者泄露公钥,敌人最大的权限也就只能是查看你发布的信息,而不能伪造你的身份、不能查看其它将军给你发送的信息。这个比起对称性加密算法来说相对安全更多,容错性更高。

说了这么多,对称性加密算法核心就是一个:将加密和解密的秘钥分离

RSA 原理

这里会用到 p , q , n , φ ( n ) , e , d p, q, n, \varphi(n), e, d p,q,n,φ(n),e,d 6 个数

  1. 随机生成两个质数,假定为 p p p q q q
  2. 计算两个质数的积 n = p ∗ q n = p * q n=pq
  3. 计算欧拉函数, φ ( n ) = ( p − 1 ) ∗ ( q − 1 ) \varphi(n) = (p-1) * (q-1) φ(n)=(p1)(q1)
  4. 选取 e e e, e e e 必须是一个整数,并且 1 < e < φ ( n ) 1 < e < \varphi(n) 1<e<φ(n) 同时 e e e φ ( n ) \varphi(n) φ(n) 互质, 通常选取 65537
  5. 计算 e e
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值