Мод оператора в C# - PullRequest
       39

Мод оператора в C#

0 голосов
/ 23 января 2020

Есть ли в C# оператор мод, который позволит мне написать алгоритм RSA? Я использовал%, так как думал, что это можно использовать как мод, но ответы, которые я получаю для c и m, не верны, например, ответ, который я получаю для c, равен 2561, когда я должен получить 2490, поэтому я понял, что% не работает.

      double e = 13;
      double d; //decryption

      double de = 7; 

      d = ((de * euiler) + 1) / e;

      double message = 25;
      double c = Pow(message, e) % n;
      double m = Pow(c, d) % n;

Ответы [ 2 ]

5 голосов
/ 23 января 2020

Путаница заключается в double Тип.

MSDN :

Оператор модуля (%) вычисляет остаток после деления его первого операнда на его второй. Все числовые типы c имеют предопределенные операторы модуля.

Обратите внимание на ошибки округления, связанные с двойным типом.

0 голосов
/ 23 января 2020

% это остаток. Возможно, вы захотите создать функцию stati c, которая использует% для выполнения операции по модулю.

...