RSA 加密算法从应用到证明

来源:互联网 发布:mac如何解散文件夹 编辑:程序博客网 时间:2024/05/29 10:18

RSA 加密算法从应用到证明

 

第一部分: 应用方法:

 

例如:Alice 和 Bob 两个人需要进行加密通讯

 

任何人都可以利用公钥加密明文信息,然后发给Alice。

 

只有Alice本人可以利用私钥解密,看到明文信息。

 

Alice 的公钥包含2个数字:e, N

公钥顾名思义是完全公开的,任何人都可以知道。

 

Bob想要发送给Alice的明文信息用m表示,即message的首字母。

 

Bob的加密方法如下:

计算  m ^ e mod  N   (m的e次方整除N后得到的余数) 

 

假设 e=3, N=1000

因为需要发送的明文在电脑上都会转换成数字,假设 m=413

根据公式计算出 413 ^ 3 =413x 413 x413 = 70,444,997

mod  N = 997

997 即为密文。

 

Bob把密文997发送给Alice.

 

Alice 收到密文后进行解密处理:

         997^ 67 = 81766537 … … 413

mod  N = 413

Alice 得到了明文 413

 

67 就是Alice的私钥,一般用字母d表示。

 

RSA算法的应用方法至此已经说完了。

 

 

第二部分:证明

 

为什么?

 e,d, N 是怎么来的,它们之间有什么关系呢?

 

这是一个数学问题。

 

在很久很久以前有一位数学大师,他的名字叫欧拉(Euler), 瑞士人,具体介绍请看维基百科或者百度百科。他写出了一条公式,名字叫欧拉定理。3百多年过去了,人们一直没有发现这条公式有什么用,直到麻省理工的3位教授:R教授,S教授,和A教授在欧拉定理的基础上发明了RSA加密算法。

 

欧拉定理:

        若n, a为正整数,且n, a互素,gcd(a, n) =1,则:

        a^ψ(n) ≡ 1   (mod  n)

其中 ψ(n) 为欧拉函数


未完待续... ...



原创粉丝点击