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