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

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

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

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

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

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

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

Сообщение Parasite »

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

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

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

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

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

Сообщение Parasite »

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

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

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

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

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

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

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

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

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

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

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

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

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

Сообщение Parasite »

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

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

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

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

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

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

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

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

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

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

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

Вот тут-то Васе удача и попрёт........
Dud
Участник
Сообщения: 40
Благодарил: 4 раз
Поблагодарили: 12 раз

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

Сообщение Dud »

Единственной переменной в технологии OTP является энтропия генератора случайных чисел, применяемого для создания ключа. Насколько мне известно в спецслужбах РФ в качестве зерна (seed) для генератора применяются физические характеристики атомного распада.
В качестве менее затратной технологии создания шифрблокнота рекомендую библиотеку libgcrypt20, которая переводит движение мыши, нажатия клавиш на клавиатуре в зерно random.
скрытый текст: показать
Прошу шифровать направленные мне личные сообщения ключом по ссылке
https://pastebin.com/vC7Q5HHH
Запросят пароль: Lhyx1n66h4
Fingerprint ключа:

Код: Выделить всё

CFD4 232A 100A 9DA4 319D  C0DA CC00 8970 2331 5FFD
Аватара пользователя
Дмитрий Алексеевич
Хозяин
Сообщения: 635
Местоположение: Бангкок, Таиланд
Благодарил: 160 раз
Поблагодарили: 170 раз
Контактная информация:

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

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

Dud писал(а): Август 18, 2022, 17:38:04 Единственной переменной в технологии OTP является энтропия генератора случайных чисел, применяемого для создания ключа. Насколько мне известно в спецслужбах РФ в качестве зерна (seed) для генератора применяются физические характеристики атомного распада.
В качестве менее затратной технологии создания шифрблокнота рекомендую библиотеку libgcrypt20, которая переводит движение мыши, нажатия клавиш на клавиатуре в зерно random.
В лучшие времена в 8м Главном Управлении КГБ (где и изготовлялись все шифроблокноты, в том числе не только для КГБ, но и для армии и для дипломатической службы) для этой цели выделялись самые обычные машинистки которые тупо стучали вразнобой по клавишам пишущих машинок - как бы то ни было прискорбно, несмотря на возмущение всех специалистов столь архаичным подходом к "рандомности", работало на "ура" - ни один такой одноразовый блокнот (ни даже ключ к аппаратуре ЗАС, который изготовлялся точно таким же способом) при соблюдении правил использования, взломан противником не был. А то, что было взломано - то было не по причине недостаточной криптостойкости ключей, а исключительно по причине разгильдяйства и повторного использования ключа в нарушение всех инструкций.
Dud
Участник
Сообщения: 40
Благодарил: 4 раз
Поблагодарили: 12 раз

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

Сообщение Dud »

На практике и во 2м управлении с дешифровкой не заморачивались. Возможно, "гетеродиновая пеленгация" и миф, но получателя быстро обнаруживали, грамотно обездвиживали и применяли криптоанализ в виде интенсивного химического допроса, по результатам которого тот выкладывал все что знал и отъезжал в морг. Оставалось неспешно готовить двойника для суда, имитации расстрела или обмена и дежурно разводить руками -- капсулу с ядом прокусывал профессионально, а одноразовые таблицы сжигать не умеет.
скрытый текст: показать
Прошу шифровать направленные мне личные сообщения ключом по ссылке
https://pastebin.com/vC7Q5HHH
Запросят пароль: Lhyx1n66h4
Fingerprint ключа:

Код: Выделить всё

CFD4 232A 100A 9DA4 319D  C0DA CC00 8970 2331 5FFD
Parasite
Участник
Сообщения: 63
Благодарил: 2 раз
Поблагодарили: 26 раз

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

Сообщение Parasite »

Dud писал(а): Август 18, 2022, 17:38:04 Насколько мне известно в спецслужбах РФ в качестве зерна (seed) для генератора применяются физические характеристики атомного распада.
1. Как конкретно можно применить один из самых стабильных и неподверженных внешним влияниям процессов во Вселенной - в виде Г[С]ПЧ?
2. Не встречал на столе у машинисток-секретуток в штабах устройств кодирования, основанных на ядерных реакциях. :roll:
Ответить

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