Я пытаюсь использовать алгоритм RSA для обучения. Теперь у меня есть следующая проблема. Я застрял в следующем пункте.RSA - Math.pow неточно
мне нужно решить следующую функцию:
c = value^e % n
с = зашифрованным результатом значения = число должны быть зашифровано D = моим открытым ключом модуль п = RSA
Я использую только дважды как тип данных для всех переменных. Функция я решил с помощью следующей строки:
double c = Math.Pow(value, e) % n
Проблема здесь в том, что он выглядит как функция Math.pow производит неправильное значение, то кажется, что это немного неточно. Когда я пытаюсь сделать это с помощью калькулятора Windows, я получаю гораздо лучший результат, который является правильным.
Мои вопросы: Кто-то знает, как решить эту проблему, чтобы получить правильный результат для работы с RSA. Расчет всех других частей определенно правильный. Это может быть только математическая шкала или модуль.
Вы не можете использовать с плавающей точкой для RSA. Вам нужно «BigInteger`s» – CodesInChaos 2010-11-26 09:36:48