取模取反得到未知值

时间:2019-06-06 07:10:11

标签: python algorithm modulo

我正在寻求一种类似于RSA(不完全相同)的加密算法来解决这种模运算符问题,但是我不习惯使用模运算符。

我发现有四个最佳值。有一个消息,一个密码和两个密钥(公用和专用)。消息= m,密码= c,公钥= n,私钥= e。最后,我将同时拥有密钥和密码,但没有消息。

对于我的原始加密公式,我使用了:

c = (m + e) % n

对于解密,我使用了它:

m = (c - e) % n

但是当我决定用乘法和除法代替加法和减法时,并没有那么简单:

c = (m * e) % n
m != (c / e) % n

最后,我想通过以下方法获得第一个结果:

c = (m ** e) % n

最后,我有c = 8 (12)(13), e = 41, n = 63,我知道m = 34,但我不知道如何计算。

8 = (m * 41) % 63
(12 = (m + 41) % 63)
(13 = (m ** 41) % 63)

1 个答案:

答案 0 :(得分:3)

您正在寻找的算法是extended Euclidean algorithm(那里有一个伪代码),用于解决modular multiplicative inverse的数学问题,并且它也有一个question on Computer Science SE