RSA原理学习整理

RSA 加密算法是 非对称加密算法

1 :离散对数问题

       取模运算(余数)

原根,是一个数学符号。

设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。

数学表达式:

a ^n % m = φ(m)

已知 φ(m), m , a 求解 n的过程就是离散对数问题

附录:
|3^1 %17 = 3 | 3^6%17 = 15 | 3^11 % 17 = 7 | 3^16 %17 =1|
|3^2%17 = 9 | 3^7%17 = 11 | 3^12 % 17 = 4|
|3^3%17 =10 | 3^8%17 = 16 | 3^13%17 = 12|
|3^4%17 =13 | 3^9%17 = 14 | 3^14%17 = 2|
|3^5%17 =5 | 3^10%17 = 8 | 3^15%17 =6|

3就是17的一个原根!

2:欧拉函数

数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)例如φ(8)=4,因为1,3,5,7均和8互质。

欧拉函数的性质:

1:n为质数,φ(n) = n-1;
2: A = M *N ,(M,N均为质数),则 φ(A)= φ(M)✖️φ(N);
3:综上:φ(A) = (m-1)✖️(n-1);

欧拉定理

定义:如果两个正整数m,n互质,那么m的φ(n)次幂 减去1,可以被n整除。
m ^φ(n) mod n ==1

费马小定理

定义:欧拉定理的特殊情况:如果两个正整数m,n互质,而n为质数,那么φ(n)结果就是n-1;
m ^(n-1) mod n ==1.

模反元素

定义:如果两个正整数e,x互质,那么一定可以找到整数D,使得e乘以D减去1 可以X整除。 那么D 就是e对于x的模反元素。
eD mod x ==1, --> eD -1 = K*x; k为倍数

推导过程:
已知:m^ φ(n) mod n ==1 ;
由:1^k ==1
两边同时k次幂-得:
m ^ k·φ(n) mod n ==1;
由:1·m == m;
得:m ^ k·φ(n)+1 mod n == m;
又: 模反元素 e·D mod x ==1 --> e·D = k · x +1;
得:

m^ e·D mod n == m ;( e跟 φ(n)互质)

非对称加密算法 诞生了 !!!

迪菲赫尔曼秘钥交换

看图说话,直观清晰!


屏幕快照 2019-08-16 上午11.15.25.png
屏幕快照 2019-08-16 下午12.36.54.png
屏幕快照 2019-08-16 下午2.30.09.png
屏幕快照 2019-08-16 下午3.10.37.png

鸣谢:Hank 老师

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容