RSA原理浅析

来源:互联网 发布:linux connect 编辑:程序博客网 时间:2024/05/16 19:19

RSA算法是公开的,看着很简单,其实破解起来难度还是很大的,下面简单的浅析下它的原理。

1、关于数学方面

关于欧拉函数,对于任意素数p,所有小于p的正整数都跟它互质,所以φ(p)=p−1。
如果p和q均为素数,那么对于整数n=pq,有φ(n)=φ(p)φ(q)=(p−1)(q−1)。

互质是公约数只有1的两个整数,叫做互质整数。公约数只有1的两个自然数,叫做互质自然数。

质数又称素数,有无限个。
质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

2、实际求法

我们要求的是E,D和N,

首选我们要先去准备两个很大的质数,A和B,然后去计算出N=p*q,

再去计算出M=(p-1)*(q-1),这里M的计算其实是通过求N的欧拉函数的出来的,然后去找一个整数E,这个整数E要满足两个条件,一个就是1<E<M以及要让E和M互质

也就是说除了1之后,没有其他的公约数,E和N也就是我们所要求的公钥了,公钥一般比较简单。

接着我们要去求D,D这个数要满足两个条件1<D<L,还有一个就是E*D%M=1,D和N就是私钥

EmodN

DmodN

RSA算法在通信加密、签名认证等领域都起着重要作用。



原创粉丝点击