部分RSA解密

时间:2016-05-12 10:49:13

标签: encryption cryptography rsa public-key-encryption

我有一个程序可以使用RSA-1024算法加密和部分解密数字。

加密:

C = M^e mod n

但是对于解密,结果将是mod 256:

partialM = (C^d mod n) % 256

我也知道e = 65537d = constantn = constant因此在多次运行程序后不会更改。
我想知道给定的C是否有可能找到M.如果是,怎么做?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的,但并不容易。

有一种众所周知的针对RSA的攻击称为最低有效位Oracle攻击。简而言之,如果你有一个黑盒子,你可以要求任何选择的密文的明文奇偶校验位,你将能够显示完整的明文。

您可以找到整个攻击说明in this question

总结一下:你不能破解单个已知密文的密码 - 部分明文对无法访问oracle。但是,你永远不应该透露任何明文位 - 对于足够明文的单位知识可能会造成真正的损害。