![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
regen |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 5.7.2006 Репутация: нет Всего: нет |
В файл private.txt записан приватный ключ для RSA. Читаю из файла байтики в byte[] priv_key
В файл public.txt записан публичный ключ для RSA. Читаю из файла байтики в byte[] pub_key Задача сделать init объекту типа Cipher и в качестве параметра указать публичный ключ и приватный ключ. Почитал доки, нашёл только как экспортировать из обектов PrivateKey и PublicKey ключи в byte[]. А вот обратной функции (импорт) не нашёл. Не подскажите способ? Вот код для пояснения:
Заранее спасибо за ответы |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Посмтори на этот код:
RSA Ключ (как закрытый, так и открытый) можно разложить на два BigInteger: Modulus и PublicExponent. Этих чисел достаточно для создания ключа. Так вот, чтоб ключ сохранить получим эти числа и сохраним в файл (я не сохранял, но получал), а чтоб востановить, соответственно обратная операция. |
|||
|
||||
regen |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 5.7.2006 Репутация: нет Всего: нет |
Супер. Спасибо большое!
Именно то что нужно! Помечаю вопрос как решённый |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
пожалуйста.
![]() |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
powerOn, большой тебе спасибо за код
![]() правда есть одно замечание: в данной реализации используется ключ по умолчанию 1к и он позволяет шифровать строки с максимальной длинной 177байт. Для того что бы шифровать большие строки надо делать больше ключ или разбивать на блоки строки ). |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 9 Всего: 39 |
для того чтобы шифровать большие строки не надо делать больше ключ или разбивать на блоки строки (это делать категорически нельзя - снижается криптографическая стойкость такой системы). RSA - имеет очень большую вычислительную сложность, как и любой другой ассиметричный алгоритм шифрования, и следовательно малоэффективен для шифрования больших объемов информации. На практике подобные алгоритмы используются исключительно для ключевого обмена. Т.е. генерируется сессионный ключ для симметричного алгоритма шифрования, им шифруется сообщение, а сам сессионный ключ, как раз шифруется с помощью RSA и прикрепляется к сообщению. Это сообщение отредактировал(а) Alexandr87 - 24.9.2007, 12:48 |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
ok
Это сообщение отредактировал(а) v2v - 24.9.2007, 14:05 |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 9 Всего: 39 |
1. С чего бы это? Пересмотрите внимательно описание алгоритма. 2. Не вижу необходимости использовать ключи подобной длины для современных правильных симметричных алгоритмов. На практике больше 256 бит не встречал. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |