在本学期学习计算机安全性时,我们目前正在审查加密系统。我想在RSA上刷新自己,所以回过头来看我离散的数学书。但我认为我犯了一个错误。
对于我的纯文本,我使用我的名字:
Darryl = 68 01 18 18 25 12
对于我的素数,我选择了:
p=23 and q=11, so n=23*11=253.
n的总数是:
(p-1)(q-1) = 22*10 = 220.
我选择了e=9
和d=49
,因为9*49=441
与1 mod 220
一致。
加密我姓名的每个字节:
68^9 mod 220 = 28
1^9 mod 220 = 1
18^9 mod 220 = 8
18^9 mod 220 = 8
25^9 mod 220 = 125
12^9 mod 220 = 12
但解密我得到了:
28^49 mod 220 = 68
1^49 mod 220 = 1
8^49 mod 220 = 128 <--- these are wrong
8^49 mod 220 = 128
125^49 mod 220 = 25
12^49 mod 220 = 12
我不确定为什么要解密加密的&#34; r&#34;导致不同的价值。有什么想法吗?
答案 0 :(得分:1)
加密为x^e mod n
,解密为x^d mod n
。您的n
为253
,但您使用的是220
。
这给了18^9 mod 253 = 173
。解密会产生173^49 mod 253
18
。