首页
社区
课程
招聘
[分享]RSA算法简介
发表于: 2009-6-22 22:29 5064

[分享]RSA算法简介

2009-6-22 22:29
5064
这里给大家介绍一下公钥密码算法中的一种。
所谓公钥密码算法,指的是加密的密钥和解密的密钥不一样。
先大致说一下RSA算法:

公开密钥(n,e),私有密钥(n,d)
其中n = p*q,p,q是两个随机选择的巨型素数(必须保密),d,e满足d*e≡1 (mod(p-1)(q-1))

----====以下公式中,如果不加特殊说明,所有运算都是(mod n)的运算====----

于是根据Fermat小定理,x^(d*e) = x

假设明文为m,密文为c,那么

利用公钥(n,e)的加密过程:c = m^e
利用私钥(n,e)的解密过程:m = c^d = (m^e)^d = m^(e*d),根据Fermat小定理,m^(e*d)刚好等于m。

当然,RSA算法真实实现比这要复杂很多,需要用到大素数的随机生成算法、强素数的生成算法、中国剩余定理、快速的模幂运算等。
回头再继续介绍各种实现算法。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
2
1)
不是根據 Fermat's Little Theorem,是根據 Euler's Formula.
Why?
Fermat's Little Theorem 是指 a^p≡1(mod p) ,當 (a,p)=1, 且 p 為 prime number.
一鸿大大所提到的 modulo number n 是一個 composite number,應該要用 Euler's Formula 的 a^Φ(n)≡1(mod n) 來解釋.
2009-6-22 22:54
0
雪    币: 21
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
欧拉定理和费马小定理都用到了。
2009-6-24 11:05
0
雪    币: 21
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Openssl之RSA算法。主要介绍OpenSSL密码库中RSA的详细实现方式。
http://caisenchen.blog.163.com/blog/static/552865502008763587344/
2009-6-25 22:16
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
5
1) For SSL, please  【分享】SSL Related Topics. .

2) For SSL vulnerable, please see this 【M.R. Albrecht, G.J. Watson and K.G. Paterson, Plaintext Recovery Attacks Against SSH, IEEE Symposium on Security and Privacy, 2009.
This paper shocks to UK government.
上传的附件:
2009-6-26 01:35
0
雪    币: 21
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
Thanks for your help. 但是目前SSL协议中有很多的实现算法,不知有没有主要针对RSA的漏洞分析的。另外OpenSSL和OpenSSH的主要区别是?呵呵,不要见笑哦
2009-6-26 09:01
0
游客
登录 | 注册 方可回帖
返回
//