我正在寻找一个类似于RSA(不完全相同)的加密算法来解决这个模运算符问题,但我不习惯使用模运算符。你知道吗
我有四个值,这是我发现的最佳值。有一个消息,一个密码和两个密钥(公共和私有)。message=m,cypher=c,public key=n,private key=e。最后,我将同时拥有密钥和cypher,而不是消息。你知道吗
对于我最初的加密公式,我使用了:
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)
您正在寻找的算法是extended Euclidean algorithm(这里有一个伪代码),用于数学问题modular multiplicative inverse,它也有一个question on Computer Science SE
相关问题 更多 >
编程相关推荐