Справочник от Автор24
Поделись лекцией за скидку на Автор24

Перемешивающие свойства преобразований

  • 👀 403 просмотра
  • 📌 360 загрузок
Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Перемешивающие свойства преобразований» docx
Лекция 1. Перемешивающие свойства преобразований 1.1. Существенные переменные булевых функций Пусть – булева функция (б.ф.) переменных. Обозначим , . Векторы и называются соседними по –й координате, если и для любого , . Переменную называют фиктивной или несущественной для б.ф. , если для любых соседних по -й координате векторов и , . В противном случае переменная - существенная. Таблицу б.ф., имеющей фиктивную переменную, можно сократить на 1 столбец и по числу строк в 2 раза. Б.ф. и называют равными (), если одну можно получить из другой введением или удалением фиктивных переменных. Есть две б.ф., не имеющие существенных переменных: константы «0» и «1». Канонический вид АНФ задан суммой мономов по модулю 2: , (1.1) где – двоичный коэффициент при одночлене (мономе) . Заметим, что зависит от фиктивно равен 0 коэффициент при каждом мономе, зависящем от , . 1.2. О сложности решения систем уравнений Алгебраические (аналитические) методы анализа криптографических систем основаны на решении систем уравнений, связывающих элементы ключей, открытых и шифрованных текстов. Системы уравнений, возникающие в криптоанализе, как правило, имеют решения (уравнения являются совместными). Решение системы возможно за конечное число вычислительных шагов, что определяется возможностью полного перебора конечного числа ключей. Однако проблема решения является в общем случае сложной (что косвенно подтверждается теорией сложности вычислений), так как число необходимых операций компьютера зависит от длины ключа экспоненциально. Вместе с тем, для частных классов систем уравнений сложность решения может быть значительно ниже. Положим, что уравнения составлены и размещены в памяти вычислителя. Рассмотрим типичный случай, когда в левой части систем уравнений записаны булевы функции, – бинарный ключ длины . Пусть требуется решить систему (1.2) булевых уравнений: Всякий ключ , при котором удовлетворяется система уравнений (1.2), называется ее истинным решением (или просто решением). (1.2) Полное опробование требует перебора до вариантов ключа и подстановки вариантов в каждое уравнение. Примем за одну операцию подстановку в любое уравнение системы (1.2) любого варианта ключа с целью проверки выполнимости уравнения. Такой тотальный алгоритм требует выполнения до операций. При больших переборный алгоритм нереально реализовать в приемлемое время. Отметим, что алгоритм не требует значительной памяти. Пусть в левой части записано треугольное преобразование, т.е. система уравнений имеет вид: (1.3) Алгоритм последовательного опробования с использованием особенностей системы уравнений (1.3) опробует на каждом шаге значения только «новых» переменных, т.е. только тех, которые не были опробованы на предыдущих шагах. Обозначим множество номеров существенных переменных функции . В системе (1.3) имеем: , . Построим алгоритм опробования переменных: 1) Опробуем 2 значения переменной , подставляем их в 1-е уравнение системы (1.3). Значение бракуется, если . В противном случае выполняем следующий шаг. 2) Опробуем все значения пары переменных при каждом неотбракованном значении , например, при , подставляя их во 2-е уравнение системы. Значение бракуется при . В противном случае выполняем -й шаг, . Пусть . Опробуем все значения набора переменных при , подставляя их в -е уравнение системы (1.3). Значение набора бракуется, если . В противном случае выполняем следующий шаг. Если же и , то данный набор - решение системы уравнений (1.3). Метод не требует большой памяти, надёжность его равна 1 (потеря истинного решения исключена). Оценим среднюю трудоёмкость метода последовательного опробования в рамках следующей вероятностной модели. Пусть для любой правой части системы уравнений (1.3) при случайном равновероятном выборе двоичного набора : 1) , ; 2) уравнения системы (1.3) независимые: при подстановке в различные уравнения любых значений переменных выполнимость каждого уравнения не зависит от выполнимости других уравнений. Элементарной операцией (эл.оп.) алгоритма последовательного опробования считаем проверку выполнимости любого уравнения системы (1.3) при подстановке в него любого набора значений переменных. Обозначим: - средняя трудоёмкость -го шага алгоритма; - среднее число наборов , не отбракованных после -го шага, . Тогда , где из описания алгоритма имеем: , . Отсюда , т.е. трудоёмкость решения системы (1.3) линейно зависит от . Реализация метода эффективна и для треугольно-ступеньчатой системы уравнений. Пусть множество из уравнений системы разделено на непустых подмножеств, где , , и в левой части системы , , …, . Построим шагов опробования переменных: 1) опробуем значений набора переменных , подставляя их в первых уравнений системы. Значение набора бракуется, если . Для каждого оставшегося набора выполняем следующий шаг. 2) опробуем значений набора переменных и подставляем набор во вторую группу из r2 уравнений. Этот набор бракуется, если . Для каждого оставшегося набора выполняем следующий шаг и т.д., всего шагов. Реализация метода как правило не требует значительной памяти, надёжность метода равна 1. Оценим среднюю трудоёмкость метода последовательного опробования в условиях той же вероятностной модели. Из описания алгоритма имеем: , ,…,, . Следовательно, ++…+. Отсюда если , то . Для системы уравнений (1.2) оценим трудоёмкость последовательного опробования в общем случае. Обозначим решетку всех подмножеств множества . Заметим, что в описанных алгоритмах последовательности опробования подмножеств переменных соответствует цепям в . В первом алгоритме – цепи длины , и во втором алгоритме - цепи длины . В общем случае пометим в символом подмножества . Наилучший алгоритм опробования соответствует одной из наиболее длинных цепей, начинающихся в помеченной вершине и завершающихся в вершине . Алгоритм надежен, так как множество вложено в один из элементов цепи, . Средняя трудоемкость алгоритма тем меньше, чем длиннее цепь в . Вообще длина цепи не больше , отсюда . Следовательно, если близок к n, то близка к трудоёмкости метода полного перебора. Пример 1.2.1. Оценим среднюю трудоёмкость двух алгоритмов последовательного опробования для системы уравнений: Здесь , , , . Пометим эти множества - вершины решетки (на рис.1 изображена часть решетки). Рисунок 1. Схема алгоритма опробования Построим два 4-шаговых алгоритма последовательного опробования: на основе цепи 1: - и на основе цепи 2: . Приведем характеристики этих алгоритмов. Таблица 2.1. Характеристики 4-шаговых алгоритмов опробования алгоритм на основе цепи 1 алгоритм на основе цепи 2 № шага 1 2 3 4 1 2 3 4 № уравнения 1 2 3 4 3 4 1 2 №№ опробуемых (новых) переменных 2 1 трудоемкость опробования на шаге 2 число неотбракованных вариантов после шага 1 1 Средняя трудоемкость алгоритма опробования на основе цепи 1 равна 18, на основе цепи 2 равна 14. Итак, сложность определения ключа зависит от множеств . Далее эта зависимость характеризуется с помощью матриц и графов. 1.3. Начала теории графов 1.3.1. Основные понятия, способы задания графов. Множество и бинарное отношение на множестве образуют пару, которую называют графом (обозначается . Элементы множества называются вершинами, а элементы множества — ребрами графа. Если множества и конечные, то граф называют конечным; при граф называют -вершинным, или графом с вершинами. Обычно вершина отождествляется с номером . Если , то говорят, что данное ребро соединяет вершины и или инцидентно этим вершинам, где при вершины и смежные. Ребро называется петлей в вершине . Ребра, инцидентные общей вершине , называют смежными. Вершина, не инцидентная ни одному ребру, называется изолированной. Вершина, инцидентная одному ребру, и само это ребро называют висячими, или концевыми. Несколько ребер, инцидентных общей паре вершин, называют кратными или параллельными. Граф без кратных ребер и петель называется полным, если смежны его любые две вершины. Граф с петлями полный, если смежны его любые две вершины и в каждой вершине есть петля. Если элементы каждой пары упорядочены, то называют ориентированным графом, кратко орграфом, и его ребра называют дугами. Дуга орграфа изображается стрелкой, исходящей из и заходящей в . Если бинарное отношение симметрично, то граф называется неориентированным, и ребро графа изображается отрезком. Далее неориентированный граф – просто граф. Граф (орграф) помеченный, если некоторыми символами помечены его вершины и/или ребра (дуги). Помеченные элементами множества вершины-вершинного графа можно задать множеством , где . Помеченные элементами множества ребро или дугу можно задать тройкой , где . Мультиграфом называют граф с кратными (параллельными) ребрами или дугами, т.е. допускается наличие нескольких ребер или дуг вида . Метки кратных помеченных ребер или дуг не обязательно одинаковы. В графе степенью вершины , обозначаемой , называется число ребер, инцидентных вершине . Вершине орграфа соответствует пара чисел , где — число дуг, заходящих в вершину, и — число дуг, исходящих из вершины. Числа и называются полустепенью захода и полустепенью исхода вершины . Отметим 2 способа задания графов и орграфов с n вершинами. 1) списком ребер (дуг) и изолированных вершин; для мультиграфа следует указать кратности ребер (дуг), либо кратным ребрам (дугам) присвоить различные номера в списке; 2) матрицей смежности (соседства) вершин графа, орграфа или мультиграфа размера (обозначается , где — число ребер или дуг вида . Для графа при любых . Число петель графа равно сумме элементов главной диагонали матрицы смежности. Матрица смежности однозначно задает непомеченный орграф. относится к неотрицательным матрицам, все элементы которых не меньше 0, записывают . Если все элементы матрицы больше 0, то она называется положительной, записывают . 1.3.2. Пути в графе, связность. В графе (орграфе) путем из вершины в вершину (соединяющим и ) называется система ребер (дуг): , где ; вершины пути и называются соответственно начальной и конечной. Этот путь задан короче в виде последовательности вершин: . Длиной пути (обозначается ) называют число составляющих его ребер. Если имеется путь из в длины , то говорят, что вершина графа -достижима (или достижима за шагов) из вершины . Если ребро или дуга (вершина ) принадлежит пути, то говорят, что путь проходит через ребро или через дугу (через вершину ). На множестве путей графа определена частичная полугрупповая операция конкатенации (присоединения), обозначим ее . Для путей и конкатенация допустима . При . Теорема 1.3.1. Пусть — матрица смежности вершин орграфа и , тогда в число путей длины из в равно , Доказательство. (индукция по ). Для теорема верна по определению матрицы . Докажем ее при любых для , если она верна для . По определению , тогда по правилу умножения матриц . (1.4) По предположению есть число путей длины в графе из в . Тогда есть число путей длины из в таких, что предшествует вершине j. Просуммировав по , получаем общее число путей длины в графе из в , которое в силу (1.4) равно . Пример 1.3.1. Найдем число путей длины 6 из 1 в 3 и из 2 в 5 в 5-вершинном орграфе, заданном списком дуг: (1,3), (1,4), (2,1), (2,2), (2,5), (3,2), (3,4), (3,5), (4,1), (4,3), (5,2), (5,4), (5,5). Построим — матрицу смежности вершин орграфа: . Возводя в квадрат, находим матрицы и затем : , . Найдем искомые элементы матрицы : , . Первое число получено скалярным умножением 1-й строки матрицы на 3-ю строку матрицы ; второе число получено скалярным умножением 2-й строки матрицы на 5-ю строку матрицы . Путь в графе называют циклом (в орграфе — контуром). Петля есть цикл длины 1. Путь (цикл) называется простым, если он не проходит дважды ни через одну вершину. Простой путь (цикл) в графе не проходит дважды ни через одно ребро. Длина простого пути не больше числа вершин. Путь (цикл), проходящий через все вершины графа, называется полным. Длина полного пути в -вершинном сильно связном орграфе не больше . Циклы в графе называются независимыми, если множества вершин этих циклов попарно не пересекаются. Подходом к циклу называется путь в графе, все вершины которого, за исключением последней, являются ациклическими. Неориентированный граф (орграф) связный (сильно связный), если в нем найдется путь из любой вершины в любую. Орграф связный, если связен неориентированный граф, полученный заменой в нем дуг на ребра. В -вершинном графе обозначим множество всех путей из в . Длина кратчайшего пути из в в (или расстояние от до в ) равно: ; всякий путь из в длины называют кратчайшим путем в из в . В общем случае кратчайший путь определен неоднозначно. Замечание. В некоторых задачах длину следует положить равной не нулю, а длине кратчайшего контура, проходящего через вершину . Расстоянием от до в , где и – подмножества вершин, равно: . Диаметр п-вершинного сильно связного орграфа равен: . Диаметр -вершинного сильно связного орграфа не более . В графе из следует: для любой пары вершин и для некоторой пары вершин . Из теоремы 1.4.1 следует: . Пример 1.3.2. Диаметр орграфа из примера 1.4.1 равен 2: матрица содержит нули и . 1.4. Примитивные графы и неотрицательные матрицы Первая постановка задачи о неотрицательных квадратных матрицах была дана Фробениусом в 1912 г.: «имеются ли при неотрицательной матрице положительные матрицы во множестве ,,…,,…}?». Иными словами, содержит ли положительные матрицы циклическая полугруппа ? Если содержит, то матрица называется примитивной, и наименьшее натуральное , при котором , называется экспонентом матрицы , обозначается . Если полугруппа не содержит положительных матриц, то матрица называется не примитивной и полагаем . Множество целочисленных неотрицательных матриц порядка обозначим . Множество матриц смежности вершин -вершинных орграфов с петлями совпадает с , поэтому понятия примитивности и экспонента распространены c на орграфы. Связь между графами и устанавливает теорема 1.3.1. Следовательно, примитивность орграфа и величина экспонента определена свойствами путей в графе, в частности, орграф полный. Свойства примитивности и экспонента равносильно интерпретируется на матричном и на графовом языке. Далее - матрица смежности вершин орграфа . Мультипликативная полугруппа гомоморфно отображается, с помощью замены каждого положительного элемента единицей, на полугруппу всех 0,1-матриц порядка (все элементы которых суть 0 или 1), обозначим ее . Это отображение согласовано со свойством примитивности, то есть прообразом любой примитивной 0,1-матрицы является класс примитивных матриц из , и прообразом любой не примитивной 0,1-матрицы является класс не примитивных матриц из . Далее рассмотрим мультипликативный моноид , , где умножение выполняется как для целочисленных матриц с последующей заменой положительных чисел единицами. На множестве матриц одинакового размера над упорядоченным множеством определен частичный порядок. Если , , то для всех допустимых пар . Из правила умножения матриц и из основной теоремы следует: 1) примитивная матрица не содержит нулевых строк и столбцов, отсюда если , то при любом ; 2) монотонность: если , то ; 3) если , то . 4) наследственность: если примитивная, то и примитивная, ; 5) примитивный орграф является сильно связным; 6) не меньше диаметра графа ; 7) случайно равновероятно выбранная матрица при с вероятностью, стремящейся к 1, является примитивной и . Пример 1.4.1. Пусть , тогда , . Отсюда примитивная, . Орграф сильно связный, он состоит из контура (1,2,3) и петли в вершине «1». Матрица не примитивная. 1.5. Оценки экспонентов матриц и графов Работы с основополагающими результатами опубликованы в середине XX века Виландтом (Wielandt H.), Перкинсом (Perkins P.), соавторами Далмэджем и Мендельсоном (Dulmage A.L., Mendelsohn N.S.), установившими термин «экспонент», и др. Получены условия примитивности и оценки экспонентов матриц и орграфов, как универсальные, так и частные. Пусть содержит множество контуров длины соответственно, где . Обозначим . Критерий примитивности орграфа (Перкинс, 1961) определяется множеством его контуров: сильно связный орграф примитивный содержит множество контуров такое, что НОД. Универсальная оценка для -вершинного графа дана Виландтом, 1950: . (1.5) Известны более точные оценки для -вершинных орграфов. Если содержит контур длины , то . (1.6) Если - диаметр примитивного орграфа , то . Если содержит множество контуров , то , (1.7) здесь – число Фробениуса для аргументов , равное наибольшему целому числу, не принадлежащему аддитивной полугруппе , , где – длина кратчайшего пути из в , проходящего через некоторую вершину контура длины , . Заметим, что ; . В общем случае технически трудно вычислить число Фробениуса , так как при не существует простых формул, однако известны быстрые компьютерные алгоритмы. Неявно оценена ниже. Теорема 1.5.1 Если примитивный -вершинный орграф содержит примитивное множество контуров длин , то . (1.8) Оценка (1.8) уточнена с учетом структуры орграфа . Обозначим – часть орграфа . Теорема 1.5.2. Если орграф содержит примитивное множество контуров длин и орграф связный, то . (1.9) Из (1.6) следует, что для сильно связного орграфа с петлей при . (1.10) Эта оценка уточнена с учетом (1.8). Обозначим: – множество вершин с петлей в орграфе , - длина кратчайшего пути из из в , проходящего через вершину . В имеются пути из в любой длины . Следовательно, для примитивного орграфа с петлями . (1.11) Оценки (1.8)-(1.10) уточены, если в известны длины двух контуров. Теорема 1.5.3. Пусть n>2 и Г содержит два простых контура длины и , имеющих общих вершин, где и . Тогда , ; (1.12) , . (1.13) 1.6. Метод быстрого экспоненцирования Метод быстрого экспоненцирования (удвоение степени матрицы на каждом шагу вычислений) можно использовать как для распознавания примитивности матрицы, так и для нахождения точного значения ее экспонента. Используем оценку (1.5). В силу свойства 1) раздела 1.5 матрица порядка примитивная при . Тогда при последовательном вычислении матриц распознавание примитивности матрицы требует не более возведений матриц в квадрат. Пусть и содержит нули, где . Тогда нахождение равносильно нахождению , при котором и содержит нули, где . Для дихотомического поиска такого требуется еще не более умножений матриц. Вычислительная сложность обеих задач не превышает
«Перемешивающие свойства преобразований» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 81 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot