Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Занимательная криптография

Автор Солохин, мая 1, 2018, 20:13

0 Пользователи и 1 гость просматривают эту тему.

Upliner

Цитата: Солохин от мая  7, 2018, 13:52В самом деле. Если наши друзья уже общаются, пусть даже и фсб-шным устройством посередине, которое расшифровыает, перешифровывает и честно передает их сообщения друг другу, они по этому каналу могут теперь сказать что угодно.

Как этим воспользоваться, чтобы проверить, не сидит ли между ними посредник?
Ну, Telegram напрмер отображает хеш используемого ключа шифрования и друзья могут в качестве минимальной безопасности просто перекинуть их друг другу в чате. Но у ФСБая программа вполне может отлавливать и это, и увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой. Можно усложнить им задачу, произвольно вставляя пробелы в хеш, произвольно обрезав, заменить одну из букв на слово, начинающееся с этой буквы, либо вообще применить к хешу преобразование, известное только двум друзьям. Можно активировать голосовую связь и сказать несколько цифр хеша голосом. Если хеши не совпадают -- значит посредник есть.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Bhudh

Цитата: Upliner от мая  7, 2018, 15:30увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой
Чтобы подменить хэш — надо знать, что это именно хэш.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Upliner

Цитата: Bhudh от мая  7, 2018, 20:40
Цитата: Upliner от мая  7, 2018, 15:30увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой
Чтобы подменить хэш — надо знать, что это именно хэш.
Ну так ФСБ-шной проге известно значение этого хеша, а поиск по подстроке известного значения, даже с пробелами и прочими подставными символами -- задача простая. Но конечно если написать "возьми ключ, добавь абвгд, потом возьми md5, потом sha1, потом crc32 у меня получилось ХХ ХХ ХХ ХХ" -- то автоматический алгоритм замены тут срежется.
В общем, основной недостаток тут в том, что эта проверка работает только в неформализованных протоколах, где автоматический анализ сообщений затруднён.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Солохин

Цитата: Upliner от мая  7, 2018, 21:29ФСБ-шной проге известно значение этого хеша
Вот именно! И это облегчает им задачу.
А значит, нам лучше передавать не значение хеша ключа (который проге уже известен), а нечто такое, что ей неизвестно.
Что именно? Вариантов у нас масса.
Ведь она вынуждена перекодировать заново любой код, который мы посылаем друг другу. Я высылаю один код (с одним ключом), а ты получаешь другой код (с другим ключом). При расшифровке они становятся неотличимы. Но ДО расшифровки-то они разные! Значит, нам достаточно сравнить один или несколько байт высылаемого кода с тем же (теми же) байтами получаемого кода. Фсб-шная программа знает и то, и другое. Но! Она не знает, какой именно байт или байты я выберу для сравнения.

Естественно, я должен тебе сообщить номер/номера этих байтов, ведь ты-то должен знать, что именно с чем нужно сравнивать. Но! Сообщить это можно уже ПОСЛЕ того, как хеш этого байта (этих байтов) УЖЕ выслан получателю. А значит, подменить его нельзя; поздно.

Как Вам такая идея, Upliner?

Удалось мне сказать нечто новое для Вас? :)
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Upliner

Цитата: Солохин от мая  8, 2018, 11:10
Естественно, я должен тебе сообщить номер/номера этих байтов, ведь ты-то должен знать, что именно с чем нужно сравнивать. Но! Сообщить это можно уже ПОСЛЕ того, как хеш этого байта (этих байтов) УЖЕ выслан получателю. А значит, подменить его нельзя; поздно.

Как Вам такая идея, Upliner?

Удалось мне сказать нечто новое для Вас? :)
По сути это то же самое, что я напсал выше, только число ХХ ХХ ХХ ХХ отправляются сначала, а алгоритм, по которому получается это самое число -- позже.
Недостатки остаются те же -- если ФСБшникам вдруг станет известен алгоритм, по которому товарищи общаются, то они могут в ручном режиме подменить там всё. Не важно, что это будет -- либо проивольный байт хеша, либо хеш от хеша+длинной произвольной стоки, передаваемой позже.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Солохин

Мне кажется, Вы не совсем точно поняли мою идею.

Давайте скажу подробнее.

