通过在RSA中分解n或不分解n来解密消息

时间:2016-09-29 14:24:20

标签: cryptography rsa prime-factoring

RSAcryptosystem有公钥n = 18721和e = 25.消息加密一次加密一个字母,将字母转换为数字A = 2,B = 3 c _ 27. Oscar拦截消息" 365,18242,4845,18242,17173,16; 134:""从爱丽丝到鲍勃。

(la)通过分解n。

来解密消息

(lb)解密消息,假设您无法分解n。

任何机构都可以一步一步地教我如何解密消息以及什么是p& q

3 个答案:

答案 0 :(得分:1)

您可以通过阅读RSA上的维基百科page来回答您的问题。

1A

当您考虑 n 时,您会发现整数 p q ,以便 n = p * q 。您计算 Y =(p - 1)(q - 1)。然后你可以找到私钥指数 d ,计算为 d = 1 / e mod Y

要解密拦截消息中的某个值 c ,您只需计算 m = c ^ d mod n ,其中 m 为解密的消息。这是有效的,因为(m ^ e)^ d mod n 等于1.

我会把实际计算留给你。如果你遇到困难,维基页面会有一些很好的例子。

1b的

如果您无法分解 n ,则无法解密该邮件。如果只使用公钥(n,e)来解密邮件,那么为什么有人会使用RSA?

答案 1 :(得分:1)

1a。正确答案是正确的答案

1b。 奥斯卡知道每个消息块只有1个字符,因此可以使用相同的e和n来加密字母的每个字符并进行比较。

a = 2 ^ 25 mod 18721 = 6400

b = 3 ^ 25 mod 18721 = 18718

c = 4 ^ 25 mod 18721 = 17173 ...

投票赞成的答案适用于多个字符的加密,但不是每个字符都单独加密的情况。

答案 2 :(得分:0)

对于1b方法,Rainbow Table这个短语可能是有启发性的(虽然故意有点过于具体/误导)。

非常有趣。我告诉你,你的第2和第4个字母是'E';并且我很确定你把最后一个值(134)打了个字。它是1375(对我来说最有意义)或13444(最接近的字符串匹配,也有点理解)。

@ bkjvbx的回答是正确的RSA在野外使用;但由于这个(大概)家庭作业的分配是在非常规范的输入上使用原始RSA,所以它是一个完全不同的野兽。