Encryption 使用部分私钥进行解密的RSA消息已被审查?

Encryption 使用部分私钥进行解密的RSA消息已被审查?,encryption,cryptography,rsa,private-key,Encryption,Cryptography,Rsa,Private Key,所以,我遇到了这个问题,我不知道如何解决它 我有一个RSA私钥,其中一部分经过审查 $ cat key.pem -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDGlcensoredcensoredcensoredcensored1TUxhnjkCbowxZc 7PIpI1E2Po6aIgCBd9+6i0NUIfYm8vR6kqiqLz8k8o4LYoBkq/9Jx7pgV2Jqhr4u wvlaQQUzi9c4qPKXp+QGoUu9f1zp8ORI

所以,我遇到了这个问题,我不知道如何解决它

我有一个RSA私钥,其中一部分经过审查

$ cat key.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDGlcensoredcensoredcensoredcensored1TUxhnjkCbowxZc
7PIpI1E2Po6aIgCBd9+6i0NUIfYm8vR6kqiqLz8k8o4LYoBkq/9Jx7pgV2Jqhr4u
wvlaQQUzi9c4qPKXp+QGoUu9f1zp8ORIMpeJmF7uA20DC93uba07qdC6twIDAQAB
AoGBAIovDuYnGiiQS6K27L4EY8e/5sbqAwdlTOVlWsfz+ai3DLNiFPSbbT1Wx9G4
4b06X6O258SD1suZ/g/ICnmnxxe5ua3a5+iiDIwGYmBDcNfq5gMq/d+1/UJF/Bb4
A1nuH2iUg6gRTPEpbg2+RYwquyWenFbqfHMgXqbHVGmOXj7hAkEA8rChKjs5zVmd
j9Gk53psry4CtuxRc39NrHuLqat9Iu0MA51Sgv4c+8dgo75DVAnT5PoLBhHJJAVa
e+rUMC4kfwJBANF7jcKzJ2UuPmL6JpbWcyirybjMIm2eCxR5U1bYlNYT+A49oOFS
Eg5woswgCyH9gDPk2Zwpq3qud9HD7Rn0bckCQQDHgwdrRXc2ZybN1eZAWffBaAzZ
PpuTXKOJWaOuX4mnTcLjsdDkWW2QWw8Kbd7B1rZ49kpbugFmeHQzjRDVbwmXAkBm
T3nFBcrP1+4QWSxPrx0/V+eFoe2OrAmtTjQtzkmi5M3Z5q+UXIkFFG3uVBgb2bur
nLHLW26s1Fkg0hgS/RZBAkAFnE+7QvRCW4+v3OsIkN63f+GIjHfCuv8L15RpBLlf
XXQyOmmu8YekTu5vbFHtSAiLyuW1yCeSsNmKYkX6Ew99
-----END RSA PRIVATE KEY-----
如您所见,第一部分行被部分删除。任务是解密此邮件:

Qe7+h9OPQ7PN9CmF0ZOmD32fwpJotrUL67zxdRvhBn2U3fDtoz4iUGRXNOxwUXdJ2Cmz7zjS0DE8
ST5dozBysByz/u1H//iAN+QeGlFVaS1Ee5a/TZilrTCbGPWxfNY4vRXHP6CB82QxhMjQ7/x90/+J
LrhdAO99lvmdNetGZjY=
我的第一个猜测是对缺失的部分施加暴力,但这似乎并不现实

有人知道这是否可能吗?如果是这样的话,你会怎么做呢? 关键是824个字符长,删失部分是32个字符,但是我不知道每个字符的检查是否对应于私钥中的一个……< /p> < p>您可以解决这个问题(或者OpenSSL ASN1PARSE),在这里您会发现基数64字符串-中间的文本,以
--
-开头的行之间是私钥的ASN.1编码。序列中的第二个元素(已更改)包含模数,而不是私有指数。该结构在PKCS#1中定义,PKCS#1是一个可读性很强的标准,也在

模数通常是公共的,但是如果您没有公钥,您仍然可以重新创建它:

您需要学习编码(ASN.1)并首先确定什么是被审查的。如果它只是一个公共素数,那么使用中的就相对较少,而且会很快。你有公钥吗?暴力强迫意味着你必须尝试$2^192$的可能性,我不建议:P@owlstead否我没有公钥:(是的,我有点怀疑这是愚蠢的:D我已经看过了,还有一些其他的解释,但我似乎找不到密钥不同部分的良好分解..试着用蛮力重新组合PEM格式的私钥。如果失败,它会回到与根本不知道私钥相同的保护级别。(这可能仍然需要花费你一生的时间来完成).很好,谢谢。所以当我有e,d,p和q时,我现在需要做什么。重新创建m并再次编码?然后在密钥中替换它并解密?是的,重新创建n,模,正如你所描述的。通常n用于模,但总是期望符号上的差异。你对此有什么建议吗?当我重新创建n时,乘以pq数字太大了,我在转换为十六进制时遇到了问题。我尝试直接使用十六进制数字,但最终得到了1059位的表示。结果应该是1024位,对吗?是的,模数始终与密钥大小相同。我没有尝试过建议的解决方案,我只知道要寻找什么…尝试crypto.Stackeschan如果您对算法本身有问题,请访问ge.com,或者在发布当前代码时尝试单独的问题。请注意,给定的模应包含足够的正确位,以便使用二进制比较验证结果。