Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Механизм RSA шифрования программы Vypress Chat.
 
Всем доброго времени суток!
Программа Vypress Chat для отправки сообщений по локальной сети использует алгоритм шифрования RSA. Оба ключа для шифрования сохранены на компьтере (*\Application Data\VyPRESS\Vypress Chat\pubkeys.vcdata
*\Application Data\VyPRESS\Vypress Chat\pvtkey.vcdata). Все приватные сообщения шифруются соответствующим получателю паблик-ключом (по материалам http://www.cracklab.ru/f/index.php?action=vthread&forum=6&topic=5465).
Среди пакетов, отправляемых данной программой только при открытии приватного диалога, передается ключ для шифрования. Из всего вышеизложенного у меня вытекает несколько вопросов:
1) Насколько я понимаю, Vypress Chat передает паблик-ключ получателю сообщения. Происходит публикация открытого ключа (e,n - по материалам http://ru.wikipedia.org/wiki/RSA), так как в остальных пакетах никаких ключей не передается: ни от одного из переписывающихся, только userID. Так ли это на самом деле?
2) Так как публикуется только один открытый ключ, то логично предположить, что оба учаcтника приват диалога дешифруют сообщения одним и тем же секретным ключом. Более того, если мы публикуем открытый ключ, то получатель знает какой применить секретный ключ, т. е. существует какая-то таблица соответствия открытого и секретного ключей единая для всех участников приват-диалога. Так ли это на самом деле?
Помогите пожалуйста разобраться с этим механизмом, а то такая каша в голове... (
 
Почитайте что такое Ассиметричное шифрованиеи сразу поймёте в чём дело.
Изменено: Евгений Палитов - 22.03.2010 00:55:25
 
Спасибо, помогло. Даже очень - потихоньку начинаю понимать. Но вот загвоздка - из этой статьи следует, что каждый из двух участников приват диалога должен публиковать свой открытый ключ. А vypress chat отпраляет только 1 ключ! Я все пакеты просмотрел - ключ один... Как это понимать?
 
"А vypress chat отпраляет только 1 ключ! Я все пакеты просмотрел - ключ один... Как это понимать?" возможно:
1. вы смотрели пакеты только в одном направлении.
2. на второй машине по какой то причине вайпресс чат не захотел использовать шифрование (отключено в настройках, заданы не те порты, не установлены все части в программе?
3. вы не заметили :)
 
Цитата
Алексей Лодин пишет:
А vypress chat отпраляет только 1 ключ! Я все пакеты просмотрел - ключ один... Как это понимать?
Может быть у А уже имеется открытый ключ Б, а у Б нет ключа А, поэтому проихсходит объмен ключами в одностороннем порядке.
Изменено: Евгений Палитов - 22.03.2010 14:31:19
 
Я раз 5 просмотрел пакеты в обоих направлениях 5 разных подключений, даже если пользователь новый  отправляется только 1 ключ, затем зашифрованные данные (размер совпадает с текстом) тоже в обоих направлениях. При повторном подключении к тому же пользователю (например после перезагрузки) отправляется совершенно другой ключ, если сразу же открыть приват диалог после его закрытия, то данные шифруются под старый ключ и никакого ключа в пакетах не уходит. Может там не RSA?
 
у сколька из 5 человек версия Vypress Chat больше 1.9.5?
в хелпе сказано что только с этой версии они включили RSA
а то что вы видите это скорее всего кодировка в UTF-8 а не шифрование...
Изменено: [mad]Mega - 23.03.2010 11:17:18
 
Я тоже склоняюсь к предположению Евгения Палитова
 
У всех версия 2.6. Если я открываю приват-диалог с моего компа отправляет ключ:
ckey: AQIAAAFoAAAApAAAvhWnooiY6xzNScc87MndYt4c57GA5rxgEPVB6S2EUc9W­okZal
MeSBILVnUip5ZoJsC1SPPIy1pyd9dHeZqJZidbDY7m38YcAinnMjh7c4ZYKs­y8bk/lGdJCxuqaPo0LDKI5ihtfjATzCrU2SrTgTnigW8aHvzz24HnDJmQEaV­rQ=
А от компа с которым соединяюсь данные в ответном пакете:
ckey: .
Так что ключ публикуется 1, проверил на нескольких компах еще пару раз.
Насчет другой кодировки: как не открывай - одна ерунда получается.
И вот вопрос: если открытый ключ 1, то оба участника знают и закрытый ключ?
Изменено: Алексей Лодин - 23.03.2010 19:59:04
 
Простите конечно, но перечитайте документ ссылку на который я Вам дал выше.
Зачем всем учасникам разговора знать закрытый ключ?Если все будут знать закрытый ключ это называется компрометацией и RSA тут вообще не причём.Объекты А и Б обмениваются открытыми ключами, для того что бы:
1.Когда А захочет написать зашифрованное сообщение Б он возьмёт открытый ключ Б зашифрует, отправит и получатель(т.е Б) с помощью своего закрытого ключа расшифрует сообщение.
2.Тоже самое с другими учасниками разговора.
3.Если А будет знать закрытый ключ Б(т.е скомпрометирует его), то А сможет от имени Б писать зашифрованные сообщения и все будут думать что А это Б.
По этой причине открытый ключ ещё называется публичным(public), потому что публикуется "везде".В ассиметричном шифровании генерируется пара, открытый/закрытый ключ. С помощью первого корреспонденты шифруют, а получатель расшифровает только уже закрытым.Вообще, то что Вы написали больше похоже на симметричное шифрование, которое уже редко используется.
P.S Я то думаю в чём дело, а Вы всё перепутали.Вот почитайте, там всё доходчиво описано.
Изменено: Евгений Палитов - 23.03.2010 21:19:40
 
Цитата
Алексей Лодин пишет:
У всех версия 2.6. Если я открываю приват-диалог с моего компа отправляет ключ:

ckey: AQIAAAFoAAAApAAAvhWnooiY6xzNScc87MndYt4c57GA5rxgEP VB6S2EUc9WokZal

MeSBILVnUip5ZoJsC1SPPIy1pyd9dHeZqJZidbDY7m38YcAinn Mjh7c4ZYKsy8bk/lGdJCxuqaPo0LDKI5ihtfjATzCrU2SrTgTn igW8aHvzz24HnDJmQEaVrQ=

А от компа с которым соединяюсь данные в ответном пакете:

ckey: .

Так что ключ публикуется 1, проверил на нескольких компах еще пару раз.

Насчет другой кодировки: как не открывай - одна ерунда получается.

И вот вопрос: если открытый ключ 1, то оба участника знают и закрытый ключ?

Хоть поздно, но всё-равно отвечу...
При использовании ассиметричного щифрования, непосредственно открытым или закрытым ключом шифруется не текст сообщения (секретные данные) а, случайно сгенерированный ключ, симметричного шифрования (длиной от 40 до 256 бит, в зависимости от протокола симметричного шифрования). После токо как строны надёжно обменялись симметричным ключом шифрования, они используют этот ключ, потому что симметричное шифрование работает надежнее и быстрее чем ассиметричное, последнее используется только для обмена ключами.
Таким образом чат для локальной сети Vypress Chat, имея открытый ключ собеседника (который передается ещё в момент входа в канал, и также используется для цифровой подписи), генерирует сессионный случайный ключ длиной 40 бит, шифрует его открытым ключом и отправляет его. Собеседник просто извлекает сгенерированный сессионный ключ и использует его для шифрования, поэтому второй пакет и не нужен.
Просто, обмен открытыми ключами, фактически, произошёл раньше - при входе клиентов в сеть.
Страницы: 1
Читают тему