Лингвофорум

Общий раздел => Просто общение => Игры => Тема начата: Солохин от мая 1, 2018, 20:13

Название: Занимательная криптография
Отправлено: Солохин от мая 1, 2018, 20:13
В связи с баловством Роскомпозора я в последнее время немного увлекся криптографией. И хочу поделиться с форумчанами тем, что я узнал, рассчитывая на взаимность.

Вот задача, с которой всё началось.

Мы должны обменяться сообщениями у всех на глазах (например, в эфире или в Интернете) так, чтобы ты меня понял, а кроме тебя никто меня не понял.
Если мы заранее договорились о ключе, то проблемы поначалу не будет. Однако всегда пользоваться одним и тем же ключом опасно. И потому теперь стоит задача похитрее: как передать друг другу новый ключ у всех на глазах, чтобы никто ничего не узнал, кроме тебя.

Эту задачу никто не мог решить тысячелетиями. Во время войны британцы читали немецкие шифровки, потому что как-то узнали ключ к шифру. (Считается, что раскрыли с помощью протокомпьютера, но скорее всего просто нашпионили, как и подобает пиратам.) Если бы немцы умели делать то, что сейчас расскажу, то Вторая мировая война могла бы пойти по-другому. (Хотя кончилась бы так же; шансов на победу против Британии+США+России у Гитлера не было.)

Представьте себе: тысячу лет никто никому не приходило в голову, как это сделать. А в XX веке, в 60-е годы, математики придумали! Я считаю, это одно из главных достижений человечества в XX веке, наряду с атомной бомбой и полетом в космос.
Если бы этого не было, то не было бы и Интернета, потому что в Сети все происходит у всех на глазах, и если без шифров тут можно было бы говорить только о погоде.

Решение задачи, как и все гениальное, просто.
Помните задачу про волка, козу и капусту? Как их перевести на другой берег, если лодка не вмещает сразу всех?

Так вот, решение Проблемы шифра очень похоже на решение это
Название: Занимательная криптография
Отправлено: Солохин от мая 1, 2018, 20:26
Решение задачи, как и все гениальное, просто.
Помните задачу про волка, козу и капусту? Как их перевести на другой берег, если в лодке только есть место лишь для чего-то одного? при этом волк съест козу, а коза - капусту, если оставить их без присмотра.
Решение знают все!
Сначала везем козу, потом везем капусту, потом забираем козу назад (чтобы она не съела капусту), потом везем волка, потом наконец везем козу. Пять раз придется переплыть реку,

Так вот, решение Проблемы шифра очень похоже на решение этой задачки!

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

Профит!

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

Примерно так и работает современный интернет.

Понравилось?

Расскажите, кто что ещё знает на эту тему!
Название: Занимательная криптография
Отправлено: BormoGlott от мая 2, 2018, 07:46
Собственно, спецслужбам не так уж важно само содержание послания. Им достаточно знать наличие связи, отправителя и адресата, а также установить непосредственно личности того и другого, чтоб установить за ними слежку и проследить их действия, остальное как говорится, дело техники.
В вашем примере самое главное остаётся без прикрытия, обменявшись сообщениями вы уже спалились. Реально шпионы обмениваются сообщениями, так, чтоб невозможно было установить ни отправителя, ни адресата.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:05
Согласен.

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

Впрочем, я знаю, как решить и вот эту задачу:

Цитата: BormoGlott от мая  2, 2018, 07:46
обменявшись сообщениями вы уже спалились. Реально шпионы обмениваются сообщениями, так, чтоб невозможно было установить ни отправителя, ни адресата.
Как обмениваться сообщениями так, чтобы не было возможности установить ни отправителя, ни адресата.

Я придумал, как.
Но пока не публиковал идею. :)
Из гуманитарных соображений. Чтобы шпионам жизнь мёдом не казалась.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:09
Кстати, вчера я задумался: а сделать так, чтобы переписка оставалась секретной, но в то же время была доступна с любого (нового) устройства?
Очевидно, для этого она должна храниться "на облаке" в зашифрованном виде. Но добиться того, чтобы ключ от шифра был лишь у участников переписки и более ни у кого?

Проснувшись наутро сегодня, я обнаружил у себя голове готовую схему, как можно это сделать.

Как сделать ВСЕ чаты секретными и в то же время переносимыми с одного устройства на другое.

А именно.

Каждый публичный чат хранится на сервере в зашифрованном виде. Чтобы его прочитать, надо быть участником чата - то есть, иметь доступ к ключу, которым он зашифрован. Не знаешь ключа - можешь читать сколько угодно: ничего понять невозможно. К тебе на устройство история чата передается в зашифрованном виде, расшифровывается только у тебя на устройстве.
А где хранится этот ключ? (Особый для каждого чата.)
Ключ хранится на сервере, но тоже в зашифрованном виде, в моем индивидуальном списке - списке ключей ко всем моим чатам и каналам. Этот список зашифрован моим индивидуальным ключом, и он передается мне сразу после того, когда я вхожу в свой аккаунт. Передается тоже в зашифрованном виде, причем никому не известен мой индивидуальный ключ, пользуясь которым можно этот список прочесть.
Хорошо, а где же хранится мой индивидуальный ключ?
А он тоже хранится на сервере, и зашифрован! И передается мне в тот момент, когда я вхожу в свой аккаунт в зашифрованном виде. Чтобы его расшифровать, нужно знать мой пароль, который я должен хранить в тайне, это уже моя забота.

Итак.

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

Профит!

Не знаешь моего пароля - не может узнать ничего! Хотя все хранится на публичном сервере, в общем доступе, и может быть передано хоть в ФСБ, хоть куда. Никто ничего не поймет и не прочитает.
Не думаю, что Дуров глупее меня и не мог придумать той же схемы. А скорее всего, он придумал кое-что и похитрее. Я-то любитель и размышляю обо всем этом часами, а он профессионал - и размышляет годами. Большая разница!
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:20
Ну, и в итоге.

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

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

Вуаля. ФСБ ничего сделать не может. Система взламывается только при помощи терморектального анализа (http://termorect.narod.ru/article.html).
Название: Занимательная криптография
Отправлено: zwh от мая 2, 2018, 08:26
Цитата: Солохин от мая  1, 2018, 20:26
Вот я высылаю тебе письмо в ящичке, который закрыт на ключ. Ключ - это шифр.
Ключа у тебя нет, открыть мое письмо ты не можешь.
Тогда ты закрываешь ящичек на второй ключ, который остается у тебя, и высылаешь его обратно мне. Твой ключ остается у тебя, и открыть ящик теперь я не могу. Собственно, мы оба теперь не могли бы его открыть.
Получив назад свой ящичек, закрытый на два ключа, я отпираю свой ключ и снова высылаю его тебе. Ящик теперь закрыт твоим ключом, и отпереть его никто не может кроме тебя.
Получив мое послание второй раз, ты отпираешь замок и читаешь мое послание.
Т.е. сообщение зашифровано дважды. Но можно ли расшифровать его по первому ключу, оставив зашифрованным по второму? Ну, наверно, как-то можно, это ж не просто так, что, допустим, я загнал файл в RAR-архив (или там ZIP-, ARJ-... без разницы) без сжатия, но с паролем, потом так же загнал в следующий запароленный архив, а теперь хочу распаролить его по первому ключу, не зная второй... На архивах это не получится, а на сообщениях -- если разработать соответствующую технологию -- ХЗ, наверно можно.
Название: Занимательная криптография
Отправлено: BormoGlott от мая 2, 2018, 08:31
Современные террористы используют завербованных, читай зомбированых, исполнителей. Для управления их действиями сложные схемы связи не годятся. Ключи и шифры — это для профи. А чтоб направить "шахида" на цель нужно что-то попроще и общедоступнее, такое, чтоб каждый профан мог иметь или достать. Ничего удобнее мобильного телефона или смартфона пока не изобретено.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:32
Цитата: zwh от мая  2, 2018, 08:26
Но можно ли расшифровать его по первому ключу, оставив зашифрованным по второму

Хороший вопрос! Зрите в корень.

Если для шифровки использовать коммутативные операции (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F) - то  все будет хорошо.

Например, Вы хотите передать мне число А. Вы передаете мне А*В (В - Ваш ключ!). Я передаю Вам обратно А*В*С (С - мой ключ!), Вы делите это на В и получаете А*С, пересылаете мне. Я делю это на С и получаю А. Что и требовалось.

Конечно, умножение - слишком простая операция. Надо похитрее - что угодно, лишь бы результат последовательного применения двух таких операций не зависел от их порядка. Как в умножении А*В*С=А*С*В.
Таким же свойством обладает, например, возведение в степень.

В)С = (АС)В

Если Вы знаете x и y и знаете, что x=f(y) - достаточно ли это чтобы понять, что такое f?
Если речь идет всего лишь об умножении на число, f(x)=a*x, то достаточно.
Но бывают же и более хитрые функции, для определения которых ничего не даст ни знание пары примеров её действия, ни даже даже сотни таких примеров.

Возведение в степень на циклической группе - как раз такая операция. Его последовательное применение выглядит как генератор случайных чисел :)

Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:35
Цитата: BormoGlott от мая  2, 2018, 08:31
Для управления их действиями сложные схемы связи не годятся. Ключи и шифры — это для профи.
Современный гаджет - это умная машинка, которая может лежать в кармане даже самого тупого шахида. И ему не надо ничего понимать в шифрах. Она сама все поймет, зашифрует и расшифрует.

Я не склонен относиться к этому слишком уж легкомысленно.

Бывают такие идеи, которыми можно разрушить этот скорбный мир.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:46
Цитата: Солохин от мая  2, 2018, 08:32Возведение в степень на циклической группе

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

Например: 9*9=81~1
5*5=25~5

При этом возведение в степень числа 7 выглядит так:

71=7
72=7*7=49~9
73=7*7*7=9*7=63~3
74=7*7*7*7=3*7=21~1
75=1*7~7
76=1*7~9
Далее начинается повтор.

Если теперь использовать не десятичное исчисление, а положить в основание простое число N (сколько угодно большое), то цикл возникает лишь после того, как будут перебраны все варианты (а их N штук).

К слову, малая теорема Ферма как раз устанавливает момент, когда начинается повтор: (wiki/ru) Малая_теорема_Ферма (https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BB%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A4%D0%B5%D1%80%D0%BC%D0%B0)
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 08:48
Так вот, современное шифрование - это как раз возведение шифруемого числа в большую степень с отбрасыванием всего кроме последней "цифры" (только основание системы исчисления не десятка, а огромное простое число).

Опознать исходное число при этом просто не представляется возможным. Только перебор всех вариантов.
Название: Занимательная криптография
Отправлено: zwh от мая 2, 2018, 09:21
А само возведение в степень реализовано как ряды Фурье или что подобное или как-то по другому?
Название: Занимательная криптография
Отправлено: Rusiok от мая 2, 2018, 10:09
Цитата: Солохин от мая  1, 2018, 20:26
ящичек, закрытый на два ключа
Я было вначале обрадовался Вашему объяснению. Но потом понял, что аналогия не работает.

Два механических замка ящика-сейфа вообще-то можно открывать в любом порядке: сначала первый, потом второй; или сначала второй, потом первый (не берём частный случай, когда порядок применения ключей задан принудительно).

Но тексты, зашифрованные двумя ключами, невозможно расшифровать в обратном порядке: сначала применить второй ключ , потом первый. Умножение матриц не коммуникативно (http://unotices.com/page-answer.php?id=9501).
Название: Занимательная криптография
Отправлено: Bhudh от мая 2, 2018, 10:35
Цитата: Солохин от мая  2, 2018, 08:46
Если теперь использовать не десятичное исчисление, а положить в основание простое число N (сколько угодно большое), то цикл возникает лишь после того, как будут перебраны все варианты (а их N штук).
А можно договориться брать не последнее число, а число num( n ). Или несколько чисел/цифр. Интересно, будет ли это обратно восстановимо?
Скажем, берём число 17, проводим операции с числами, записанными в 36-ичной системе счисления, берём от результата 2 последних знака.

171 = h
172 = ‹h*h› = 81
173 = ‹h*h*h› = ‹81*h› = 3sh ~ sh
174 = ‹h*h*h*h› = ‹sh*h› = dg1 ~ g1
175 = ‹g1*h› = 7kh ~ kh
176 = ‹kh*h› = 9o1 ~ o1

Ряд [h, 81, sh, g1, kh, o1], как видим, цикличен в отношении последней цифры, но можно брать от уже полученной предпоследнюю: ряд [h, 8, s, g, k, o] уже вполне удовлетворяет случайному.
Название: Занимательная криптография
Отправлено: Bhudh от мая 2, 2018, 10:38
Цитата: Rusiok от мая  2, 2018, 10:09
Умножение матриц не коммуникативно.
Ну и что, что оно не коммунистично? Кто мешает взять вместо матричного умножения любую коммерцизированную операцию?
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 16:14
Цитата: Rusiok от мая  2, 2018, 10:09
Но тексты, зашифрованные двумя ключами, невозможно расшифровать в обратном порядке: сначала применить второй ключ , потом первый.
Я этот вопрос уже рассмотрел выше. Вот ссылка:
Цитата: Солохин от мая  2, 2018, 08:32
Если для шифровки использовать коммутативные операции - то  все будет хорошо.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 16:28
Цитата: Bhudh от мая  2, 2018, 10:35
А можно договориться брать не последнее число, а число num( n ). Или несколько чисел/цифр. Интересно, будет ли это обратно восстановимо?
Вот смотрите!

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

А очень просто: чтобы перевести число в систему исчисления с основанием N, надо просто поделить это число на N и взять остаток от деления. Это и будет последняя цифра.
Затем (отбросив остаток) поделить результат предыдущего деления снова на N и опять взять остаток. Это будет предпоследняя цифра.
И так далее.

То есть, например, он хочет перевести 654 (записанное нулями и единицами) в 10-ю систему.
Он считает в двоичной системе, а я запишу в десятичной, что он делает:
654:10= 65 и в остатке 4
65:10=6 и в остатке 5
6:10=0 и в остатке 6.

Эти-то три числа (4, 5, 6) он и выдает на экран справа налево, изображая их в виде привычных нам арабских загогулин: 6 5 4.

То есть, когда я говорю про "последнюю цифру", на самом деле я имею в виду "остаток от деления на N". Что мы используем именно десятичную систему - это как бы случайность (десять пальцев на руках). Можно брать любое N и делать так же точно.

А если Вы берете несколько (k) цифр - это то же самое, что использовать систему с основанием Nk и брать одну цифру.
Например, для десятичной системы брать две последние цифры - это то же самое, что использовать 100-ичную систему счисления.

В Вашем примере Вы де-факто использовали 36*36=1296-ичную систему. И это не очень хорошая идея, потому что у числа 1296 очень много делителей. Потому ряд так быстро и зацикливается. Лучше всего брать простые числа - то есть, те, которые не делятся ни на что. Тогда цикл получается максимально длинный (длиной N) и результат больше всего похож на генератор случайных чисел.
Название: Занимательная криптография
Отправлено: Alexandra A от мая 2, 2018, 16:29
Цитата: Солохин от мая  2, 2018, 16:14
Цитата: Rusiok от мая  2, 2018, 10:09
Но тексты, зашифрованные двумя ключами, невозможно расшифровать в обратном порядке: сначала применить второй ключ , потом первый.
Я этот вопрос уже рассмотрел выше. Вот ссылка:
Цитата: Солохин от мая  2, 2018, 08:32
Если для шифровки использовать коммутативные операции - то  все будет хорошо.

А как ты не будешь знать ключ твоего собеседника?

Я передаю ему свой зашифрованный текст, он мне в ответ его шифрует ещё одним ключом... При возвращении текста назад у меня уже есть и мой вариант, и его - я могу расшифровать его ключ!

Если я хочу передать слово ИСПАНИЯ, я его зашифровываю как КТРБОКА (прибавляя к каждой букве единицу). Я передаю собеседнику  КТРБОКА. Он перешифровывает это слово как МФТГРМВ (прибавляя к каждой букве двойку). И возвращает мне его назад.

Ну так теперь у меня есть два слова: КТРБОКА зашифровано как МФТГРМВ. Если есть исходный вариант, и есть зашифрованное слово - я не могу расшифровать шифр?
Название: Занимательная криптография
Отправлено: Awwal12 от мая 2, 2018, 16:32
Цитата: Alexandra A от мая  2, 2018, 16:29
Я передаю ему свой зашифрованный текст, он мне в ответ его шифрует ещё одним ключом... При возвращении текста назад у меня уже есть и мой вариант, и его - я могу расшифровать его ключ!
Если текст достаточно длинный - безусловно. :)
Цитата: Alexandra A от мая  2, 2018, 16:29
Если я хочу передать слово ИСПАНИЯ, я его зашифровываю как КТРБОКА (прибавляя к каждой букве единицу). Я передаю собеседнику  КТРБОКА. Он перешифровывает это слово как МФТГРМВ (прибавляя к каждой букве двойку). И возвращает мне его назад.
Сдвиг - изначально никуда не годный метод.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 16:37
Цитата: zwh от мая  2, 2018, 09:21
А само возведение в степень реализовано как ряды Фурье или что подобное или как-то по другому?
Это зависит от конкретного алгоритма шифрования. Там есть и очень экзотические реализации, основанные на эллиптических функциях. Они считаются самыми модными и крутыми.

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

При этом можно использовать тот факт, что квадрат квадрата - это уже четвертая степень.

А, например, 100=2*2*2*2*5*5

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

В двоичной системе исчисления получается ещё симпатичнее. Если хотите, объясню. Хотя это уже совсем мелкие технические детали, но мне не жалко :)
Лишь бы было интересно.
Название: Занимательная криптография
Отправлено: Upliner от мая 2, 2018, 16:44
Цитата: Alexandra A от мая  2, 2018, 16:29А как ты не будешь знать ключ твоего собеседника?

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

Собственно в криптографии осталась только последняя проблема -- это определить, что ключ 2 действительно принадлежит адресату, а не какому-то шпиону, подключившемуся к каналу. Сейчас эту проблему решают с помощью цифровых подписей доверенных третьих лиц, которые являются слабым звеном -- например некие ФСБ могут потребовать от них предоставить им свои ключи и таким образом произвести MITM-атаку на любое соединение, которое имеет право подтверждать данный удостоверяющий центр.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 16:44
Цитата: Alexandra A от мая  2, 2018, 16:29
А как ты не будешь знать ключ твоего собеседника?
Для этого нужно либо использовать очень хитрый метод шифровки при сравнительно простом ключе, либо простой метод шифровки, но при очень сложном ключе.

А предложенный Вами метод шифровки - это очень простой метод при очень простом ключе. Так, конечно, ничего не выйдет!
Название: Занимательная криптография
Отправлено: Awwal12 от мая 2, 2018, 16:45
Цитата: Awwal12 от мая  2, 2018, 16:32
Цитата: Alexandra A от Я передаю ему свой зашифрованный текст, он мне в ответ его шифрует ещё одним ключом... При возвращении текста назад у меня уже есть и мой вариант, и его - я могу расшифровать его ключ!
Если текст достаточно длинный - безусловно. :)
P.S.: Кроме того, это не имеет значения. Задача-то исходная какая? Передать ключ (т.е. некое сообщение) зашифрованным для стороннего наблюдателя образом в отсутствие общего шифра.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 17:00
Цитата: Awwal12 от мая  2, 2018, 16:45
Передать ключ (т.е. некое сообщение) зашифрованным для стороннего наблюдателя образом в отсутствие общего шифра.
:+1:

Именно! Шифра нет, и договариваться о шифре мы должны у всех на глазах.
Как же тогда?!
С первого взгляда эта задача кажется настолько неразрешимой, что когда мне впервые сказали, что решение существует, я просто не поверил.

Как с волком, козой и капустой.
Название: Занимательная криптография
Отправлено: Bhudh от мая 2, 2018, 17:26
Цитата: Awwal12 от мая  2, 2018, 16:32
Сдвиг - изначально никуда не годный метод.
Смотря какой :eat:. Расшифруйте:
Тёемз - ссшлднълюа бэайыш за амгньл рйшхл.
Название: Занимательная криптография
Отправлено: TestamentumTartarum от мая 2, 2018, 18:29
Цитата: Bhudh от мая  2, 2018, 17:26
Цитата: Awwal12 от мая  2, 2018, 16:32
Сдвиг - изначально никуда не годный метод.
Смотря какой :eat:. Расшифруйте:
Тёемз - ссшлднълюа бэайыш за амгньл рйшхл.
> +1+2+3+4+5 - +9+10+11+12+13+14+15+16+17 +19+20+21+22+23+24 +26+27 +29+30 +32+33+34+35+36+37 +39+40+41+42+43 >
Название: Занимательная криптография
Отправлено: Bhudh от мая 2, 2018, 18:39
Вот. А если бы ключ был посложнее? Не N = номер символа, а перемешанный?
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 20:33
Самый мощный из классических шифров - это, конечно, книжный шифр.

Каждое слово заменяется на три числа: номер страницы, номер строки и номер слова в данной строке.

Гениальность шифра в том, что одно и то же слово каждый раз шифруется по-разному. То есть, числа вообще не повторяются. А когда они даже начинают повторяться (если нам вздумалось зашифровать "Войну и мир"), то чем чаще встречается слово, тем больше вариантов его шифровки. Таким образом, исследовать частоты бесполезно.

Зашифрованный текст выглядит как белый шум.

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

Белый шум. Нет другого способа расшифровки кроме как знать, какой файл взят за основу. ВСЁ.

И скорость шифровки-дешифровки максимальная. Минимум операций.
Название: Занимательная криптография
Отправлено: zwh от мая 2, 2018, 21:09
Цитата: Солохин от мая  2, 2018, 20:33
Самый мощный из классических шифров - это, конечно, книжный шифр.

Каждое слово заменяется на три числа: номер страницы, номер строки и номер слова в данной строке.
Достаточно старая моя мысль: а что если зашифровать файл обычным образом, а потом заняться инвертированием бит -- например, каждый 3-й, 5-й, 7-й, 11-й и 31-й? Разве не белошумоподобный потом бит получится в результате?
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 22:06
Цитата: zwh от мая  2, 2018, 21:09
а что если зашифровать файл обычным образом, а потом заняться инвертированием бит -- например, каждый 3-й, 5-й, 7-й, 11-й и 31-й? Разве не белошумоподобный потом бит получится в результате?
Сходу не могу сообразить. Первая мысль: вроде бы должно работать. Вторая мысль: а зачем предварительно "шифровать обычным способом"? А если сразу начать инвертировать?
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 22:16
Ага, сообразил.

Это Вы немного модифицировали XOR-шифрование: http://kriptografea.narod.ru/XOR.html
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 22:23
Главное - что предложенная Вами операция явно коммутативна, а значит, её можно использовать в режиме "Волк, коза и капуста"!

По-моему, отличная идея. Но хорошо бы высказался специалист. Я могу чего-то не учитывать, так как в этой теме я любитель.
Название: Занимательная криптография
Отправлено: Солохин от мая 2, 2018, 22:47
На примере метода zwh можно проиллюстрировать работу протокола "волк, коза и капуста".

У меня есть секретный файл-ключ для шифровки. Я накладываю его на файл-объект, который надо зашифровать. И бит за битом смотрю: если в файле-ключе какой-то бит 1, то в файле-объекте я соответствующий бит заменяю на обратный (инвертирую). Ноль на 1, а 1 на 0. Если же в ключе данный бит 0, тов объектом файле оставляю соответствующий бит как он есть, без изменения.
Зашифрованный таким образом файл высылаю тебе. У тебя есть свой секретный файл-ключ. Ты накладываешь его и инвертируешь так же точно.
Дважды зашифрованный файл высылаешь мне. Я своим ключом инвертирую все обратно и высылаю тебе. Ты тоже инвертируешь все обратно - и читаешь, что я тебе послал.

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

Но! у этого метода есть страшный недостаток: сравнивая полученный мною файл с тем, что я отправляю затем тебе, посредник заметит, какие именно биты я поменял, а какие оставил как есть. И узнает мой секретный файл. А потом возьмет копию первого высланного мной файла и расшифрует её.

Так что это годится только как иллюстрация.
Название: Занимательная криптография
Отправлено: zwh от мая 2, 2018, 23:34
Я-то предлагал инвертировать биты не для волка с козой, а просто для обычной шифровки. Просто сейчас чего-то там накручивают, какие-то максимально большие простые числа ищут, а предложенный мной способ вроде должен работать. Хотя, наверно, я просто чего-то не догоняю, а то давно бы уже им пользовались.
Название: Занимательная криптография
Отправлено: Hellerick от мая 3, 2018, 08:43
Цитата: Солохин от мая  2, 2018, 08:05
Согласен.

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

С чего вы взяли?

До Телеграма потому и докопались, что ФСБ может установить факт обращения к Телеграму, но не имеет возможности определить, кто с кем в нем общался.
Название: Занимательная криптография
Отправлено: Hellerick от мая 3, 2018, 09:01
XOR-шифр не обязательно должен восприниматься наличие ключа и зашифрованного сообщения. Его можно рассматривать как разделение одного текста на два зашифрованных сообщения, причем оба могут быть практически идеальным белым шумом.
Если я знаю одного человека на двух разных ресурсах под разными никами, например, на Лингвофоруме и в ВК, я оставлю на каждом ресурсе по одной 'половине' шифровки.
А можно и стеганографией баловаться. Условно говоря, на одном ресурсе я выкладываю фотографии голых тёть, а на другом битовые карты, наложение которых превращает их в нужные сообщения.
То есть задача сводится к тому, чтобы договориться о шифровке дважды. Оба раза могут быть открытыми. Секретным должен оставаться только факт идентификации пользователей разных ресурсов друг с другом.
Название: Занимательная криптография
Отправлено: Солохин от мая 3, 2018, 11:09
Цитата: zwh от мая  2, 2018, 23:34
Я-то предлагал инвертировать биты не для волка с козой, а просто для обычной шифровки.
Да, я понял Вас сразу. Использовать этот метод для иллюстрации "козы и капусты" - это моя идея, а не Ваша.

Цитата: zwh от мая  2, 2018, 23:34
предложенный мной способ вроде должен работать. Хотя, наверно, я просто чего-то не догоняю, а то давно бы уже им пользовались.
Так ведь и пользуются (чуть-чуть другой вариант). Я дал ссылку выше. Ещё раз:  http://kriptografea.narod.ru/XOR.html
Название: Занимательная криптография
Отправлено: Солохин от мая 3, 2018, 11:10
Цитата: Hellerick от мая  3, 2018, 09:01
разделение одного текста на два зашифрованных сообщения, причем оба могут быть практически идеальным белым шумом.
Красивая идея! Спасибо.
Название: Занимательная криптография
Отправлено: zwh от мая 3, 2018, 12:01
Цитата: Солохин от мая  3, 2018, 11:09
Цитата: zwh от мая  2, 2018, 23:34
Я-то предлагал инвертировать биты не для волка с козой, а просто для обычной шифровки.
Да, я понял Вас сразу. Использовать этот метод для иллюстрации "козы и капусты" - это моя идея, а не Ваша.

Цитата: zwh от мая  2, 2018, 23:34
предложенный мной способ вроде должен работать. Хотя, наверно, я просто чего-то не догоняю, а то давно бы уже им пользовались.
Так ведь и пользуются (чуть-чуть другой вариант). Я дал ссылку выше. Ещё раз:  http://kriptografea.narod.ru/XOR.html
В тексте по ссылке предлагается накладывать эту маску на каждый символ, тогда и в самом деле можно будет применить частотный анализ. Я же предлагал инвертировать никие n-ый, m-ый (и еще какие-нить биты) просто в потоке битов.

Кстати, для защиты от частотного анализа тоже можно воспользоваться кучей простых способов -- например, шифровать букву "а" тремя разными кодами, букву "б" -- двумя, и т.д. или еще случайным образом вставлять  текст пустой символ, или даже два-три.
Название: Занимательная криптография
Отправлено: Upliner от мая 3, 2018, 13:14
Цитата: zwh от мая  3, 2018, 12:01В тексте по ссылке предлагается накладывать эту маску на каждый символ, тогда и в самом деле можно будет применить частотный анализ.
Маска не обязательно должна быть однобайтной, можно генерировать её по сложной формуле. Скажем, сначала sha-512 хеш от пароля, потом sha-512 от пароля+предыдущего хеша и т.д. Тогда маска будет неотличима от белого шума (по крайней мере пока не взломают sha) и результат шифрования соответствнно тоже.
Название: Занимательная криптография
Отправлено: Солохин от мая 3, 2018, 13:49
Цитата: zwh от мая  3, 2018, 12:01
В тексте по ссылке предлагается накладывать эту маску на каждый символ, тогда и в самом деле можно будет применить частотный анализ. Я же предлагал инвертировать никие n-ый, m-ый (и еще какие-нить биты) просто в потоке битов.
Правильно.
Но ещё лучше - накладывать маску сразу на весь файл, как я описал выше. Накладывать один файл на другой. Тогда получится, что каждого символа свой индивидуальный шифр. И разобрать, что там под шифром, нельзя в принципе. Если не знаешь файла-маски.

А Hellerick выше высказал ещё более мощную идею: что сам файл-маску тоже можно передавать по открытому каналу!

Более того:
Цитата: Hellerick от мая  3, 2018, 09:01
XOR-шифр не обязательно должен восприниматься наличие ключа и зашифрованного сообщения. Его можно рассматривать как разделение одного текста на два зашифрованных сообщения, причем оба могут быть практически идеальным белым шумом.

А можно в качестве файла маски использовать что-то общедоступное, чтобы  спецслужба не догадалась связать один файл с другим:
Цитата: Hellerick от мая  3, 2018, 09:01на одном ресурсе я выкладываю фотографии голых тёть, а на другом битовые карты, наложение которых превращает их в нужные сообщения.
"Голые тёти" играют роль файла-маски. Поди догадайся, что они выложены именно для этого.

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

Недостатком этого метода ("стеганографии") является необходимость как-то передать ссылку на "голую тётю". Если эту ссылку перехватят - файл будет тут же дешифрован.

Но сама по себе идея - мощная.
Название: Занимательная криптография
Отправлено: Hellerick от мая 6, 2018, 20:26
Цитата: Солохин от мая  1, 2018, 20:26
Опишу его на таком примере.
Вот я высылаю тебе письмо в ящичке, который закрыт на ключ. Ключ - это шифр.
Ключа у тебя нет, открыть мое письмо ты не можешь.
Тогда ты закрываешь ящичек на второй ключ, который остается у тебя, и высылаешь его обратно мне. Твой ключ остается у тебя, и открыть ящик теперь я не могу. Собственно, мы оба теперь не могли бы его открыть.
Получив назад свой ящичек, закрытый на два ключа, я отпираю свой ключ и снова высылаю его тебе. Ящик теперь закрыт твоим ключом, и отпереть его никто не может кроме тебя.
Получив мое послание второй раз, ты отпираешь замок и читаешь мое послание.

Обнаружил это дело в 727-й серии "Детектива Конана". Там так фрукты переправляли:



(Надеюсь, копирасты меня не повесят за публикацию этого фрагмента.)
Название: Занимательная криптография
Отправлено: Солохин от мая 6, 2018, 22:44
Цитата: Hellerick от мая  6, 2018, 20:26
Обнаружил это дело в 727-й серии "Детектива Конана"
Спасибо!

А я тем временем разовью тему, изложив суть другой столь же мощной (а на самом деле даже более мощной) идеи.

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

Делаем так.
Мы у всех на глазах договариваемся о некотором числе A, которое ляжет в основу нашего шифрования. Это число будет всем известным.

Далее.

Я придумываю секретную функцию F. И высылаю тебе у всех на глазах только результат действия этой функции F(A), оставляя саму функцию в секрете.
Ты придумываешь секретную функцию G. И высылаешь мне у всех на глазах только результат действия этой функции G(A), оставляя саму функцию в секрете.

После этого я применяю свою секретную функцию к высланному тобой результату, а ты применяешь свою функцию к моему результату.
У тебя получается G(F(A)), а у меня F(G(A)).

А что, если подобрать наши функции таким образом, чтобы G(F(A)) всегда совпадало с F(G(A))?


Например, мы можем просто возводить в степень наше число A. Это не будет секретом. Секретом будет - в какую именно степень!

Итак.

Я беру произвольное секретное число F, вычисляю AF и высылаю результат тебе. Число F секретное, но AF секретом теперь не является.
Ты берешь произвольное секретное число G, вычисляешь  AG и высылаешь мне. Число G секретное, но AG тоже секретом не является.

Далее мы делаем вот что. Я возвожу полученное от тебя число в свою секретную степень, а ты возводишь полученное от меня число в свою секретную степень.

Но! барабанная дробь (AF)G=(AG)F !!!
Следовательно, мы оба получили одно и то же число.
Моё секретное число осталось известным только мне. Твоё - только тебе.
Однако число (AF)G=(AG)F теперь известно нам обоим! Но кроме нас неизвестно никому. И потому может работать как общий ключ для шифра, неизвестный никому кроме нас.

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

Это фокус-покус именуется (wiki/ru) Протокол_Диффи_—_Хеллмана (https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0) и он используется, когда мы обмениваемся информацией с сайтами, в адрес которых добавлена буквочка s  (https://...) - например, в приведенном выше адресе Википедии.

Такова суть метода.

И чтобы до конца понять суть метода, осталось разрешить лишь одно недоумение.

Если всем известно наше число A и всем известно AF, то что может помешать вычислить моё F при помощи банального логарифма? Ничто не помешает!

И потому наши функции должны быть чуть-чуть хитрее устроены.

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

(Замечу, что когда при всех расчетах мы берем только остаток, то какие бы большие числа мы ни брали, результат расчета не может быть больше чем B.)
Название: Занимательная криптография
Отправлено: Солохин от мая 6, 2018, 22:51
В чём суть, в чём фишка идеи Диффи и Хеллмана?

Он очень мудро переформулируют задачу.
Все люди всю жизнь думали: как передать собеседнику секретный ключ?

А Диффи и Хеллмана осенило: а зачем его передавать, если его можно просто-напросто получить в результате совместной работы?! Если ключ рождается в процессе работы, то и обладают этим ключом лишь те, кто в этой работе участвовали. Случайные свидетели обмена информацией, необходимого для этой работы, остаются в неведении о её результатах.
Название: Занимательная криптография
Отправлено: Солохин от мая 6, 2018, 23:01
А теперь увлекательная задача для участников.

ФСБ при желании с легкостью взламывает протокол https! Причем для этого используется отнюдь не грубый терморектальный криптоанализ (https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%BD%D0%B4%D0%B8%D1%82%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7), но глубоко деликатный прием, при применении которого оба участника общения остаются в полном неведении о том, что кто-то третий молча участвовал в их общении.

Вопрос: что это за метод и как он работает?
Название: Занимательная криптография
Отправлено: Upliner от мая 6, 2018, 23:57
Цитата: Солохин от мая  6, 2018, 23:01Вопрос: что это за метод и как он работает?
Считать ли обязательство сертификационных центров предоставлять ключи для изготовления фальшивых сертификатов терморектальным криптоанализом? :???
Если ваш метод работает без замен и краж сертификатов -- то я наконец-то узнаю тут нечто новое.
Название: Занимательная криптография
Отправлено: Солохин от мая 7, 2018, 00:45
Цитата: Upliner от мая  6, 2018, 23:57
Если ваш метод работает без замен и краж сертификатов -- то я наконец-то узнаю тут нечто новое.
Судя по Вашим ответам в этой теме, едва ли мне удастся рассказать Вам здесь что-то новое. Похоже, Вы разбираетесь в этой теме профессионально. По крайней мере уж точно лучше меня.
Но вдруг :)
Название: Занимательная криптография
Отправлено: Upliner от мая 7, 2018, 12:53
Ну тогда всё элементарно.

Есть клиент A и сервер B, а между ними на канале вклинился C.
А посылает B число EF, C его перехватиывает и подменяет на EU;
потом B отвечает A числом EG, C подменяет его на EV.

Получается, что A и B общаются не между собой, а оба они общаются с C, причём A уверен, что C -- это B, а B уверен, что C -- это A.
Соединение A с C шифруется ключом (EF)V, а соединение C с B -- ключом (EG)U.
C знает оба этих ключа и поэтому может полностью расшифровать переписку.
Обычно цель стоит только в прослушивании, а не во вмешательстве, поэтому C честно передаёт B сообщения, полученные от A, а A соотвественно передаются сообщения, полученные от B.

Но если этим делом будет заниматься не ФСБ, а какой-нибудь рядовой провайдер, то у него возникнет несколько проблем, одна из которых -- это то, что число EG обычно заверено (об этом отдельная тема) сторонним сертификационным центром, и если его заменить на другое, то браузер клиента покажет большое красное предупреждение о том, что сайт не безопасен. Некоторые наверное уже видели такое.

Но если ФСБ подконтролен хотя бы один такой центр, имеющий право подписывать все домены, то он может сделать так, что число EV также будет заверенным, и клиент ничего не заподозрит.
Название: Занимательная криптография
Отправлено: Солохин от мая 7, 2018, 13:52
Всё правильно!

:)

(Не в нравственном плане, конечно, а чисто в техническом.)

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

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

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

Как этим воспользоваться, чтобы проверить, не сидит ли между ними посредник?
Ну, Telegram напрмер отображает хеш используемого ключа шифрования и друзья могут в качестве минимальной безопасности просто перекинуть их друг другу в чате. Но у ФСБая программа вполне может отлавливать и это, и увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой. Можно усложнить им задачу, произвольно вставляя пробелы в хеш, произвольно обрезав, заменить одну из букв на слово, начинающееся с этой буквы, либо вообще применить к хешу преобразование, известное только двум друзьям. Можно активировать голосовую связь и сказать несколько цифр хеша голосом. Если хеши не совпадают -- значит посредник есть.
Название: Занимательная криптография
Отправлено: Bhudh от мая 7, 2018, 20:40
Цитата: Upliner от мая  7, 2018, 15:30увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой
Чтобы подменить хэш — надо знать, что это именно хэш.
Название: Занимательная криптография
Отправлено: Upliner от мая 7, 2018, 21:29
Цитата: Bhudh от мая  7, 2018, 20:40
Цитата: Upliner от мая  7, 2018, 15:30увидев в расшифрованном тексте этот хеш -- автоматически подменять его на свой
Чтобы подменить хэш — надо знать, что это именно хэш.
Ну так ФСБ-шной проге известно значение этого хеша, а поиск по подстроке известного значения, даже с пробелами и прочими подставными символами -- задача простая. Но конечно если написать "возьми ключ, добавь абвгд, потом возьми md5, потом sha1, потом crc32 у меня получилось ХХ ХХ ХХ ХХ" -- то автоматический алгоритм замены тут срежется.
В общем, основной недостаток тут в том, что эта проверка работает только в неформализованных протоколах, где автоматический анализ сообщений затруднён.
Название: Занимательная криптография
Отправлено: Солохин от мая 8, 2018, 11:10
Цитата: Upliner от мая  7, 2018, 21:29ФСБ-шной проге известно значение этого хеша
Вот именно! И это облегчает им задачу.
А значит, нам лучше передавать не значение хеша ключа (который проге уже известен), а нечто такое, что ей неизвестно.
Что именно? Вариантов у нас масса.
Ведь она вынуждена перекодировать заново любой код, который мы посылаем друг другу. Я высылаю один код (с одним ключом), а ты получаешь другой код (с другим ключом). При расшифровке они становятся неотличимы. Но ДО расшифровки-то они разные! Значит, нам достаточно сравнить один или несколько байт высылаемого кода с тем же (теми же) байтами получаемого кода. Фсб-шная программа знает и то, и другое. Но! Она не знает, какой именно байт или байты я выберу для сравнения.

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

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

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

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

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

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

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

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

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

Цитата: Upliner от мая 10, 2018, 18:37
Выход один -- каждым шпионам выдумывать свой алгоритм и держать его в секрете.
Нет, не нужно. Предложенная мною схема работает даже в том случае, если она общеизвестна.
Название: Занимательная криптография
Отправлено: Upliner от мая 11, 2018, 00:33
Цитата: Солохин от мая 10, 2018, 22:23Не пересылать хеш? подменить его? Ну, тогда будет ясно, что на проводе сидит "дятел".
Так и не понял, каким образом это станет ясно. Вот скажем, A посылает B хеш, C его перехватывает, B ничего не пересылает, а А посылает "ОК, я получил хеш, давай сам шифротекст". А пересылает шифротекст, C перешифровывает и хеш, и шифротекст, и передаёт B новый хеш. B отвечает: "я получил хеш, давай шифротекст" новый шифротекст с правильными хешами пересылается и никто ничего не может вычислить.
Название: Занимательная криптография
Отправлено: Awwal12 от мая 11, 2018, 08:45
Факт перехвата на линии в любом случае можно с хорошей вероятностью определить по задержкам передачи.
Название: Занимательная криптография
Отправлено: Upliner от мая 11, 2018, 09:42
Задержки по разным причинам бывают. Но вообще да, если ввести в протокол специальные задержки, то можно с довольно высокой вероятностью определять слежку.
Название: Занимательная криптография
Отправлено: Солохин от мая 12, 2018, 21:12
Цитата: Upliner от мая 11, 2018, 00:33
Вот скажем, A посылает B хеш, C его перехватывает, B ничего не пересылает, а А посылает "ОК, я получил хеш, давай сам шифротекст". А пересылает шифротекст, C перешифровывает и хеш, и шифротекст, и передаёт B новый хеш. B отвечает: "я получил хеш, давай шифротекст" новый шифротекст с правильными хешами пересылается и никто ничего не может вычислить.

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

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

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

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

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

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

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

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

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


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

Очень надеюсь на мощную ответную критику. Если Вы найдете способ взломать и её, я буду просто в восторге!
Название: Занимательная криптография
Отправлено: Upliner от мая 12, 2018, 21:49
Цитата: Солохин от мая 12, 2018, 21:12Но бороться с этим методом взлома нетрудно.
А именно.
Каждый раз надо высылать друг другу не только последнее (текущее) сообщение, но и всю историю переписки, сопровождая её хешем. И алгоритм должен автоматически сравнивать эту историю с зафиксированной в памяти компьютера. Таким образом, фиктивное сообщение, при помощи которого взламывается логическая одновременность, будет сразу выявлено следующем же шаге.
Не уверен, что до конца понял вашу идею, но что мешает человеку посередине подменять всю историю переписки, вставляя в неё свои фиктивные сообщения вместо оригинальных?
Как правило общение происходит в форме запрос-ответ -- т.е. любая из сторон не знает, что отвечать, пока не дождётся ответа с противоположной стороны, поэтому сообщения, посылаемые "одновременно" смысловой нагрузки не несут, их без проблем можно подменить.
Название: Занимательная криптография
Отправлено: yurifromspb от мая 12, 2018, 22:02
Это уже матрица какая-то. Каждый, с кем бы он, по его мнению, ни общался, по факту общается с одним и тем же "большим братом".
Название: Занимательная криптография
Отправлено: yurifromspb от мая 12, 2018, 22:06
В принципе, если "больших братьев" хотя бы два, можно параллельно общаться через обоих.
Название: Занимательная криптография
Отправлено: Солохин от мая 12, 2018, 22:22
Цитата: yurifromspb от мая 12, 2018, 22:06
если "больших братьев" хотя бы два, можно параллельно общаться через обоих.
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

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

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

Тогда выходит, что наша задача упирается в (wiki/ru) Тест_Тьюринга (https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0). Сможет ли ФСБ-шный алгоритм убедительно имитировать живого собеседника?

Но замечу: задачу о проверке канала связи мы решили!
То есть, теперь мы всегда будет знать, что человека-посередине между нами нет. Он либо целиком подменяет собеседника, либо ты действительно беседуешь с тем,  с кем хотел, без свидетелей.
Название: Занимательная криптография
Отправлено: Upliner от мая 12, 2018, 22:31
Цитата: Солохин от мая 12, 2018, 22:25Тогда выходит, что наша задача упирается в (wiki/ru) Тест_Тьюринга (https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0). Сможет ли ФСБ-шный алгоритм убедительно имитировать живого собеседника?
В случае чата -- да, задача упирается в это. Чат, в котором оба собеседника должны что-либо написать, прежде чем увидят сообщения друг друга -- конечно не очень удобен, но да, для взлома такого чата ФСБшникам придётся посадить человека, который будет убедительно имитировать общение для обеих сторон. А вот в случае https-сервера живого общения двух людей не предполагается, поэтому там никаких проблем быть не должно.
Название: Занимательная криптография
Отправлено: yurifromspb от мая 12, 2018, 22:41
Цитата: Солохин от мая 12, 2018, 22:22
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

Это тоже логический ход для решения нашей проблемы. Хотя пока неясно, как его использовать.
Да просто дублировать все сообщения, например.
Название: Занимательная криптография
Отправлено: yurifromspb от мая 12, 2018, 22:49
Цитата: yurifromspb от мая 12, 2018, 22:41
Цитата: Солохин от мая 12, 2018, 22:22
Кстати, если их два (два канала связи), то через одного из них можно передать информацию, которая обличит другого.

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

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

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

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

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

Как ни крути, а всё развивается именно в этом направлении.
Название: Занимательная криптография
Отправлено: yurifromspb от мая 13, 2018, 16:12
Против такого никакая стратегия не поможет. Нет общения без посредника, нет и решения предложенной задачи.
Тут остаётся только такая надежда: "нет никого на земле, подобного ему, сотворенного на смех ангелам Моим, всё высокое видит, сам же царь всем жителям вод". Но я не ангел и мне что-то не очень смешно.
Название: Занимательная криптография
Отправлено: Bhudh от мая 13, 2018, 19:02
Цитата: yurifromspb от мая 13, 2018, 16:12сотворенного на смех ангелам Моим
Ну хоть не курам.
Название: Занимательная криптография
Отправлено: zwh от мая 13, 2018, 19:14
Цитата: Bhudh от мая 13, 2018, 19:02
Цитата: yurifromspb от мая 13, 2018, 16:12сотворенного на смех ангелам Моим
Ну хоть не курам.
Как там у классика? -- "А набухавшись -- головой в Куру"...
Название: Занимательная криптография
Отправлено: yurifromspb от мая 13, 2018, 19:25
Цитата: Bhudh от мая 13, 2018, 19:02
Цитата: yurifromspb от мая 13, 2018, 16:12сотворенного на смех ангелам Моим
Ну хоть не курам.
Как у кур с чувством юмора?
Название: Занимательная криптография
Отправлено: zwh от мая 13, 2018, 19:48
Цитата: yurifromspb от мая 13, 2018, 19:25
Цитата: Bhudh от мая 13, 2018, 19:02
Цитата: yurifromspb от мая 13, 2018, 16:12сотворенного на смех ангелам Моим
Ну хоть не курам.
Как у кур с чувством юмора?
Смеяться можно и без чувства юмора -- например, от щекотки.
Название: Занимательная криптография
Отправлено: Солохин от мая 17, 2018, 12:58
Дорогой Upliner!

Пообщавшись с Вами в этой теме, я проникся глубоким уважением и доверием к Вам.

Прошу Вас ответить: можно ли с помощью все того же приёма (wiki/ru) Атака_посредника (https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0) (MITM) влезть в протокол связи с асимметричным ключом?

Лично я не вижу, как. Но может быть, это просто потому, что я пока не усвоил до конца суть этого всесильного метода?
Название: Занимательная криптография
Отправлено: yurifromspb от мая 17, 2018, 13:19
Цитата: Солохин от мая 17, 2018, 12:58
можно ли с помощью все того же приёма (wiki/ru) Атака_посредника (https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0) (MITM) влезть в протокол связи с асимметричным ключом?
Так ведь так же, не?
А пересылает Б открытый ключ ОА, ну и хорошо, оставляем ОА себе и пересылаем Б свой открытый ключ ХОА, и наоборот. Б шифрует для А нашим ключом ХОА, читаем, перешифровываем ключём ОА, и наоборот. Если без посредника А и Б не могут общаться, то куда они денутся.
Название: Занимательная криптография
Отправлено: Upliner от мая 17, 2018, 13:31
Цитата: Солохин от мая 17, 2018, 12:58
Дорогой Upliner!

Пообщавшись с Вами в этой теме, я проникся глубоким уважением и доверием к Вам.
Похвально. Я таковым к Вам уже давно проникся...
Цитата: Солохин от мая 17, 2018, 12:58
Прошу Вас ответить: можно ли с помощью все того же приёма (wiki/ru) Атака_посредника (https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0) (MITM) влезть в протокол связи с асимметричным ключом?

Лично я не вижу, как. Но может быть, это просто потому, что я пока не усвоил до конца суть этого всесильного метода?
Ситуация по сути не отличается от ситуации с закрытым ключом.
А посылает B свой открытый ключ. С помощью этого ключа B может зашифровать данные, но не расшифровать их. Посредник просто заменяет этот открытый ключ на свой, B шифрует им свои данные, и посылает назад, они попадают к посреднику, посредник их расшифровывает своим ключом, а потом шифрует открытым ключом А и передаёт к А. Это была передача от B к A, ситуация передачи от A к B симметрична.
Отличие от протокола с симметричным ключом -- это то, что непосредственно для шифрования и расшифрования данных вместо одного ключа используются четыре (два открытых и два закрытых). Производительность такой системы ниже, поэтому системы с симметричным ключом более популярны.
Но по сути протокол Диффи-Хеллмана, по которому генерируется симметричный ключ -- это тоже передача сообщения с ассиметричным ключом, где закрытыми ключами служат U и V, а открытыми -- EU и EV. И так как он взламывается с помощью MITM, то и протокол с непосредственным шифрованием ассиметричными ключами взламывается точно также.
Если есть возможность обменяться открытыми ключами гарантированно без посредников -- тогда любая MITM-атака сразу же будет раскрыта.

ЗЫ: меня тут уже опередили, пока всё подробно расписывал...
Название: Занимательная криптография
Отправлено: Солохин от мая 17, 2018, 13:36
Цитата: Upliner от мая 17, 2018, 13:31Посредник просто заменяет открытый ключ на свой
Ясно... :(

Спасибо :)
Название: Занимательная криптография
Отправлено: Солохин от мая 17, 2018, 13:38
Цитата: Upliner от мая 17, 2018, 13:31возможность обменяться открытыми ключами гарантированно без посредников
Цитата: yurifromspb от мая 17, 2018, 13:19Если без посредника А и Б не могут общаться, то куда они денутся.

Да, похоже, что как ни крути, а в этом суть дела. К этому всё и сводится...  :-\

