假设:
p = 3
q = 11
n = 33
phi = 20
e = 7
d = 3
如果我要加密数字123,我会(123^7) % 33
,等于18
。
现在,如果我要解密18
,我会(18^3) % 33
,这会给我24
。
如您所见,输入数字和解密数字不一样。有人知道为什么吗?这也意味着我必须将数字123
分成一位数,然后分别加密1
,2
和3
?
编辑:我知道由于n
的价值,我mod
n
的任何内容都会低于n
。这是否意味着我必须为p
和q
选择非常大的数字?
答案 0 :(得分:4)
来自the Wikipedia page for RSA(我的重点):
然后Bob希望将消息M发送给Alice。他首先将
对应的密文cM
变为整数m
,使0 <= m < n
变为c = m^e (mod n)
商定的可逆协议称为填充方案。然后他 计算与m
您的123
(n
)不小于33
(p
),因此不起作用。所以,是的,您需要从较大的q
和n
开始,以获得更大的{{1}}。