информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
О криптоанализе 25.04.03 02:43  Число просмотров: 3320
Автор: Кремлёв Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Привет всем, это опять я.
Приведённые пояснения, признаюсь довольно сильно сбили с толку.
Хотелось бы узнать существует ли, обратное преобразование
(м.б. расшифрование) и чем оно осуществляется? Если ч.я. работает и в обратную сторону то, что будет в данном случае, например дано соответствие:
X Y
17h 20h
B0h 20h
что будет на X если подать 20h на Y несколько раз(если возможно)?

Позвольте представить на ваш суд следующие рассуждения.

В примерах есть соответствие разным X, одинаковых Y, в
криптосистемах такое встречается, но при этом, длина X и Y
различается, т.е. в X встраиваются метки опознавания или Y состоит
из нескольких частей позволяющих определить X.

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

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

В примере есть соответствия для X состоящих из нулей, видно, что для X длиннее 4 байт, первые 4 байта сохраняются. Посмотреть будет ли, та же ситуация для последовательности из единиц, и для любой другой последовательности. Если исходить из того, что корректный ввод кратен 4 байтам, надо посмотреть соответствие для 8 байт заполненных 0, назовём эту последовательность Х1 а её соответствие Y1. Если последующие 4 байта отличаются от первых 4 байт Y1, следовательно они как то зависят от предыдущих, допустим XOR, тогда просто подаём на вход ч.я. X2 длиной 4 байта состоящую из первых 4 байт Y1 и они должны совпадать со вторыми 4 байтами Y2 т.к. XOR выполняется с 0, но всё это в случае зависимости XOR.

Можно составлять соответствия для X которые отличаются друг от друга на заданную величину, например изменять один бит, или ставить его на разные позиции. Возможно удобнее всё это анализировать в двоичном представлении. Если предположить, что используется XOR и сдвиги то есть вероятность, что всё это повторяется в течении нескольких раундов. Если XOR, то с каким значением, константа, ключ, функция от входа, предыдущий блок, что-то ещё. Чем больше раундов тем м.б. сложнее восстановить алгоритм, ключ может разбиваться на раундовые т.е. иметь в каждом раунде своё значение. Если есть раунды то имея соответствия можно судить лишь о некотором сложном алгоритме эквивалентном многократно повторяющемуся простому алгоритму.
Если предположить, что используется XOR и сдвиги, то как этот процесс атоматизировать, есть одна идея возьмём последовательность 4 байта допустим из нулей и напишем программу которая будет суммировать её со всеми возможными значениями длиной 4 байта и для каждого из этих значений осуществлять все возможные сдвиги всего (2^32)*32=137438953472 вариантов, сравнивать с верным результатом и запоминать пары значений где будет совпадение, в случае нескольких раундов придётся всё усложнить. Далее будет необходим анализ значений с которыми производится XOR, совпадают ли они для разных X и т.д.

И наконец самое главное, точно ли, Ч.Я. это преобразование с целью защитить информацию (шифр), может быть это нечто совершенно другое?
Если шифр, то д.б. однозначное преобразование.

Важно выяснить структуру входной последовательности, длину, наличие каких то, меток, повторений, возможно ч.я. не определяет, что ему подана неверная информация, хотя и такие данные должны помочь выяснить его структуру.

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

Ещё раз хочется отметить, что наобум очень сложно будет, что либо, проанализировать, нужна хоть какая то информация о назначении ч.я.

P.S.
Всё вышесказанное может быть неправдой (без моего злого умысла ;-)
Критика только приветствуется.

P.P.S.
Стоит ли игра свеч?
<theory> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach