Я пытаюсь использовать простое шифрование/дешифрование RSA, используя BigInteger
. Он отлично работает для меньших чисел, но не для больших:
BigInteger messageToInt = 111098;
BigInteger enc = BigInteger.ModPow(messageToInt, publicKey, n);
BigInteger dec = BigInteger.ModPow(enc, privateKey, n); // should be same as messageToInt
Console.WriteLine(dec);
Ключи взяты из примера из Вики - privateKey = 413
, publicKey = 17
, n = 3233
.
- для
messageToInt = 1500
:dec = 1500
(что нормально). - для
messageToInt = 15000
:dec = 2068
. (какая?!).