Python RSA 暴力检查

Sof*_*tey 3 python encryption cryptography rsa brute-force

我有一个练习,用于暴力破解一段使用非常小的密钥加密的文本。我拥有的公钥是(e = 5,n = 203)。文本已转换为 ASCII,移位固定数字,然后使用 RSA 公钥加密。我必须仅使用暴力来解密此文本。为了解密,我使用以下简单公式:

decrypt = (value**d)%n
Run Code Online (Sandbox Code Playgroud)

其中 value 是我想要解密的东西,d 是我不确定的值,n 是模数。

到目前为止,我已将数字放入名为 en 的元组中,并像这样循环遍历它:

for i in range(1,10):   
    for a in range(0,41):
       ans = (en[a]**i)%203
       print (chr(ans))
Run Code Online (Sandbox Code Playgroud)

第一个 for 循环是“d”,我不确定私钥值,第二个 for 循环用于遍历 41 长度的元组。我还没有实现块移位部分,但我想检查这是否是暴力破解简单 RSA 密钥的正确方法。

L3v*_*han 5

你应该尝试用蛮力对 n 进行因式分解:

for i in range(n):
    if n%i == 0:
        print i
Run Code Online (Sandbox Code Playgroud)

,从中你会发现 p=7 和 q=29。

d = e^-1 mod phi(n) = e^-1 mod (p-1)*(q-1)

因此d = e^-1 mod 168,因此d=162