Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
О криптоанализе 19.04.03 22:43 Число просмотров: 3114
Автор: Кремлёв Статус: Незарегистрированный пользователь
|
Здраствуйте уважаемые господа. Позвольте представить вам мои рассуждения по этому вопросу.
Для начала классифицируем возможные атаки на ч.я.
Условимся X - входная последовательность Y - выходная последовательность
1. С известным X и Y. Тяжко :)
2. С выбором X. Необходим доступ к ч.я. Формируем такие X которые могут помочь нам раскрыть алгоритм к примеру из одних нулей (единиц), из нулей и одной единицы и т.д. Обязательно послать два одинаковых блока X и сравнить выходные блоки Y если они одинаковы это упрощает дело т.к.
можно составить список вероятных сообщений преобразовать их, а затем работать с полученными результатами, можно вообще составить список всех возможных сообщений. Если такая ситуация наблюдается, т.е. совпадение Y при одинаковых X, вероятно использование блочного шифра в режиме простой замены, также при этом длина X=Y. Если длина совпадает, а содержимое нет то возможен режим гаммирования, при этом можно попытаться определить период гаммы используемого датчика псевдослуч. чисел (ПСЧ), можно подавать последовательно блоки допустим из одних единиц пока не наступит повторение и тогда вероятно период будет найден, хотя здесь всё не так просто, в литературе описаны различные способы. Можно сделать которые предположения о алгоритме, замеряя время обработки X, при этом составить зависимость времени обработки от состава X, известно, что ассиметричные шифры работают дольше чем симметричные, т.е. можно сделать гипотезы о типе алгоритма.
3. С выбором Y. Это тогда, когда ч.я. работает и в обратном направлении.
Теперь несколько мыслей о возможных вариантах действия.
Проводить подобный анализ имеет смысл, если есть вероятность, что алгоритм слабый, иначе в одиночку это неподсильная задача. Можно попытаться подавать на вход непотребные данные, прерывать
работу ч.я. в самый неподходящий момент и получить с этого какие нибудь данные о алгоритме.
Необходимо выяснить как организована работа с ключевой информацией, есть ли вообще ключ.
Надо определить место и назначение ч.я. его роль в системе, возможно это вовсе не криптопреобразование, а какой нибудь преобразователь инф. в известный связной код. Также важно сравнить длину блоков X и Y если длина Y>X или длина вых. массива данных > вх. массива то возможно добавляются некоторые случайные данные, имитозащита, метки времени, ч.я. может иметь некоторые доп. входы для синхронизации получения времени и т.д. В общем необходимо собрать как можно больше информации и использовать её для определения структуры ч.я. Если ящик программа можно посмотреть на дизассемблере. Главное помнить, что можно найти и альтернативный верный алгоритм, м.б. даже более простой.
P.S.
Прошу строго не судить всё выше сказанное, возможно где-то и накосячил, конструктивная критика только приветствуется.
P.P.S.
Информацию по данным вопросам можно найти: "www.algolist.manual.ru" и
"www.ssl.stu.neva.ru/psw/crypto.html"
|
|
|