![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
Ky6uk |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Впервые работаю с RSA-шифрованием. Возникли некоторые вопросы.
Я так понял, что RSA-ключ генерируется по определенным формулам. Известно, что необходимый мне ключ для последующего шифрования данных состоит из следующих частей: B = 1024, E = 65537 и N. N зашифрована небольшим алгоритмом. Расшифровать можно следующим кодом:
Исходными данными, в которых зашифровано N является набор из 128 байт, например:
Необходимо из этих данных получить RSA-ключ, которым в результате можно будет зашифровать некоторый текст. Если не трудно, подскажите как реализовать С++-код, приведенный выше, на Perl и какие необходимо использовать библиотеки для генерации по этим данным RSA-ключа и последующего шифрования текста этим ключем. |
||||
|
|||||
Ky6uk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
По аналогии написал функцию, но проверить соответствие алгоритму на С++ пока нет возможности.
|
|||
|
||||
tolkien |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: нет Всего: 4 |
Ты случайно не собираешься написать реализацию SSL на чистом PERL? Это было бы очень замечательно.
|
|||
|
||||
Ky6uk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Даже специально не собираюсь, так как, думаю, это будет изобретением велосипеда. Интересно в этом разобраться, выполняя некоторые задачи. Но кое-где я, к сожалению, не совсем понимаю, поэтому спрашиваю у знающих людей. |
|||
|
||||
Ky6uk |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Решено было выбрать Crypt::OpenSSL::RSA. После долгого курения доков, обнаружил функцию new_key_from_parameters.
Полагаю необходимо вызвать эту функцию с определенными параметрами E и N.
но этот метод не работает:
Это сообщение отредактировал(а) Ky6uk - 11.7.2008, 07:19 |
||||||
|
|||||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: нет Всего: 31 |
||||
|
||||
Ky6uk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Разобрался почти со всем вышеописанным. Проблема остается лишь в генерации ключа, по имеющимся данным. Это N, равное строке из 128 байт и E, равное числу 65537.
Не могу понять как сгенерировать ключ, используя Crypt::OpenSSL::RSA и метод new_key_from_parameters. Буду благодарен за любую подсказку. Это сообщение отредактировал(а) Ky6uk - 13.7.2008, 00:20 |
|||
|
||||
Ky6uk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Видимо никто с генерацие ключей не сталкивался, поэтому отвечаю сам.
Присмотревшись внимательнее, обнаружил, что n и e должны передаваться как Bignum-объекты. (Странно, почему модуль RSA не делает эту работу сам и приходится подключать еще и Crypt::OpenSSL::Bignum.)
После того, как сделаем из данных bignum-объекты, их можно передавать как параметры в Crypt::OpenSSL::RSA->new_key_from_parameters(). |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
сгенерите ключь с помщью OpenSSl
могу вам сгенерить Это сообщение отредактировал(а) gcc - 15.7.2008, 04:45 |
|||
|
||||
Ky6uk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 22.6.2007 Репутация: нет Всего: нет |
Проблема решена постом выше, средствами Perl.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |