Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Модераторы: Itsme, AlexanderK, Ellis Gloster, Pavel, Антон Донецкий, Дмитрий Алексеевич

Ответить
Аватара пользователя
Дмитрий Алексеевич
Хозяин
Сообщения: 459
Местоположение: Бангкок, Таиланд
Благодарил: 63 раз
Поблагодарили: 57 раз
Контактная информация:

Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Дмитрий Алексеевич »

"Дешифровке не поддаётся" - доклад одного КГБшника другому из кинофильма "ТАСС уполномчен заявить". Припоминаете? Это оно самое. То, чем пользуются профессионалы. Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов (оно же "OTP" или "One-time-pad encryption" по-английски). Всё, что с этим связано, обсуждаем здесь. Способы, готовые программы. Опыт использования.
Parasite
Участник
Сообщения: 58
Благодарил: 2 раз
Поблагодарили: 19 раз

Re: Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Parasite »

Дмитрий Алексеевич писал(а): Июль 15, 2022, 10:12:17 Теоретически недешифруемые способы шифровки сообщений.
Таковых не существует.
Существуют лишь методы, время работы (и, соответственно - актуальность результата) которых Вас не устроит, скажем так.
Аватара пользователя
Дмитрий Алексеевич
Хозяин
Сообщения: 459
Местоположение: Бангкок, Таиланд
Благодарил: 63 раз
Поблагодарили: 57 раз
Контактная информация:

Re: Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Дмитрий Алексеевич »

А вот это вы зря - не сбивайте с толку наивную аудиторию - такие методы к счастью ЕСТЬ и дешифровать такое можно только разве что обратившись к злым духам или к духам умерших (ну, или при помощи терморектального криптоанализа)
Parasite
Участник
Сообщения: 58
Благодарил: 2 раз
Поблагодарили: 19 раз

Re: Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Parasite »

Дмитрий Алексеевич писал(а): Июль 19, 2022, 18:39:22 А вот это вы зря - не сбивайте с толку наивную аудиторию - такие методы к счастью ЕСТЬ и дешифровать такое можно только разве что обратившись к злым духам или к духам умерших (ну, или при помощи терморектального криптоанализа)
Да я вообще-то на этой теме собаку съел, если честно. Причем именно что своими ручками и практикой - а не только теорией и художественными фильмами типа "ТАСС уполномочен заявить". Осмелюсь указать, что задача криптографии - это не "сделать ВООБЩЕ недешифруемо" (это недостижимо), а "сделать недешифруемо НА ВРЕМЕННОМ ПРОМЕЖУТКЕ АКТУАЛЬНОСТИ информации" (это как раз можно).

Предлагаю для начала сугубо тезисно:

1. Любой (абсолютно любой) алгоритм и шифросообщение, которое вообще можно раскодировать (то есть - не белый шум, а реверсируемый блок данных) безусловно возможно взломать методом прямого перебора всех возможных вариантов (т.н. "brute-force attack"). Да, это чаще всего займёт просто дикое количество времени (как я и указал в первом сообщении выше) - но Вы озвучили не за "можно, но долго", а "теоретически недешифруемо". Теоретически-то - как раз дешифруемо.

2. Если не устраивает brute-force - то нужен либо ключ дешифровки, либо уязвимость алгоритма.
Отсутствие ключа на стороне взломщика нивелируется "узнаванием и повторением" действий по созданию Вашего ключа (ведь У ВАС же он есть - значит, ПЕРЕсоздать его теоретически тоже можно, просто повторяя саму процедуру создания), а уязвимости алгоритмов и так находят постоянно. И если Вы считаете, что Великий Рандомий спасёт при создании якобы-уникального ключа, который повторить никак-никак невозможно - то смотрите ниже в конце поста.

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

Пока что хватит.

PS: то, что в прошлом веке "дешифровке не поддавалось" на ТОМ оборудовании и с позиции ТЕХ технологий - сегодня чаще всего раскодируется даже не в один клик, а просто по желанию. Ибо с тех времён нашли просто кучу уязвимостей в самих алгоритмах, когда-то считавшихся криптостойкими + вычислительные мощности выросли на много порядков.

Что же касается дня сегодняшнего - то современная нейросетка способна предсказать даже генератор случайных чисел той или иной конкретной реализации (а на базе ГСЧ собраны чуть менее, чем все криптоалгоритмы). То есть, уже в некотором виде можно предсказать, КАКОЙ у Вас будет рандомный приватный ключ, просто зная начальные условия кодирования.

Да, и даже "алгоритмы с потерями" (например, хеш-функции, которые как бы нельзя "провернуть назад в исходное сообщение") уже ТОЖЕ таки можно (причём не так уж и долго - порядка нескольких минут на штуку, см. "rainbow tables").
Аватара пользователя
Дмитрий Алексеевич
Хозяин
Сообщения: 459
Местоположение: Бангкок, Таиланд
Благодарил: 63 раз
Поблагодарили: 57 раз
Контактная информация:

Re: Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Дмитрий Алексеевич »

