Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15497311
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类:

2010-02-21 22:19:59

RSA密文算法公式c=m^e % n

例如有这样一道题,设m=15, e=3 d=7 p=3 q=11 n=33
那 么密文计算结果就是 c=15^3 mod 33 = 9
e由于取值比较小,取次方时勉强还能手写算出,如果e取值很大时,比如取值 27,15^27 mod 33 = ???
这样在计算时就很困难,在不使用计算器的前提下,有没有更简便的方法计算结果啊?
=================
呵呵,我刚好做过RSA的程序.

你这个问题如果直接算的话,就算是用计算机也不行的,因为个结果太大会超出最大范围而算不了。

解决的方法是用“快速指数法”
快速指数法是运用公式: (a×b)mod n = [(a mod n)×(b mod n)]mod n

即先把15^27化成下面图中的式子就可以从左到右用公式一步步算出来了。计算过程就是不断用上面的公式步。
如果还不明我可以再写个过程你看看。

写个过程你,好理解些。记得上密码学就是这样解的。过程在图片里。





阅读(6225) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~