我正在寻求一种类似于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)
答案 0 :(得分:3)
您正在寻找的算法是extended Euclidean algorithm(那里有一个伪代码),用于解决modular multiplicative inverse的数学问题,并且它也有一个question on Computer Science SE