首页
社区
课程
招聘
[求助]RSA 模幂运算 的问题?
发表于: 2009-10-30 20:46 7127

[求助]RSA 模幂运算 的问题?

2009-10-30 20:46
7127
学校开《信息安全概论》

使用高教出版社的《信息安全概论》

RSA算法一节

书上说:
加密公式 M^e = C (mod N)
解密公式 C^d = M (mod N)

同时举例说明现:
p=7, q=17,
N=p*q=119
f(n)=(p-1)*(q-1)=96
e取5
d取77
则:公钥(5,119);私钥(77,119)

现有明文 M=19
加密为:M^e = C (mod N)  =>  19^5 = 66 mod 119  =>  C=66
解密为:C^d = M (mod N)  =>  66^77  = 19 mod 119  =>  M=19
结果正确。

但是我在计算时,
若将“密文C”带入“加密公式”,使用“公钥(5,119)”计算,
同样可以得出 明文M ………???

M^e = C (mod N)
将C和M在公式中的位置调换
则 C^e = M (mod N) => 66^5 = 19 mod 119 => M = 19

是不是我对“模运算”的使用方法有错误???
还是对算法本身理解有误???

望高人指点………………

等待中………………

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
2
2009-10-30 21:01
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
好的
我试试
======================================================

从新换了一组数据(取自“密码学.pdf”):
p=383
q=563
N=pq=215629
e=49
d=56957
则:公钥(49,215629);私钥(56957,215629)

m=123456
123456^49 = c  mod 215629   =>    c=1603

如果将 c=1603 和 公钥(49,215629) 带回到 M^e=C mod N 中,
即 1603^49 = C mod 215629,
循环9 次后,得到 C[9] = 123456
循环10 次后,得到 C[10] = 1603

由此看来,是我第一次的数取得太小,第一轮循环就被还原成明文了

=========================================================

谢谢
2009-10-30 21:04
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
4
請看 【原创】植基於RSA加密演算法頻率特性之研究--- Utilities
裏面有 xyz 及 xzy4 兩個 小 tools.
應該可以滿足你的需求。

ps. 那兩個 tools 無法計算很大的數。
2009-10-30 23:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可用这个软件:


下载地址为:http://emath.ac.cn/software.htm#HugeCalc
2009-12-3 08:43
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
顶楼上

在我看来,
凡是可以自己实现大数运算的,
都是牛人
…………
2009-12-19 16:24
0
游客
登录 | 注册 方可回帖
返回
//