Сейчас на форуме: vsv1, r0lka, -Sanchez-, testrev1337, johnniewalker, Kybyx (+3 невидимых) |
eXeL@B —› Крэки, обсуждения —› Механизм RSA шифрования программы Vypress Chat. |
Посл.ответ | Сообщение |
|
Создано: 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тника приват диалога дешифруют сообщения одним и тем же секретным ключом. Более того, если мы публикуем открытый ключ, то получатель знает какой применить секретный ключ, т. е. существует какая-то таблица соответствия открытого и секретного ключей единая для всех участников приват-диалога. Так ли это на самом деле? Помогите пожалуйста разобраться с этим механизмом, а то такая каша в голове... ( |
|
Создано: 22 марта 2010 05:43 · Личное сообщение · #2 Lodalex пишет: Все приватные сообщения шифруются соответствующим получателю паблик-ключом Lodalex пишет: Так как публикуется только один открытый ключ, то логично предположить, что оба учаcтника приват диалога дешифруют сообщения одним и тем же секретным ключом. Не логично. Чтобы не было каши в голове почитай получше про шифрование с открытым ключем. |
|
Создано: 22 марта 2010 09:14 · Личное сообщение · #3 |
|
Создано: 22 марта 2010 10:45 · Личное сообщение · #4 |
|
Создано: 22 марта 2010 21:18 · Поправил: Lodalex · Личное сообщение · #5 Юзаю wireshark. Раз 5 просмотрел пакеты в обоих направлениях 5 разных подключений, даже если пользователь новый отправляется только 1 ключ, затем зашифрованные данные (размер совпадает с текстом) тоже в обоих направлениях. При повторном подключении к тому же пользователю (например после перезагрузки) отправляется совершенно другой ключ, если сразу же открыть приват диалог после его закрытия, то данные шифруются под старый ключ и никакого ключа в пакетах не уходит. Входящее приват подключение тоже сначала присылает 1 ключ и потом данные. Может там не RSA? |
|
Создано: 23 марта 2010 11:50 · Личное сообщение · #6 При повторном подключении к тому же пользователю (например после перезагрузки) отправляется совершенно другой ключ, Ну так это для того, чтобы исключить "подмену" абонента. Т.е. публичный ключ "защищен"/подписан, чтобы исключить перехват. Например к ключу добавляют несколько бит/байт соли(salt) и кодируют; кодированный ключ это изменяет до неузнаваемости, а абонент просто выбросит "соль" и получит тот же ключ. Либо это "сеансовый" ключ - такое тоже норма. Что тут гадать - без анализа кодов программы можно угадывать до посинения. RSA - это чистый алгоритм шифрования, а не алгоритм программы Vypress. Если авторы добавили XOR или перестановку байт - это что уже не RSA? А если соль использовать и т.д. и т.п. Но вообще-то с публичным ключом кроме RSA еще что-то есть, т.ч. ты не в том месте роешь. |
|
Создано: 23 марта 2010 19:18 · Поправил: Lodalex · Личное сообщение · #7 Согласен. Если я открываю приват-диалог с моего компа отправляет ключ: ckey: AQIAAAFoAAAApAAAvhWnooiY6xzNScc87MndYt4c57GA5rxgEPVB6S2EUc9WokZalMeSBI LVnUip5ZoJsC1SPPIy1pyd9dHeZqJZidbDY7m38YcAinnMjh7c4ZYKsy8bk/lGdJCxuqaP o0LDKI5ihtfjATzCrU2SrTgTnigW8aHvzz24HnDJmQEaVrQ= А от компа с которым соединяюсь данные в ответном пакете: ckey: . Так что ключ публикуется 1, проверил на нескольких компах еще пару раз. К чему я клоню: если открытый ключ 1, то у оба участника диалога знают единый секретный ключ. И если с одним из них ясно, откуда он взял секретный ключ, то вот другой наверное уже имел его (ну или какую-нибудь "таблицу соответствия" открытых ключей закрытым, по которой и получил секретный ключ). |
|
Создано: 23 марта 2010 20:50 · Личное сообщение · #8 |
|
Создано: 23 марта 2010 20:55 · Личное сообщение · #9 |
|
Создано: 26 марта 2010 09:48 · Личное сообщение · #10 SWR пишет: PS так как ключи при шифровании симетричны. Ну да. Пусть А шлет B публичный ключ. Тогда все зашифрованное публичным ключом А сможет расшифровать, используя свой "секретный ключ", и может шифровать, используя свой секретный ключ. Но если кто-то перехватил публичный ключ - он сможет читать эти сообщения от А. И возможно даже открыть сам секретный ключ. Т.е. это уже неправильная схема. |
|
Создано: 26 марта 2010 12:20 · Личное сообщение · #11 >>Но если кто-то перехватил публичный ключ он сможет читать эти сообщения от А. для этого и выдается публичный ключ. Шифруя секретным - он тем самым подписывает своё сообщение, для всех(чтоб не потделывали от его лица). А если нужно персонально то шифруется открытым ключем получателя (прочитает только получатель). >>И возможно даже открыть сам секретный ключ. Ну это уже взлом RSA (ключи по идее одинаково крипто стойки) |
eXeL@B —› Крэки, обсуждения —› Механизм RSA шифрования программы Vypress Chat. |