Допустим, я высылаю Вам шифровку моего текста. Затем я высылаю хеш этой шифровки.
ФСБшная прога расшифровывает мое послание, перешифровывает его по-своему и высылает Вам, присовокупляя к нему новый хеш, соответствующий его шифровке. Тут все ясно.

А что, если сделать наоборот. Сначала я высылаю Вам хеш своей шифровки. ФСБ передает его - куда деваться-то? Не передашь - станет ясно, что на проводе посредник. И только после этого я высылаю саму шифровку. Что теперь будет делать бедная ФСБшная прога? Если она перешифрует его как обычно - хеш не совпадет, вот и всё. Ведь другой шифр даст другое значение хеша. Заранее знать, что я перешлю, чтобы подменить хеш, она не может.

Профит.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Upliner

Цитата: Солохин от мая 10, 2018, 18:09Заранее знать, что я перешлю, чтобы подменить хеш, она не может.
Ну вот я и говорю, что надёжность вашего метода работает только на этом. Если ваша схема станет популярной, то ФСБшники будут обо всём будут знать заранее. Выход один -- каждым шпионам выдумывать свой алгоритм и держать его в секрете.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Солохин

Цитата: Upliner от мая 10, 2018, 18:37
Если ваша схема станет популярной, то ФСБшники будут обо всём будут знать заранее.
Пусть себе знают. Сделать-то всё равно ничего нельзя.
Не пересылать хеш? подменить его? Ну, тогда будет ясно, что на проводе сидит "дятел".
Переслать? но тогда он не совпадет с хешем перешифрованного послания.

Цитата: Upliner от мая 10, 2018, 18:37
Выход один -- каждым шпионам выдумывать свой алгоритм и держать его в секрете.
Нет, не нужно. Предложенная мною схема работает даже в том случае, если она общеизвестна.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Upliner

Цитата: Солохин от мая 10, 2018, 22:23Не пересылать хеш? подменить его? Ну, тогда будет ясно, что на проводе сидит "дятел".
Так и не понял, каким образом это станет ясно. Вот скажем, A посылает B хеш, C его перехватывает, B ничего не пересылает, а А посылает "ОК, я получил хеш, давай сам шифротекст". А пересылает шифротекст, C перешифровывает и хеш, и шифротекст, и передаёт B новый хеш. B отвечает: "я получил хеш, давай шифротекст" новый шифротекст с правильными хешами пересылается и никто ничего не может вычислить.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Awwal12

Факт перехвата на линии в любом случае можно с хорошей вероятностью определить по задержкам передачи.
Фашиствующий имперец, асексуал и многожёнец, татарофоб, заслуженный функционер РПЦ. Слушает радио "Радонеж" и терпеть не может счастливых людей.

"Да здравствуют ДОЯРКИ!! Потому что доярки - это раса сверхчеловеков. За ними будущее планеты. Они переживут даже атомную войну, потому что доярки вечны, ибо хтоничны. И дадут потомство, которое тоже будет доярами и доярками. Ура, товарищи!.." (c) Awwal12

Upliner

Задержки по разным причинам бывают. Но вообще да, если ввести в протокол специальные задержки, то можно с довольно высокой вероятностью определять слежку.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Солохин

Цитата: Upliner от мая 11, 2018, 00:33
Вот скажем, A посылает B хеш, C его перехватывает, B ничего не пересылает, а А посылает "ОК, я получил хеш, давай сам шифротекст". А пересылает шифротекст, C перешифровывает и хеш, и шифротекст, и передаёт B новый хеш. B отвечает: "я получил хеш, давай шифротекст" новый шифротекст с правильными хешами пересылается и никто ничего не может вычислить.

Прежде всего, позвольте выразить Вам, дорогой Upliner, искреннюю благодарность за вразумление. Только теперь, благодаря Вам, я в полной мере осознал величие метода MITM (по-русски ЧП - "человек посередине")!

Да, это гениальная вещь. Какой бы алгоритм секретной связи мы ни придумали, ФСБ может поставить этот алгоритм посередине между нами, и он будет делать все как надо, обеспечивая как мою связь с Вами, так и Вашу связь со мной. И обнаружить его присутствие не представляется возможным!

Несколько дней я был очарован красотой этой идеи. Но вместе с тем не переставал искать выхода. Не может быть, чтобы на этом все кончалось, что не было решения у этой задачи.

И можете себе представить!? Я таки придумал это решение. Ключом к этому решению послужили Ваши слова
Цитата: Upliner от мая 11, 2018, 09:42если ввести в протокол специальные задержки, то можно с довольно высокой вероятностью определять слежку

Моя идея заключается в следующем.

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

Сразу же предвижу ответный ход противника. (Вы меня научили правильно мыслить!)
Вот как можно взломать эту схему.
Алгоритм-посередине может сначала выслать мне какое-нибудь фиктивное сообщение, предварив его правильным хешем. А затем, получив от меня в обмен на эту фальшивку мой текст, адресованный Вам, перекодировать его и выслать Вам в обмен на Ваш текст. И с этого момента общение между нами будет опять-таки происходить при его незаметном посредничестве.

Фиктивное сообщение нарушает "одновременность" обмена - в этом суть.

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


Как Вам такая схема?

Очень надеюсь на мощную ответную критику. Если Вы найдете способ взломать и её, я буду просто в восторге!
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Upliner

Цитата: Солохин от мая 12, 2018, 21:12Но бороться с этим методом взлома нетрудно.
А именно.
Каждый раз надо высылать друг другу не только последнее (текущее) сообщение, но и всю историю переписки, сопровождая её хешем. И алгоритм должен автоматически сравнивать эту историю с зафиксированной в памяти компьютера. Таким образом, фиктивное сообщение, при помощи которого взламывается логическая одновременность, будет сразу выявлено следующем же шаге.
Не уверен, что до конца понял вашу идею, но что мешает человеку посередине подменять всю историю переписки, вставляя в неё свои фиктивные сообщения вместо оригинальных?
Как правило общение происходит в форме запрос-ответ -- т.е. любая из сторон не знает, что отвечать, пока не дождётся ответа с противоположной стороны, поэтому сообщения, посылаемые "одновременно" смысловой нагрузки не несут, их без проблем можно подменить.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

yurifromspb

Это уже матрица какая-то. Каждый, с кем бы он, по его мнению, ни общался, по факту общается с одним и тем же "большим братом".
Дяденька, я ведь не настоящий лингвист, а этимологический словарь я в интернете нашёл.

Свобода у каждого своя, как и очевидность, посмотри, не тьма ли твой свет.

Bāb-lišānī lapit-ma, lū awīlāta! // from "Lamentations of Urišapibim".

yurifromspb

В принципе, если "больших братьев" хотя бы два, можно параллельно общаться через обоих.
Дяденька, я ведь не настоящий лингвист, а этимологический словарь я в интернете нашёл.

Свобода у каждого своя, как и очевидность, посмотри, не тьма ли твой свет.

Bāb-lišānī lapit-ma, lū awīlāta! // from "Lamentations of Urišapibim".

Солохин

Цитата: yurifromspb от мая 12, 2018, 22:06
если "больших братьев" хотя бы два, можно параллельно общаться через обоих.
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

Это тоже логический ход для решения нашей проблемы. Хотя пока неясно, как его использовать.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: Upliner от мая 12, 2018, 21:49
что мешает человеку посередине подменять всю историю переписки, вставляя в неё свои фиктивные сообщения вместо оригинальных?
Да, это вариант.
Но именно ВСЮ историю.

То есть, ему придется от начала до конца имитировать собеседника. У него нет возможности использовать реплики настоящего собеседника вперемешку с фиктивными репликами, так как в противном случае подделка вскроется.

Тогда выходит, что наша задача упирается в (wiki/ru) Тест_Тьюринга. Сможет ли ФСБ-шный алгоритм убедительно имитировать живого собеседника?

Но замечу: задачу о проверке канала связи мы решили!
То есть, теперь мы всегда будет знать, что человека-посередине между нами нет. Он либо целиком подменяет собеседника, либо ты действительно беседуешь с тем,  с кем хотел, без свидетелей.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Upliner

Цитата: Солохин от мая 12, 2018, 22:25Тогда выходит, что наша задача упирается в (wiki/ru) Тест_Тьюринга. Сможет ли ФСБ-шный алгоритм убедительно имитировать живого собеседника?
В случае чата -- да, задача упирается в это. Чат, в котором оба собеседника должны что-либо написать, прежде чем увидят сообщения друг друга -- конечно не очень удобен, но да, для взлома такого чата ФСБшникам придётся посадить человека, который будет убедительно имитировать общение для обеих сторон. А вот в случае https-сервера живого общения двух людей не предполагается, поэтому там никаких проблем быть не должно.
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

yurifromspb

