Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
39 / 39 / 3
Регистрация: 22.02.2013
Сообщений: 117
Записей в блоге: 2
1

Шифрование RSA

09.04.2015, 09:27. Показов 681. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Есть программа, которая шифрует сообщение закрытым ключом. А потом это же сообщение я хочу расшифровать, чтобы проверить, что все нормально работает.
Делаю я это таким образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
 
            var pem = System.IO.File.ReadAllText(@"C:\...\*.pem");
 
           // считываю закрытый ключ из файла
            byte[] certBuffer = GetBytesFromPEM( pem, "RSA PRIVATE KEY" );
 
           //считываю шифруемое сообщение
            byte[] data = GetBytes(textBox1.Text);
 
           //шифрую
            byte[] encrdata = rsa.Encrypt(data, false);
 
          //вывожу полученную кракозябру
            textBox3.Text = GetString(encrdata);
      
           
            var pem2 = System.IO.File.ReadAllText(@"C:\...\*.pub");
//считываю открытый ключ из файла
            byte[] certBuffer2 = GetBytesFromPEM(pem, "PUBLIC KEY");
 
            //расшифровываю сообщение
            byte[] decdata = rsa.Decrypt(encrdata, false); // ошибка!!!
//На данной строке выпадает ошибка: Размер данных для дешифрования превышает максимум для этого модуля, 294 байт.
 
            textBox3.Text = System.Text.Encoding.UTF8.GetString(encrdata); ;
        }
 
        byte[] GetBytesFromPEM(string pemString, string section)
        {
            var header = String.Format("-----BEGIN {0}-----);
            var footer = String.Format("-----END {0}-----", section);
 
            var start = pemString.IndexOf(header, StringComparison.Ordinal) + header.Length;
            var end = pemString.IndexOf(footer, start, StringComparison.Ordinal) - start;
 
            if (start < 0 || end < 0)
            {
                return null;
            }
            string r = pemString.Substring(start, end);
            textBox2.Text = "<RSAKeyValue><Modulus>" + r + "</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
           
            return Convert.FromBase64String(r);
        }
 
       
 
        static byte[] GetBytes(string str)
        {
            byte[] bytes = new byte[str.Length * sizeof(char)];
            System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
            return bytes;
        }
 
        static string GetString(byte[] bytes)
        {
            char[] chars = new char[bytes.Length / sizeof(char)];
            System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
            return new string(chars);
        }
Попытаться разбить массив на части и дешифровать каждую из них? Не могу найти, как это сделать (видела несколько небезопасных способов через указатели, но такое точно не допустят в релиз...)
Что мне делать в данной ситуации?
Спасибо большое!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 09:27
Ответы с готовыми решениями:

Шифрование rsa
Всем доброго времени суток. Работаю с C# сравнительно не долго и, мягко говоря, в этом я так...

Шифрование RSA
Стоит следующая задача - используя алгоритм RSA зашифровать входной файл. P и Q вводятся с...

Шифрование RSA и 3DES
Необходимо создать консольное приложение по этому шаблону: 1. Задать пароль. 2. Сгенерировать...

Шифрование текста через RSA Public Key
Как можно зашифровать текст через RSA public key

0
09.04.2015, 09:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2015, 09:27
Помогаю со студенческими работами здесь

RSA
Кто поможет переобразовать этот исходник в С#? Вот исходник метода шифровки RSA для aspx(C#)...

Алгоритм RSA
Кто чтото может сказать про алгоритм RSA? У ково есть сам алгоритм RSA? У ково есть хоть на...

RSA алгоритм
можете объяснить как правильно использовать сие алгоритм в C# с использование встроенных классов....

Генератор ключей RSA
Как написать генератор ключей как у этого сайта ? http://crypt-online.ru/crypts/rsa/ Открытый ключ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru