Реализовать RSA шифрование собственными методами языка - C#
Формулировка задачи:
Доброго времени суток.
У меня проблема следующая:
Пытаюсь по-детски и в лоб реализовать RSA шифрование собственными методами языка:
Примеры констант взяты с википедии: https://ru.wikipedia.org/wiki/RSA
Обращаю внимание, что в байтовом представлении числа переворачиваю так, как бы они хранились в машинном коде. Поэтому немного страшновато.
Те константы, которых в примере на вики нет, а являются как бы дополнительными либо тупо высчитал на калькуляторе, либо маленький скриптик писал ( в случае для InverseQ )
После запуска, сообщение, что "Плохие данные".
Подскажите, если не сложно, в чем тут затык.
Спасибо тем, кто потратил время
byte[] P = { 0xE5, 0xD }; byte[] Q = { 0x13, 0xA }; byte[] Modulus = { 0xFF, 0xF9, 0x8B }; byte[] Exponent = { 0x3 }; byte[] D = { 0x5B, 0x41, 0x5D }; byte[] DP = { 0x43, 0x9 }; byte[] DQ = { 0xB7, 0x6 }; byte[] InverseQ = { 0xFE, 0x3 }; RSAParameters rsaparam = new RSAParameters(); rsaparam.P = P; rsaparam.Q = Q; rsaparam.Modulus = Modulus; rsaparam.Exponent = Exponent; rsaparam.D = D; rsaparam.DP = DP; rsaparam.DQ = DQ; rsaparam.InverseQ = InverseQ; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.ImportParameters(rsaparam); rsa.ExportParameters(false); byte[] data = { 0x7, 0xB2, 0x1 }; string s=rsa.Encrypt(data, false).ToString(); Console.WriteLine(s);
Решение задачи: «Реализовать RSA шифрование собственными методами языка»
textual
Листинг программы
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(dwKeySize); RSAParameters RSAKeyInfo = new RSAParameters(); RSAKeyInfo.Modulus = Modulus; RSAKeyInfo.Exponent = Exponent ; rsa.ImportParameters(RSAKeyInfo); ;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д