RSA 数学原理

栏目: 编程工具 · 发布时间: 5年前

内容简介:提起话说很久以前,人们就懂的了加密这个技术。在战争时期,间谍就会拿着加密: 明文 + 密匙

提起 RSA 大家一定不陌生,在开发中经常使用,也经常听同事说道。

前奏

对称加密

话说很久以前,人们就懂的了加密这个技术。在战争时期,间谍就会拿着 密文密匙 来对信息就行传递。 这种简单的 密文 + 密匙(key) 就是 对称加密

加密: 明文 + 密匙

解密: 密文 + 密匙

非对称加密

由于这种加密方式过于简单,所以后来引入了数学算法。 RSA 就是由特殊的数学算法构成的,也是 非对称加密算法 。非对称加密需要两个密钥: 公钥(public key) + 私钥(private key)

用公钥加密,私钥解密

私钥加密,公钥解密

相关数学原理

欧拉定理

如果两个正整数m和n互质,那么m的φ(n)次方减去1,可以被n整除。

RSA 数学原理

一下是几种情况

  • 定理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。

RSA 数学原理

模反元素

如果两个正整数e和x互质,那么一定可以找到整数d,使得 ed-1 被x整除。 那么d就是e对于x的“模反元素”

RSA 数学原理

迪菲赫尔曼密匙交换原理

RSA 数学原理

那么,通过一系列的数学转换,最终得出了RSA算法

RSA 数学原理
公钥:e 和 n
私钥:d 和 n
明文:m
密文:c
复制代码

以上所述就是小编给大家介绍的《RSA 数学原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用户体验面面观

用户体验面面观

[美] 库涅夫斯基(Mike Kuniavsky) / 汤海 / 清华大学出版社 / 2010-5 / 69.00

这是一本专注于用户研究和用户体验的经典读物,同时也是一本容易上手的实战手册,从实践者的角度,着重讨论和阐述了用户研究的重要性、主要的用户研究方法和工具,同时借助于实例介绍了相关的应用。全书共3部分18章,深度剖析了何为优秀的用户设计,用户体验包括哪些研究方法和工具,如何 得出和分析用户体验调查结果等。一起来看看 《用户体验面面观》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换