文件加密 RSA

最近项目中,要用到文件加密的算法。准确来说,就是一个文件,里面包含了一些密码信息,只希望被接收者知道,而不想被别人截取。

RSA基本上满足了这一需求。 RSA是一种公开密钥算法,基本原理是利用大数的素数分解没有快速算法来实现。

n是两个大素数p, q的乘积,

\alpha \beta \equiv 1mod(\varphi (n))

其中,\varphi (n)=(p-1)(q-1);

对于任一整数A, 0\leq A\leq n,必有唯一的整数B满足:

B\equiv A^{^{\alpha }}(mod(n))0\leq B \leqslant n                                  (1)

有: B^{\beta } \equiv A^{\alpha \beta } \equiv A(mod(n))                                      (2)

这样,甲使用\alpha, n对A根据(1)进行加密,然后把B发给乙,乙根据(2)进行解密得到A.

对于其他接收者,由于无法将n分解为p,q,也就无法根据\alpha,n来得到\beta,从而无法对B进行解密。

这样,\alpha, n和(1)就成了公钥,可以公开给所有人。当别人传送文件时,使用公钥加密。接收方通过私钥\beta来解密。

发布了50 篇原创文章 · 获赞 10 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/l_z_s_001/article/details/88060683
今日推荐