Сейчас на форуме: vsv1, r0lka, -Sanchez-, testrev1337, johnniewalker, Kybyx (+3 невидимых)

 eXeL@B —› Крэки, обсуждения —› Механизм RSA шифрования программы Vypress Chat.
Посл.ответ Сообщение

Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 марта 2010 23:09 · Поправил: Lodalex
· Личное сообщение · #1

Всем доброго времени суток!
Программа Vypress Chat для отправки сообщений по локальной сети использует алгоритм шифрования RSA. Оба ключа для шифрования сохранены на компьтере (*\Application Data\VyPRESS\Vypress Chat\pubkeys.vcdata и *\Application Data\VyPRESS\Vypress Chat\pvtkey.vcdata). Все приватные сообщения шифруются соответствующим получателю паблик-ключом (по материалам http://www.exelab.ru/f/action=vthread&forum=6&topic=5465).
Среди пакетов, отправляемых данной программой только при открытии приватного диалога, передается ключ для шифрования. Из всего вышеизложенного у меня вытекает несколько вопросов:
1) Насколько я понимаю, Vypress Chat передает паблик-ключ получателю сообщения. Происходит публикация открытого ключа (e,n - по материалам http://ru.wikipedia.org/wiki/RSA), так как в остальных пакетах никаких ключей не передается: ни от одного из переписывающихся, только userID. Так ли это на самом деле?
2) Так как публикуется только один открытый ключ, то логично предположить, что оба учаcтника приват диалога дешифруют сообщения одним и тем же секретным ключом. Более того, если мы публикуем открытый ключ, то получатель знает какой применить секретный ключ, т. е. существует какая-то таблица соответствия открытого и секретного ключей единая для всех участников приват-диалога. Так ли это на самом деле?
Помогите пожалуйста разобраться с этим механизмом, а то такая каша в голове... (



Ранг: 32.5 (посетитель), 3thx
Активность: 0.030
Статус: Участник

Создано: 22 марта 2010 05:43
· Личное сообщение · #2

Lodalex пишет:
Все приватные сообщения шифруются соответствующим получателю паблик-ключом

Lodalex пишет:
Так как публикуется только один открытый ключ, то логично предположить, что оба учаcтника приват диалога дешифруют сообщения одним и тем же секретным ключом.

Не логично. Чтобы не было каши в голове почитай получше про шифрование с открытым ключем.



Ранг: 172.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 22 марта 2010 09:14
· Личное сообщение · #3

1) так. просто запустил бы сниффер и твои бы слова подтвердились
2) не так.

п.с. там еще один дополнительный файл генерится, который хранит паблик-ключи всех, кто когда-то с вами общался по привату

-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 22 марта 2010 10:45
· Личное сообщение · #4

Lodalex http://ru.wikipedia.org/wiki/RSA]
Посмотрел статейку. Формулы там хорошо описаны, а вот суть на пальцах плохо.
А уж добавка про подпись, хоть и важная, но затуманивает смысл для новичка напрочь.
Если не найдешь описание для чайников, пиши в личку попробую объяснить.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2010 21:18 · Поправил: Lodalex
· Личное сообщение · #5

Юзаю wireshark. Раз 5 просмотрел пакеты в обоих направлениях 5 разных подключений, даже если пользователь новый отправляется только 1 ключ, затем зашифрованные данные (размер совпадает с текстом) тоже в обоих направлениях. При повторном подключении к тому же пользователю (например после перезагрузки) отправляется совершенно другой ключ, если сразу же открыть приват диалог после его закрытия, то данные шифруются под старый ключ и никакого ключа в пакетах не уходит. Входящее приват подключение тоже сначала присылает 1 ключ и потом данные. Может там не RSA?



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 23 марта 2010 11:50
· Личное сообщение · #6

При повторном подключении к тому же пользователю (например после перезагрузки) отправляется совершенно другой ключ, Ну так это для того, чтобы исключить "подмену" абонента. Т.е. публичный ключ "защищен"/подписан, чтобы исключить перехват. Например к ключу добавляют несколько бит/байт соли(salt) и кодируют; кодированный ключ это изменяет до неузнаваемости, а абонент просто выбросит "соль" и получит тот же ключ. Либо это "сеансовый" ключ - такое тоже норма.
Что тут гадать - без анализа кодов программы можно угадывать до посинения.
RSA - это чистый алгоритм шифрования, а не алгоритм программы Vypress. Если авторы добавили XOR или перестановку байт - это что уже не RSA? А если соль использовать и т.д. и т.п.
Но вообще-то с публичным ключом кроме RSA еще что-то есть, т.ч. ты не в том месте роешь.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 марта 2010 19:18 · Поправил: Lodalex
· Личное сообщение · #7

Согласен.
Если я открываю приват-диалог с моего компа отправляет ключ:
ckey: AQIAAAFoAAAApAAAvhWnooiY6xzNScc87MndYt4c57GA5rxgEPVB6S2EUc9WokZalMeSBI LVnUip5ZoJsC1SPPIy1pyd9dHeZqJZidbDY7m38YcAinnMjh7c4ZYKsy8bk/lGdJCxuqaP o0LDKI5ihtfjATzCrU2SrTgTnigW8aHvzz24HnDJmQEaVrQ=
А от компа с которым соединяюсь данные в ответном пакете:
ckey: .
Так что ключ публикуется 1, проверил на нескольких компах еще пару раз.
К чему я клоню: если открытый ключ 1, то у оба участника диалога знают единый секретный ключ. И если с одним из них ясно, откуда он взял секретный ключ, то вот другой наверное уже имел его (ну или какую-нибудь "таблицу соответствия" открытых ключей закрытым, по которой и получил секретный ключ).



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 23 марта 2010 20:50
· Личное сообщение · #8

)))
один может зашифровать (обратно расшифровать может тока получатель с обратным ключем)


они обмениваются тока открытыми ключами. тобиш побликуются 2 ключа, а не 1.
>>оба участника диалога знают единый секретный ключ
нет у каждого он свой.



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 23 марта 2010 20:55
· Личное сообщение · #9

при включении чата клиент шлет всем свой ключ, а "ckey: ." - скорее означает использовать его.

PS так как ключи при шифровании симетричны.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 26 марта 2010 09:48
· Личное сообщение · #10

SWR пишет:
PS так как ключи при шифровании симетричны.

Ну да. Пусть А шлет B публичный ключ. Тогда все зашифрованное публичным ключом А сможет расшифровать, используя свой "секретный ключ", и может шифровать, используя свой секретный ключ.
Но если кто-то перехватил публичный ключ - он сможет читать эти сообщения от А. И возможно даже открыть сам секретный ключ. Т.е. это уже неправильная схема.



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 26 марта 2010 12:20
· Личное сообщение · #11

>>Но если кто-то перехватил публичный ключ он сможет читать эти сообщения от А.
для этого и выдается публичный ключ. Шифруя секретным - он тем самым подписывает своё сообщение, для всех(чтоб не потделывали от его лица). А если нужно персонально то шифруется открытым ключем получателя (прочитает только получатель).

>>И возможно даже открыть сам секретный ключ.
Ну это уже взлом RSA (ключи по идее одинаково крипто стойки)


 eXeL@B —› Крэки, обсуждения —› Механизм RSA шифрования программы Vypress Chat.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати