2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Оценка сложность алгоритма
Сообщение18.08.2014, 10:13 
На рисунке ниже представлена иллюстрация к алгоритму. Сначала опишу алгоритм, а потом что требуется сделать и какие вопросы. На предварительном этапе для нелинейного преобразования S составляется таблица DDT размером 256 * 256. В ячейку (i, j) этой таблицы записывается число пар с входной разностью i и выходной разностью j. При этом разность оценивается с помощью побитового сложения по модулю 2.

Вот алгоритм сложность которого интересует:
    1) выбираем случайно 3 ненулевых байта для состояния 4 (на рисунке выделены желтым цветом);
    2) применяем преобразования L и T к этому состоянию и получаем значения байтов для состояния 3;
    3) для каждой строки состояния 1 выполняем следующие шаги:
      3.1) установить значение желтого байта равным 0;
      3.2) увеличить значение желтого байта на 1;
      3.3) умножаем строку состояния 1 на матрицу линейного преобразования и получаем строку в сост-ии 2;
      3.4) с помощью ранее заготовленной таблицы проверяем, есть ли пары байтов у которых входная
      разность определяется состоянием 2, а выходная разность состоянием 3. Если да, то переходим к
      обработке следующей строки.
      3.5) если значение байта < 255, то переходим к шагу 3.2. В противном случае переходим к шагу 1.

Изображение

Вот как я пытаюсь получить теоретическую оценку сложности. Пусть p - это вероятность того, что для выходной разности (байт) в строке состояния 3, есть входная разность в соответствующей позиции состояния 2. Значение p можно получить из анализа DDT. Тогда вероятность того, что для данной строки состояния 3 существует входная строка равна $p^3$. Следовательно, вероятность того, что для всех строк состояния 3 существуют входные строки в состоянии 2 равна $(p^3)^3 = p ^ 9$. Значение p примерно равно 0.5. Следовательно, средняя трудоемкость равна $p ^ 9$. В чем здесь ошибка? На практике получаю, что сложность значительно меньше.

 
 
 
 Posted automatically
Сообщение18.08.2014, 19:14 
Аватара пользователя
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Карантин»
Причина переноса: формулы не оформлены $\TeX$ом, текст на картинке

pavelandpavel
Наберите все формулы и термы $\TeX$ом.
Инструкции по оформлению формул здесь или здесь (или в этом видеоролике).
Картинку сносите - в ней нет необходимости.
Текст с картинки наберите буковками с клавиатуры, чтобы его можно было нормально цитировать.
См. также тему Что такое карантин, и что нужно делать, чтобы там оказаться.
После исправлений сообщите в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group