目前我有这个公式: 13 ^ 2 mod 5 = 4
我想在这里计算2:
13 ^ X mod 5 = 4
X =?
我找到了几个公式/代码可以在线执行此操作,但是我找不到任何带有^符号的东西。
请寻求帮助
我的客户收到了TEST_PRIVATE以外的所有信息,所以我想计算一下。
这是我使用的代码(服务器端) (这是加密,而不是解密)
string TEST_GENERATED = "13";
string TEST_PRIVATE = "2";
string TEST_PRIME = "5";
BigIntegerTEST TESTMOD_1 = new BigIntegerTEST(TEST_GENERATED, 10);
BigIntegerTEST TESTMOD_2 = new BigIntegerTEST(TEST_PRIVATE, 10);
BigIntegerTEST TESTMOD_3 = new BigIntegerTEST(TEST_PRIME, 10);
BigIntegerTEST TESTMOD_4 = TESTMOD_1.modPow(TESTMOD_2, TESTMOD_3);
所以基本上我想将TESTMOD_4反转为TESTMOD_2 只使用TESTMOD_4,TESTMOD_3和TESTMOD_1
(我知道modPow通常有3个参数,我为此使用了一个特殊的类)
TDLR; 工作示例:
(6 + 7)MOD 10 = 3
(3-6 + 10)MOD 10 = 7
这是我想要的主要结果: (我想找回7)
(6 ^ 7)MOD 10 = 6
? = 7
答案 0 :(得分:-1)
就在这里,就像这个函数一样简单:
public double DoCalc(double Number1, double Number2, double Number3)
{ return (Math.Pow(Number1, Number2)) % Number3; }
然后从按钮单击事件中调用它,如下所示:
private void btmDoCalc_Click(object sender, EventArgs e)
{
// Here show it up in message box directly.
MessageBox.Show("DoCalc= " + DoCalc(13, 2, 5).ToString());
// Here assign it to some double variables.
double N1 = 0, N2 = 0, N3 = 0;
N1 = DoCalc(13, 2, 4);
N2 = DoCalc(13, 2, 3);
N3 = DoCalc(13, 2, 2);
MessageBox.Show("DoCalc= " + N1);
MessageBox.Show("DoCalc= " + N2);
MessageBox.Show("DoCalc= " + N3);
}
我希望这能回答您的问题^ _ ^