Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RSA. поменять длину ключа и вообще извлечь, RSAParameters.  
:(
    Опции темы
v_enom
Дата 3.4.2009, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



Вопросы:
1) как поменять длину  openedKey.Modulus    в     RSAParameters  openedKey;
по умолчанию она = 128.  Если просто присвоить другой массив, то начинаются проблемы с шифрованием. Значит должен быть внутренний механизм какой-то.

2) при создании ключа
что RSACryptoServiceProvider clientRSA = new RSACryptoServiceProvider(512);  
что RSACryptoServiceProvider clientRSA = new RSACryptoServiceProvider(1024);  

ни как не меняется параметр penedKey.Modulus  
везде написано что числа 512, 1024 - длина ключа. так какая же это длина, если открытый ключ это пара openedKey.Modulus  и openedKey.Exponent  ????????? (именно их надо передавать,чтобы прочитать сообщение)

3) как открытым ключом дешифровать данные другой программой? ключ в файле хранится.

 

вот нашел пример кода. это почти то, что мне надо делать (сперва шифровать данные и оставлять открытый ключ в файле одной прогой, потом (другой прогой) брать этот открытый ключ и дешифровать данные). :

Код

//---------------------------------------------------------------------
            
            // client
            RSACryptoServiceProvider clientRSA = new RSACryptoServiceProvider(512);    // создает открытый ключ
            RSAParameters openKey = clientRSA.ExportParameters(false);// передает  открытый ключ
          
         
            
            // server
            RSACryptoServiceProvider serverRSA = new RSACryptoServiceProvider(1024);
            RSAParameters newOpendKey = new RSAParameters();
            newOpendKey.Modulus = openKey.Modulus;                              //по ходу  дела эти 2 параметра придется хранить в файле в качестве пары открытых ключей
            newOpendKey.Exponent = openKey.Exponent;

            // serverRSA.ImportParameters(openKey);
            serverRSA.ImportParameters(newOpendKey);
            byte[] data = new byte[] { 1, 2, 3 };//это данные
            AsymmetricKeyExchangeFormatter formatter = new RSAOAEPKeyExchangeFormatter(serverRSA);
            byte[] cryptedData = formatter.CreateKeyExchange(data);//шифруем

            // client
            AsymmetricKeyExchangeDeformatter deformatter = new RSAOAEPKeyExchangeDeformatter(clientRSA);
            byte[] dectyptedData = deformatter.DecryptKeyExchange(cryptedData);//расшифровываем

            Console.WriteLine("{0},{1},{2}", dectyptedData[0], dectyptedData[1], dectyptedData[2]);


проблема здесь только в этой строке:
AsymmetricKeyExchangeDeformatter deformatter = new RSAOAEPKeyExchangeDeformatter(clientRSA);
если бы тут передавался serverRSA и дальше все дешифровалось, то было бы великолепно, но раз передается clientRSA то какое же это дешифрование ??? это все равно что мы знали и не шифровуя сообщение сразу его выдали.  Явно косяк.



Это сообщение отредактировал(а) v_enom - 3.4.2009, 21:02
PM MAIL   Вверх
v_enom
Дата 5.4.2009, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



ну пожалуйста, помогите!!! неужели ни кто не сталкивался с этой бедой!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.