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