RSA加密算法

RSA是一种非对称加密算法,基于大整数因式分解的困难性。它使用两个质数p和q生成公钥(n,e)和私钥(n,d)。加密过程为m^e mod n = c,解密过程为c^d mod n = m。欧拉函数φ(n)在RSA中起到关键作用,且d是e关于φ(n)的模反元素。该算法的安全性在于大整数分解的复杂性,随着数字n增大,破解难度增加。
摘要由CSDN通过智能技术生成

最近算法课老师要求小组上台讲算法,我们就去学习了一下RSA算法。

以前的加密算法,大部分属于对称加密算法。通信双方只有掌握同一种规则,才能进行加密解密。这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。就好像一把钥匙单独对应一把锁。但是问题在于,当通信对象很多时,就会有很多把锁和钥匙,这时候保存和传递密钥就是很大的问题。

RSA是一种非对称加密,公开密钥算法。他利用了利用了单向函数正向求解很简单,反向求解很复杂的特性。
具体来说:
1.两个质数相乘很简单,将一个数分解成质数相乘很难
2.(m^e)modN=c 已知m求c很简单,已知c求m很难

而RSA加密算法,就是基于这样的一个正向简单逆向难的数论思路。上面的公式中,m是发送的原数字,c是加密后的数字,e、N是公开的公钥。即使有人截获了加密后的c,也很难破解,获得m。其难度就在于大整数的因式分解

那么,我们获得了c之后,就需要有一套自己独特的方式进行解密,而我们自己的秘密武器,就是私钥d。我们需要有这样一个数d,可以让我们通过(c^d)modN=m推出m。而这个思路和推倒,就利用了欧拉公式,和欧拉定理。

介绍一下我们需要掌握的一些数学定理:

欧拉函数:在小于等于n的正整数之中,有多少个与n构成互质关系?以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以
φ(8) = 4。

注意:如果n是质数,那么φ(n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值