Вот в том-то и проблема, что у теоретически недешифруемых сообщений НЕЛЬЗЯ подобрать ключ, т.к. он заведомо равен (или длиннее) зашифрованного сообщения, следовательно, вариантов "расшифровки" (метдом взлома) зашированного таким образом сообщения может быть сколь угодно много (в том числе и имеющего смысл текста), только вот нельзя быть уверенным, что это тот самый текст, который был зашифрован. То есть зашифрован один текст, а при расшировке получится другой текст. И да, тоже со смыслом. И таких вот "разных текстов" может быть сколь угодно много. И мощность компьютера тут совершенно не при чём. Так как речь идёт именно о теоретической недешифруемости.
Parasite
Участник
Сообщения: 58
Благодарил: 2 раз
Поблагодарили: 19 раз

Re: Теоретически недешифруемые способы шифровки сообщений. Метод одноразовых блокнотов ("OTP" по-английски).

Сообщение Parasite »

Дмитрий Алексеевич писал(а): Июль 21, 2022, 16:46:17 Вот в том-то и проблема, что у теоретически недешифруемых сообщений НЕЛЬЗЯ подобрать ключ
1. Нет никаких "теоретически недешифруемых сообщений".
2. Ключ (или набор оных) МОЖНО подобрать хотя бы потому, что он ВСЕГДА конечного размера (ибо бесконечность чего бы то ни было - это математическая абстракция), он ВСЕГДА имеет конечную и строго определённую структуру, причем известную сразу на обоих сторонах связи (а иначе с ним либо не зашифруется, либо не расшифруется), и он таки СУЩЕСТВУЕТ на стороне легитимного получателя (а иначе как планируется расшифровывать сообщение?).
Далее - см.моё предыдущее сообщение про векторы атак.

>>т.к. он заведомо равен (или длинее) зашифрованного сообщения
Это совершенно ни о чём нигде никому не говорит - ибо длина исходного сообщения ВСЕГДА конечна, длина ключа ВСЕГДА конечна, и длина криптованного сообщения тоже ВСЕГДА конечна.
То есть - весь вопрос ВСЕГДА сведётся к задаче "как из первого путём второго получилось третье". Независимо от размеров любой части. Более того - криптография ВСЕГДА опирается на логические примитивы, а любой достаточно протяженный массив логических примитивов ВСЕГДА можно свернуть (математика), а если повезёт - то и вообще вывести конкретную функцию в одну строчку.

Да, и более того - алгоритм работы с данными тоже ВСЕГДА фиксирован на обоих сторонах (чтобы у отправителя - таки правильно закодировалось, а у получателя - правильно раскодировалось закодированное, а не вылезла белиберда).

>>следовательно, вариантов "расшифровки" (методом взлома) зашированного таким образом сообщения может быть сколь угодно много
Всегда конечное число.

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

>>То есть зашифрован один текст, а при расшировке получится другой текст.
Тогда грош цена такому алгоритму, если НЕЛЬЗЯ быть уверенным в раскодировании - и чётко отсеять верное от неверного.

>>И да, тоже со смыслом.
Тогда вероятность получения ОШИБОЧНОГО "текста со смыслом" ненулевая у легитимного получателя (например, при опечатке в введении ключа, или просто при глюке в софте), и нет никакого семафора на разделение "Вы правильно получили сообщение? да\нет".
То есть, идентичность раскодированного текста исходному при ПОЛОЖИТЕЛЬНОМ раскодировании - не гарантирована, и более того - нет никакого механизма коррекции возможных ошибок (а при любой ошибке, даже не зависящей от оператора - будет положительное раскодирование, но "другой осмысленный текст").
Такому алгоритму место в корзине.

>>И таких вот "разных текстов" может быть сколь угодно много.
Тем более.
Если нет никакого механизма валидации результата, и нет уверенности в идентичности полученного с исходным - то это не криптография, и даже не математика.

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

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

Простейший пример ошибочности подхода, навскидку:
1. Некто Вася берет свою валидную ЭЦП (электронно-цифровую подпись, которая должна быть у Васи в секрете). Далее - ключ, неважно какой длины.
2. Вася подписывает и кодирует ею какой-либо документ (далее - исходное сообщение). Получается новый файл (далее - криптосообщение).
3. Вася проверяет только что подписанное своим ключом. Проверка говорит - да, этот документ сделал и подписал Вася, всё ок (ибо нет никакого способа проверить и сказать, что что-то НЕ ок).
4. Вася меняет некоторые байтики в своей ЭЦП (ну или просто файлик побился сам при сбое системы, например).
5. Вася опять проверяет подписанный ранее документ, но уже НЕВАЛИДНЫМ (изменённым, скомпрометированным) ключом.
6. Теперь проверка говорит, что документ - не Васин, а Петин, и при этом всё по-прежнему ОК (ибо нет никакого способа проверить и сказать, что что-то НЕ ок, и "криптография раскодировалась осмысленно").
Причем где-то рядом будет существовать реальный Петя уже со своим (случайно, а то и не очень случайно) совпавшим ключом, который о такой феерии ни сном ни духом.

Вот тут-то Васе удача и попрёт........
Ответить

Вернуться в «ПРОГРАММЫ ДЛЯ ШИФРОВАНИЯ СООБЩЕНИЙ»