Цитата: Солохин от мая 12, 2018, 22:22
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

Это тоже логический ход для решения нашей проблемы. Хотя пока неясно, как его использовать.
Да просто дублировать все сообщения, например.
Дяденька, я ведь не настоящий лингвист, а этимологический словарь я в интернете нашёл.

Свобода у каждого своя, как и очевидность, посмотри, не тьма ли твой свет.

Bāb-lišānī lapit-ma, lū awīlāta! // from "Lamentations of Urišapibim".

yurifromspb

Цитата: yurifromspb от мая 12, 2018, 22:41
Цитата: Солохин от мая 12, 2018, 22:22
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

Это тоже логический ход для решения нашей проблемы. Хотя пока неясно, как его использовать.
Да просто дублировать все сообщения, например.
Написал, невнимательно прочитав. Да, чтобы понять какой конкретно канал лжёт, надо придумать алгоритм.
Дяденька, я ведь не настоящий лингвист, а этимологический словарь я в интернете нашёл.

Свобода у каждого своя, как и очевидность, посмотри, не тьма ли твой свет.

Bāb-lišānī lapit-ma, lū awīlāta! // from "Lamentations of Urišapibim".

Upliner

Цитата: Солохин от мая 12, 2018, 22:25У него нет возможности использовать реплики настоящего собеседника вперемешку с фиктивными репликами
Реплики настоящего собеседника использовать можно. Допустим, у нас есть чат, при котором собеседники должны общаться "одновременно". Если один из собеседников пишет второму, то у него загорается запрос: "Х хочет что-то написать вам, ответьте ему".

Если у обычного чата всего два типа сообщений: от А к Б и от Б к А, то у этого получается четыре: запрос от А к Б, запрос от Б к А, ответ от А к Б, ответ от Б к А.

Когда один пишет другому, у ФСБ две стратегии: эмулировать ответ, либо эмулировать запрос.
В первом случае случае ответ подменяется на какое-то нейтральное сообщение вроде "привет", а реальный ответ либо игнорируется, либо учитывается на будущее.
При второй стратегии -- при любом запросе от А к Б, посылаем к Б запрос "привет" и получаем от него ответ, этот ответ посылаем к А и получаем от него текст запроса. Если запрос был "привет" либо какое-либо приветствие -- то ничего не делаем, если сообщение было другое -- посылаем новый запрос к Б, уже с реальным сообщением от А.

Трудность в том, как чередовать эти стратегии и насколько реально это сделать автоматически...
Поставити Убунту на ноут зможе навіть мій кіт
(с) одкровення медсестри з бородою

Солохин

Цитата: yurifromspb от мая 12, 2018, 22:02
Это уже матрица какая-то. Каждый, с кем бы он, по его мнению, ни общался, по факту общается с одним и тем же "большим братом".
Мне подумалось, что все эти современные Сири и Алисы - это первые весточки идеального Большого Брат, который прямо на наших глаза учится общаться с нами, заняв положение посредника (того самого ЧеловекаПосередине). Я бы на месте создателей этих нейросетей использовал реплики/вопросы/ответы, услышанные сетью от одного человека, в беседе с другим человеком. Действуя таким образом, можно мало-помалу довести Алису до уровня, когда она пройдет тест Тюринга и станет самым лучшим и незаменимым "другом" всякого человека.

Тут я опять возвращаюсь к уже высказанной идее: https://palaman.livejournal.com/357315.html

Как ни крути, а всё развивается именно в этом направлении.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

yurifromspb

Против такого никакая стратегия не поможет. Нет общения без посредника, нет и решения предложенной задачи.
Тут остаётся только такая надежда: "нет никого на земле, подобного ему, сотворенного на смех ангелам Моим, всё высокое видит, сам же царь всем жителям вод". Но я не ангел и мне что-то не очень смешно.
Дяденька, я ведь не настоящий лингвист, а этимологический словарь я в интернете нашёл.

Свобода у каждого своя, как и очевидность, посмотри, не тьма ли твой свет.

Bāb-lišānī lapit-ma, lū awīlāta! // from "Lamentations of Urišapibim".

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

zwh

Цитата: Bhudh от мая 13, 2018, 19:02
Цитата: yurifromspb от мая 13, 2018, 16:12сотворенного на смех ангелам Моим
Ну хоть не курам.
Как там у классика? -- "А набухавшись -- головой в Куру"...

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр