我收到此错误:System.OverflowException:“值不是数字。” 我的印象是大整数可以存储任何大小的值(在这种情况下为 500 ^ 500),所以我不明白为什么会这样。
public int decode(int code)
{
int totient = (p - 1) * (q - 1);
int d = modInverse(e, totient);
int pq = p * q;
BigInteger decodedMessage = new BigInteger(Math.Pow(code, d) % pq);
return (int)decodedMessage;
}