RSA - реализация без использования System.Security.Cryptography - C#

Узнай цену своей работы

Формулировка задачи:

Задача следующая: Реализовать алгоритм RSA. Я впринципе сделал, но шифрование происходит кривовато - про дешифрования я вообще молчу. Изначально проблема была в моменте возведения в степень, я использовал оператор ^. Например такая запись
8 ^ 7
давала результат 15. Пришлось воспользоваться методом Math.Pow(double, double). На это мучения не закончились - при шифровании - в исходном тексте было допустим 89 символов а в результате шифрования - в закодированном тексте символом становилось 88~87. Также, при дешифровании происходит следующая ошибка:
Значение было недопустимо малым или большим для Int32
Я склоняюсь к тому, что ошибка в 1. Кодировке документа. Возможно я неправильно открываю документ. 2. В операции дефровании есть такая строка:
 z = Convert.ToInt32(Math.Pow(Convert.ToDouble(tempInt), Convert.ToDouble(d))) % n;
После её добавления началась ошибка со "малым или большим" значением. Помогите исправить ошибки - я уже который час смотрю в код, не могу понять что да как. Заранее спасибо! P.S. Прикрепил в сообщение исходник программы. Среда разработки Microsoft Visual Studio 2010 Ultimate.

Решение задачи: «RSA - реализация без использования System.Security.Cryptography»

textual
Листинг программы
tempBytes[i] = Convert.ToByte(z);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы