Я пытаюсь использовать алгоритм RSA для целей обучения. Теперь у меня есть следующий вопрос. Я застрял в следующем пункте.
Мне нужно решить следующую функцию:
c = value^e % n
c = зашифрованный результат
значение = номер для шифрования
d = мой открытый ключ
n = модуль RSA
Я использую double только как тип данных для всех переменных. Функция, которую я решил со следующей строкой:
double c = Math.Pow(value, e) % n
Проблема здесь в том, что похоже, что функция math.pow выдает неправильное значение, кажется, что она немного неточная. Когда я пытаюсь сделать это с помощью калькулятора Windows, я получаю гораздо лучший результат, который является правильным.
Мои вопросы: Кто-нибудь знает, как решить эту проблему, чтобы получить правильный результат для работы с RSA. Расчет всех других частей, безусловно, правильный. Это может быть только математика или модуль.