内容简介:提起话说很久以前,人们就懂的了加密这个技术。在战争时期,间谍就会拿着加密: 明文 + 密匙
提起 RSA
大家一定不陌生,在开发中经常使用,也经常听同事说道。
前奏
对称加密
话说很久以前,人们就懂的了加密这个技术。在战争时期,间谍就会拿着 密文
和 密匙
来对信息就行传递。 这种简单的 密文
+ 密匙(key)
就是 对称加密
加密: 明文 + 密匙
解密: 密文 + 密匙
非对称加密
由于这种加密方式过于简单,所以后来引入了数学算法。 RSA
就是由特殊的数学算法构成的,也是 非对称加密算法
。非对称加密需要两个密钥: 公钥(public key)
+ 私钥(private key)
用公钥加密,私钥解密
私钥加密,公钥解密
相关数学原理
欧拉定理
如果两个正整数m和n互质,那么m的φ(n)次方减去1,可以被n整除。
一下是几种情况
-
定理0 算术函数f如果满足对于任意两个互质的正整数m和n,均有f(mn)=f(m)f(n),就称f为积性函数(或乘性函数)。 如果对于任意两个正整数m和n,均有f(mn)=f(m)f(n),就称为完全积性函数。
-
定理1 对于素数p,ϕ(p)=p−1。
-
定理2 ϕ(pn)=pn−pn−1,因为素数幂pn不互质的只有p的倍数,一共有pn/p=pn−1个。
-
定理3 若m、n互质,ϕ(mn)=ϕ(m)ϕ(n),所以欧拉函数是积性函数。 因为mn互质NN,和m互质的数乘上和n互质的数就会和mn互质。
-
定理4 设n=p1a1p2a2...pkak为正整数n的素数幂分解,那么ϕ(n)=n(1−1/p1)(1−1/p2)...(1−1/pk)。 由定理2,ϕ(pn)=pn−pn−1=pn (1-1/p),又由定理3,ϕ(n)=p1a1p2a2...pkak(1−1/p1)(1−1/p2)...(1−1/pk)=n(1−1/p1)(1−1/p2)...(1−1/pk)
例如: ϕ(8) = ϕ(2^3) = 2^3 - 2^(2-1) = 8 - 4 = 4 ϕ(15) = ϕ(3) * ϕ(5) = 2 * 4 = 8 复制代码
费马小定律
欧拉定理的特殊情况:如果两个正整数m和n互质,而且n为质数!那么φ(n)结果就是n-1。
模反元素
如果两个正整数e和x互质,那么一定可以找到整数d,使得 ed-1 被x整除。 那么d就是e对于x的“模反元素”
迪菲赫尔曼密匙交换原理
那么,通过一系列的数学转换,最终得出了RSA算法
公钥:e 和 n 私钥:d 和 n 明文:m 密文:c 复制代码
以上所述就是小编给大家介绍的《RSA 数学原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 产品数学课:如何理解个性化推荐里的数学原理?
- 整数划分--思考问题背后的数学原理
- 技术科普:用高中数学理解 AI “深度学习”的基本原理
- HTML5中手势原理分析与数学知识的实践
- 刷脸背后,卷积神经网络的数学原理原来是这样的
- 图像处理 20:1 压缩,逐步推导 jpeg 格式压缩过程,包括数学原理解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。