Название: Занимательная криптография
Отправлено: yurifromspb от мая 19, 2018, 16:30
Цитата: Солохин от мая 17, 2018, 13:38
Да, похоже, что как ни крути, а в этом суть дела. К этому всё и сводится...  :-\
В принципе, если посредник всё-таки обязан что-то корректно передавать, а не просто развлекать "мозги в колбе" иллюзией общения, можно попробовать придумать какую-то "семантическую атаку". Не факт, что получится. Всё-таки для "семантической атаки" нужно иметь что-то "своё на душе" (да ещё и общее для нескольких человек), а это опять же упирается в общение без посредника.
Нет, вы всё-таки задали задачку по вытаскиванию самого себя за волосы из болота.  :donno:
Название: Занимательная криптография
Отправлено: Валентин Н от мая 19, 2018, 16:43
Надо юзать свой секретный язык, где слова имеют другое значение, тогда фальшивый собеседник проколется, или действительно говорить на конланге или редком языке, говорят, в войну у амеров часто сообщения передавались на индейских языках.
Название: Занимательная криптография
Отправлено: Hellerick от мая 19, 2018, 16:57
Ну да. Можно даже "шифр с открытым ключом" сделать.
Пусть грамматика будет открыто опубликована, но такая занудная и муторная, что ни один ЦРУшник ее не осилит.
Название: Занимательная криптография
Отправлено: Jumis от мая 19, 2018, 18:13
Цитата: Валентин Н от мая 19, 2018, 16:43
Надо юзать свой секретный язык, где слова имеют другое значение, тогда фальшивый собеседник проколется, или действительно говорить на конланге или редком языке, говорят, в войну у амеров часто сообщения передавались на индейских языках.

Вот, да. Все предыдущие 3 страницы имеют некислый (троекратный!) изъян, на который никто не обратил внимания. А именно: необходимость электроэнергии + относительно быстродейственный гаджет + устойчивый канал связи. Если госкомпозор, чекисты и их заказчик возьмутся за вас всерьез, свои компы вы сможете использовать разве что как ящики для помидорной рассады.

Лечится в джва этапа: запиливайте свой навахо и используйте аналоговый канал связи. Естессна, уровень "влажных сетей" вашего корреспондента (как и ваш собственный) должен быть весьма и весьма проскиллован. Но вы ж не с козой общаться приплыли, а ваш корреспондент не держит вас за капусту?

Ну и ТРКА никто не отменял: только в данном случае применять его будут не к цифровой подписи посредника, а непосредственно к вашим филейным частям. Так что просто не палитесь...

Аминь.
Название: Занимательная криптография
Отправлено: Солохин от мая 19, 2018, 20:32
Михаил Каин (https://vk.com/mixailkain) доводит эту идею до логического завершения. Цитирую:

...от тотальной слежки нужно защищаться не криптографией, а герменевтикой.

Я думаю, что, чем выше, так сказать, стиль, тем труднее ИИ разобраться в тексте. Это было не так, когда литературные и профессиональные электронные тексты (то есть тренировочный материал для нейросетей) составляли заметную часть всего доступного массива. К нынешнему моменту вал мусорного бытового трёпа смыл всё. Соответсвенно ИИ именно там есть чем поживиться и оттачивать точность "погружения в контекст". Поэтому, уводя контекст и стиль в область ослабленных ассоциативных связей и малого количества тренировочного материала, можно сбить ИИ с толку (пока).

Думаю, что сложнее всего машине будет разобраться с поэтическим текстом, поэтому, возможно, в будущем увидим патрициев, общающихся стихами, как в опере (кстати, можно петь, т.к. эмоциональная составляющая добавит ещё одно измерение). Готовая поэзия не пойдёт - на неё уже имеется масса критического материала. Так что придётся учиться импровизировать на ходу.

(Стихотворение для примера я не цитирую, чтобы не давать АНБ материал для обучения. ;) )

Литературные игры (или их разработка, игра второго порядка ;) ) хорошо послужат созданию сообществ, но не ведут к достижению заявленной ими цели. Например, веганы не "спасают животных". Игра в сокрытие смыслов от ИИ в первую очередь скрывает смыслы от непосвященных в игру. ;) Но катастрофы здесь нет.

В 1950х-1970х годах гремела "космическая эпоха". Космофантастика стала частью поп-культуры ("Стар Трек"), и казалось, что уже скоро человек начнет заселять дальние планеты. Но мечты о "людном" космосе остались мечтами — незачем человеку жить на ледяных камнях. Наследием эпохи остались спутниковая связь и дешевые межконтинентальные полеты, что позволило поп-культуре переключиться на "киберпанк". Мне кажется, что "сильного ИИ" (и, тем более, "сингулярности") в ближайшие десятилетия, скорее, тоже не будет по схожим причинам — не понадобится.

Я упоминал несколько раз, что сегодняшний бум "ИИ" имеет два корня, проросших в 2000е: аппаратные архитектуры для быстрого перемножения огромных матриц и небольшие мобильные устройства для сбора с населения больших объемов данных для обучения. Чтобы бум прекратился, достаточно зачахнуть одному их них. Вряд ли это будет второй — как я уже писал (https://t.me/mixail_kain/580), потерявшим работу из-за "ИИ" будут платить пособие за данные. Проблемы есть у первого.

Полупроводниковые компьютеры сейчас повторяют судьбу ламповых: ими приходится наполнять целые здания, они потребляют много энергии и выделяют много тепла. А с достижением предела размера вентиля на кристалле придется строить еще больше еще более крупных датацентров. Потребление энергии — первейшая проблема в компьютерной индустрии. Не потому что "жалко деревья", а потому что она дорого стоит (у Гугла миллионы серверов), или её очень мало (в смартфонах маленькая батарейка). Разработки "нейропроцессоров" мотивированы исключительно энергосбережением — специализированный чип потребляет значительно меньше энергии (и, соответственно, выделяет меньше тепла) в пересчете на операцию.

Выделение тепла полупроводниками мешает еще и созданию "трехмерных" процессоров — стопок кристаллов в одном корпусе. Если сделать слишком толстый кремниевый бутерброд, он быстро сгорит. Третье измерение кремния сильно ограничено — в лучшем случае, десятки слоев (против десятков тысяч вентилей, считая в ширину и глубину). Коммуникации между слоями получаются медленные, хотя уже и в пределах одного кристалла не очень.

Создание аппаратуры, реализующей нейросеть, сравнимую по размеру и связности с мозгом собаки (даже не человека!), на современных технологиях, наверное, возможно. Только её габариты, энергопотребление и скорость работы не позволят использовать её для практических задач. Замену полупроводникам ищут (нанотрубки, фотоника), но до промышленных образцов еще десятилетия. Времени точно хватит на очередную "зиму ИИ". ;)
Название: Занимательная криптография
Отправлено: Солохин от мая 19, 2018, 20:39
Цитата: Upliner от мая  7, 2018, 15:30
Telegram напрмер отображает хеш используемого ключа шифрования
Кстати, а где именно? Я что-то не нахожу такой опции в Телеграме. Что не так?
Название: Занимательная криптография
Отправлено: Upliner от мая 19, 2018, 21:26
Цитата: Солохин от мая 19, 2018, 20:39
Кстати, а где именно? Я что-то не нахожу такой опции в Телеграме. Что не так?
Не во всех чатах, а только в секретных. В мобильной версии нужно нажать на верхнюю строчку с именем собеседника, и там в меню будет "ключ шифрования". Отображается картинкой и цифрами.