![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Loony |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Добрый день. Необходимо реализовать передачу по протоколу TCP бинарных данных. Данные даны в таком формате:
| Блок 1 (2 байта)| Блок 2 | Блок 3 | Блок 1 - размер сообщения, Блок 2 - данные, зашифрованные по алгоритму RSA, Блок 3 - цифровая подпись данных, вычисляется по алгоритму RSA Как подобное реализовать!? С php дело почти не имел, как вообще в нем работать с бинарными данными? Я могу например прочитать файл и передать по сети, а как вручную ввести ключи, которые даны в виде строк, но имеют шестнадцатиричное представление? Есть ли в php готовые реализации RSA для шифрования и цифровой подписи? Буду благодарен за любую помощь! |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
Loony |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Fortop, спасибо за линк, это я видел. Забыл упомянуть, что у меня имеются ключи в таком виде, для наглядности приведу кусочек кода:
То есть, у меня нет в наличии .pem файла с ключем. Для цифровой подписи нужна реализация по формуле: signature = m ^ D mod Modulus. Как видно, даны превычесленные значения алгоритма, которые позволяют использовать так называемую "китайскую теорему об остатке", при этом увеличивается быстродействие. Еще остается открытым вопрос о формировании сообщения, есть подозрение, что нужно использовать "сырые" сокеты, но я не уверен. Люди добрые, откликнитесь, возможно кто-то сталкивался с подобными проблемами. Уже голова кругом! Это сообщение отредактировал(а) Loony - 16.5.2008, 15:29 |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Loony,
пробуй именно raw sockets больше в PHP с бинарными потоками почти ничего и не работает. Т.е. открываешь сокет на нужный порт и отсылаешь свои ключи. хочешь побайтово, хочешь одним куском - тебе виднее по требованиям. Добавлено @ 22:25
Берешь каждые 2ва шестандцатиричных символа, конвертируешь их в десятичные и конвертируешь в байт-символ.
Это сообщение отредактировал(а) Fortop - 19.5.2008, 22:25 -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |