Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разбор лекций

.pdf
Скачиваний:
75
Добавлен:
06.07.2016
Размер:
5.15 Mб
Скачать

Если во множестве Х– несколькоэлементов,тосмотримдлину каждогои выбираем максимальную.

Опр. Граф Эйлера ГS полугруппы (или группы) G,порожденной системой образующих элементовS,построенный посистеме образующихS– этоориентированный граф с множествомвершин Gи множествомдуг,которые помечены элементами множестваS.

Другими словами:впервуюочередь,имеем<S>=G,т.к. группа Gпорождена Sпоусловию. Граф Эйлера нагляднонампоказывает,чтобудет сэлементомg,если к нему применить операциюсэлементомs. Например,перемножить.

Вот смотрите – такэтовыглядит на бумаге:g*s=g’.

А так– ввиде графа

Замечание:изкаждой вершины графа Эйлера исходит sдуг.

Почему так?Смотрите.

Было:S={s1, s2, s3}– всегоsштук;G={g1,g2…}– обычная группа

Стало:<S>= G={s1, s2, s3и все их произведения}.

Таквот, к любому элементуg можноприменить операциюслюбымизsэлементов. Например,умножить,если группа задана относительноумножения. Уже,наверное,не стоит повторять,чтокакэлемент g,таки все элементы s1,s2…входят в группу <S>.А группа подразумевает замкнутость – можемумножить любые 2элементаи получимэлемент изэтой группы. Тоесть может смелоумножить любой взятый произвольноg на любое из{s1, s2…}.

В виде графа этовыглядит вот так,какраз в видеs исходящих стрелочек. Напомним,этот граф показывает,вочтопереходит элемент,если кнему применить операциюсs1,s2…

Опр. Ориентированный граф называется псевдосимметрическимпорядка р,если для любой еговершины x полустепень исхода вершины x равна полустепени захода вершины x и равнаp:

Pисх(х) = рзах(х) = р

Другими словами:простоопределение,ничегобольшего.

Свойстваграфов Кэлли.

1.Граф,полученный изграфаSзаменой дуг наребра,содержит не более |S|компонент связности.

Другими словами:для начала напомнимопределение:Опр.Компоненты связности неориентированногографа– этомаксимальноемножество вершин, гделюбаявершина достижимаизлюбойдругой.

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

Ну действительно,предельный случай будет вот таким:

Тоесть изs1 никакнельзя получить s2и т.д.

Всеготаких компонент связности-|S|- количество вершин в исходномграфе.

2.Любая вершинадостижима хотя бы из1вершинымножестваS.

Другими словами:помните «толюбой элемент изGможнопредставить какконечное произведение элементовизS»?Здесь пополной аналогии. Например,если были у нас заданы элементы s1,s2, s3,то элемент s1*s2достижимуже издвух вершин:изs1и s2 (рисуноквыше).

Утв. ЕслиSпорождает группу,тоГS – псевдосимметричный граф,порядоккоторого (количествовершин) равен мощностиS.

Другими словами:ключевое словоздесь– порождает ГРУППУ. Настоящуюгруппу,в которой выполняется все,чтодолжновыполнятьсявгруппе.

Свойство. ЕслиSпорождает группу,тоPисх(х) = рзах(х) =|S|для любогоg из <S>.

Доказательство. Чуть раньше мы уже разобрались,почему изкаждой вершины исходитsдуг:

Осталось доказать,чтов одну вершину не может заходить 2дуги содинаковыми метками. Делается этосовсемпросто,наоснове одногопреобразования.

Предположим,чтов вершину g заходят 2дуги содинаковыми метками.

Получили,чтов одну вершинуне могут заходить 2дуги с1меткой. Поэтому полустепень захода любойвершины не превосходит |S|.

Криптограф,всегда шифрующий методомпростой замены,на этомостановится. Настоящий же криптоаналитик,который признает толькоAES, пойдет еще дальше и докажет,что полустепень заходаравна|S|. И мы,конечно,последуемза ним.

На самомделезашифровать в умеAESнамногопроще,чемпростой заменойв этом доказательстве нет ничегосложного. Мы уже знаем,чтоизкаждой вершины исходитs стрелочек,и в каждуювершину заходит неболее одной стрелочки скаждой изметок. Нам предлагается доказать,чтополустепень заходалюбой вершины равна|S|. Действительно,на каждуюизвершин можноподействовать каким-тоэлементомизS,поэтому изкаждой вершины выходит sстрелочек. С этиммы уже разобрались раньше. А теперь представим,чтов какую-товершину такая стрелочкане зашла. Стрелочекосталось s, а вершин сталоs-1. Тогда она зайдет в какую-тодругуювершину. Новнее уже заходила стрелочка стакой же меткой– вторая такая же зайти не может – противоречие. Тоесть если хотя бы 1стрелочка не войдет какую-товершину,токоличествотаких стрелочекбудет уже больше,чемколичествовершин, и ей придется зайти второй разв другуювершину,чтоневозможно.

Еще раз другими словами:из каждой вершины выходитsстрелочек,причемзаходить в каждуювершину стрелкасодной меткой может только1раз. Поэтому вкаждуювершину должнои заходить sстрелочек,иначе возникнет несоответствие количества стрелок количеству вершин.

Давайте разберемся,почемуG=<g> называется циклической. Возьмемединственный элемент g и зададимоперацию– шифрование умножение. Какие элементы можнополучить изg, используя умножение?Правильно:g,g*g,g*g*g (нуточнее g,g2,g3 и т.д. – мы же будущие криптоаналитики).

Если бы Gбыла бесконечна,былобы совсемпонятно:

Нодавайте решим,чтоG– конечна. Тоесть количествоэлементов вней ограничено. Тогда, ввиду такой ограниченности,на каком-тошаге мы получимто,чтоуже было:

Скажете,невозможно,чтобы g99=g3?На первый взгляд да,номы же криптографы!Вспомните, например,прокольцовычетов помодулю. Где-томы их уже разбирали.

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

Опр. Пусть g – элемент g изполугруппы G.

Тогда если в ряду элементовg,g2,g3…gn не встречаются одинаковые элементы,тополугруппа, порожденная элементомg,и ее порядокназываются бесконечными.

Если в ряду g,g2,g3… есть одинаковые (аеслиGконечна,тоони неизбежны,т.к. множество, порожденное элементомg,всегда является подмножествомG),тосделаемвот что. Обозначимt– наименьшее натуральное число,такое чтопри некоторомd<t:gd=gt (тоесть t– наименьший номервпоследовательностиg,g2,g3,с которогоначинают появляться повторения).

Таккак d<t, можнозаписать:gd=gd+n. Такая форма называется определяющимсоотношением конечной циклической полугруппы. Можнои вот такзаписать:gd+i=gd+n+i – тоже будет правильно.

Замечание. Элемент g типа(d,n) – этоэлемент,представимый ввидеgd=gd+n. При этомd называется циклической глубиной,аn– периодом элементаg.

Свойствациклических полугрупп.

Пусть g имеет тип (d,n),т.е. gd=gd+n. Тогда:

1. Еслиgб=gv+б, тосправедливы утверждения:

б ≥ делитсяна

2.<g> = {g,g2,…,gd+n-1}

Тоесть полугруппа,порожденная g,состоит извот таких элементов

3.Граф Эйлера Г состоит изцикла длины nи подхода кнему длины d-1. Действительно,nпоказывает,собственно,длину цикла:

ОбозначимC(g) – множествоциклических вершин: C(g) = {gd+I,i=0…n-2}

ОбозначимD(g) – множествоантициклических вершин: D(n) = {gi,i=1…d-1}

4.Циклическая полугруппа коммутативна gi*gj = gi+j = gj*gi.

И этоне пустые слова. Умножениеgi наgj означаетвыборэлементасиндексомi и сдвиг по графу на jэлементов.

Пример:i=1,j=2

5.Все циклические полугруппы одноготипаизоморфны,изоморфны и их графы Кэли. Ну действительно,типпоказывает длину цикла (и,соответственно,подходакнему). То есть полугруппы одноготипа определены сточностьюдорасстановокпеременных.

Вот такой примерчик.

6.C(g) – множествоциклических вершин графа Кэли– образует подгруппу <g> порядкаn циклической полугруппы <g> сединичнымэлементомgt,где t=n*[d/n]. Обозначается

gn*[g/n] = eg.

Другими словами:единичный элемент – этоэлемент,при умножении накоторый ничего не меняется. А почему егодлина равна вобщемслучаеt=n*[d/n]?

Давайте рассмотримуже знакомуюнамситуацию:

Чтонамдает свойство?Чтомножествоциклическихвершин образует подгруппу исходной полугруппы. Выделюих красным,чтобы былоотличновидно:

Также этосвойство говорит нам,чтов полученной подгруппе есть единичный элемент,и он равен gn*[g/n] = eg. Какнастоящие криптоаналитики,мы помним,чтоединичный элемент

– этоэлемент,который не изменяет любые элементы множества. Тоесть: g^3*e = g^3

g^4*e = g^4

и такдалее

Вычислив вперерыве простенький хэш MD5,мы также вспомним,чтодает умножение g^4*g^n. А дает оновот что:беремнаграфе точкуg^4и двигаемся пострелочкамnшагов. Посмотрим,сколькошагов надосделать,чтобы прийти изg^4снова вg^4

Получили 5шагов. А сколькошагов надо,чтобы изg^6прийти в g^6?Тоже пять,этоведь один и тот же цикл!Получилось,чтоg^5– единичный элемент.

Если бы мы подставили в формулуnи d (d=7– всегоэлементов,n=5– элементовв цикле), тополучили бы:g5*[7/5] = g5 = e.

Справедливость формулы показана. Отметим,чтоединичнымэлементомдолженбыть элемент измножества циклических вершин!Тоесть в нашемслучае один изних:g^3… g^7 Можнои 500разпокрутиться поциклу (g^4* g^500 = g^4,ага),ноg^500 не входит внаш цикл,а потому и не является единичнымэлементом.

Вот более очевидный примерна эту тему:

Казалось бы,единичный элемент равен 5пополной аналогии спредыдущимпримером. Нонет,g^5вциклне входит,апотому и единичнымэлементомне является. Чтобы найти единичный для этогоцикла,можноизкаждой вершины перейти вперед на23,24, 25, 26 или 27элементови посмотреть,какой из них будет единичным. Понятно,чтов нашем случае это25.

g^24*g^25=g^24-> g^25 -> g^26-> g^27-> g^23-> g^24-> g^25-> g^26-> g^27-> g^23-> g^24-> g^25-> g^26-> g^27-> g^23-> g^24-> g^25-> g^26-> g^27-> g^23-> g^24 -> g^25-> g^26-> g^27-> g^23-> g^24.

Такой же результат дает и формула:

g5*[27/5] = g25 = e.

Опр. Eg – единственный идемпонент в <g>

Другими словами:впрошломсвойстве рассмотренонахождение единичногоэлемента. Таквот, он – единственный идемпотент в полученной полугруппе (идемпотент – этоe*e=e) Тоесть все, он один и больше нет элементовстакимсвойством. Совсем. Т.е. полностью.

Опр. Порядокэлементаg вполугруппе G– этонаименьшее натуральное t,такое чтоgt=eg. Обозначается ord(g).

Другими словами:org(g)=t,еслиgt=eg и этоt– минимальновозможное. Запомните,что такое org – эточастобудет употребляться вбудущем.

Замечание. Если g имеет тип (d,n),тоorg(g) = n*[d/n].

Другими словами:этобылоочень подробнорассмотренов последнемсвойстве. Настолькоподробно,чтодаже добавить нечего. Напомнютолько,чтоn– количество элементов,входящих в цикл,а d– количествовсех элементов. В примере ниже вцикл входит 5элементов,авсегоих 7. Поэтомуn=5 и d=7.

Опр. Экспонентаполугруппы G– этонаименьшее натуральноеt,такое чтоgt=eg для всех элементовg изполугруппы G. Обозначается exp(G).

Другими словами:два очень похожих определения,чемони различаются?А тем,чтоздесь рассматривается случай для всех элементов. Тоесть полученный единичный элемент будет единичнымдля всех элементов изG. Он таки называется– экспонентаполугруппы. А предыдущее определение называлось порядокэлемента,и единичный элемент рассматривался только относительно1элементаg – и совершенноне факт,чтоон являлся единичнымдля всех элементовизG.

Еще раз другими словами: Ord(g) = t:gt=eg,тоесть g*eg = g – всегда

g’*eg ≠ g’– не обязательнобудет равно,м.б. и не равно

Exp(g) = t:gt=eg,тоесть

g*eg = g – всегдаи для всех элементовизG g’*eg = g’

Свойство. Если в полугруппу Gвходят элементы g1…gn,тоexp(G)=НОК(ord(g1),…,ord(gn)). Другими словами:чтобынайти экспоненту,нужнонайти ord(порядок) каждогоиз элементов,и взять НОКдля этих порядков. Напомним,чтоНОК– этонаименьшее общее кратное,тоесть наименьшее число,которое делится на все указанные.НОК(2,3,5)=30 – тридцать делится и на2,и на3,и на 5,причемнет числаменьше 30,которое делится на

2,3,5.

Утв. Циклическая полугруппа,порожденная элементомgi (обозначается <gi>),гдеi≥1, является подполугруппой циклической полугруппы,порожденнойg (обозначается <g>). Другими словами (вот здесь не уверен,чтопонялправильно):если былагруппа, порожденная элементомg (относительноумножения,например):

Тополугруппа,порожденная элементомg^2:

Является подполугруппой (т.е. составной частью) полугруппы <g>.

С этимне поспорить:{g^2,g^4,g^6}полностьювходят в<g>={g,g^2,g^3,g^4,g^5,g^6}.

А теперь,каки обещал– самое неприятное:несколькофактов,которые даются без разбора. Их разберемпри решении задач. Надеюсь,также понятнои подробно,как лемму Анселя.

Свойства циклических полугрупп.

1.При любых i,j≥1выполняются:

1.D(gi) = {gk,где k<d,k кратноi}

2.C(gi) = {gk,d≤k≤d+n-1, где k=t(mod2),причемt– порядокэлементаg,аr=НОД(i,n)}

3.Полугруппа <gi> определяется соотношением: (gi)б = (gi)v+б

2.Полугруппы,порожденные gi и gj совпадут (<gi>=<gj>),если:

1.Либоi=j(Чтоочевидно. Нет,правда очевидно,посмотрите ;))

2.Либоi,j≥dи НОД(i,n) = НОД(j,n).

Условиеi,j≥dберется потому,чтодлины должны попасть на цикл:если первая полугруппаобразована элементомg^3,тоесли хотим,чтобы вторая полугруппа совпала с первой,онатоже должнавключать g^3,авот,например,g^2она включать уже не может.

3.<gi> ∩ <gj> = <gНОК(i,j) – каждый элемент должен делиться и на i, и на j.

На этом полное непонимание заканчивается, дальше будет лучше.

Обозначение.Cm – такобозначается циклическая группапорядкаm. Ее граф Кэли представляет собой циклдлины m.

Опр. Прямое произведение групп G1 и G2 – это: G1 x G2 = {(a,b),где а G1, b G2

(a1,b1) x (a2,b2) = (a1 x a2,b1 x b2)

Тоесть совокупность таких парэлементов(a,b),которые вычисляются поуказанной формуле.

Утв. Если НОД(m,n)=1, топрямое произведение циклических групппорядка nи m изоморфоно циклической группе порядка n*m. Обозначается Cm x Cn ≡ Cn*m (верхняя черта насамомделе волнистая).

Доказательство.

Пусть Cm=<x> -тоесть порождается некоторымэлементомx.

Пусть такжеCn=<y> -порождается некоторымэлементомy.

Рассмотримz=(x,y) Cm*n. Пусть r=ord(z) – порядокэлементаz. Покажем,чтоord(z)=m*n.

ИЗ математики знаем,что(x,y)m*n = (xm*n,ym*n). Настоящий криптоаналитиксразу увидит,чему это равно. Мы тоже попробуемпонять. Поусловиюэлемент х принадлежит циклической группе мощности m. Тоесть тамвсегоm элементов,а элемент m+1уже равен первому.

А чтотакое тогда элемент gm*n?Правильно,этотот самый элемент,при умножении на который ничегоне изменится. ОбозначимегоeCm. Вообще говоря,вCm он не входит,ноздесь этоне важно и используется для удобства.

Отсюда получаем(x,y)m*n = (xm*n,ym*n) = (eCm,eCn).

Также мы толькочтовспомнили,чтоxm+1=x, и аналогичнодля y. Используемэто:

Соберемвсе в кучу.

Мы хотели показать,чтоord(z) делится наn*m,где z=(x,y) Cm*n. Вспомним,чтоord(g)=t,если t– наименьшее число,такое чтоgt=eg.

Мы получили:

(x,y)m*n = (eCm, eCn) – выполнение условия для ord(z)

xm=eCm – показывает,чтовнашемслучаеt=m (изопределения ord(g)=t,t-миним. возм.)

yn=eCn – показывает,чтовнашемслучаеt=n(изопределения ord(g)=t,t-миним. возм.)

Такимобразом, изпервогопункта следует,чтоrделится наm*n. А извторого– то,что минимальный возможныйrравен:r=НОК(m,n)=m*n.

Тогда содной стороны |Cm x Cn|=m*n(поопределениюпрямогопроизведения ими являются пары (a,b). Здесь m элементов«а» и nэлементов«b»).

С другой стороны |<x,y>|= m*n(т.к. z=(x,y) порождает циклическуюгруппу,причемпорядкаm*n, таккакord(z)=m*n,чтопоказаноранее. Ведь ord– этоминимальное количествоэлементов, необходимое для замыкания цикла).

Отсюда:Сn x Cm = <x,y> - впрямомпроизведении получаются все элементы из<(x,y)>,чтои означает изоморфоность:<(x,y)> ≡Gn*m. Обратите внимание – (x,y) – этоодин элемент множества Gn*m. Не параэлементов,а один. И уже он состоит изэлемента х и элемента у.

Другими словами:взялиz=(x,y) и показали, чтоминимальная степень,в которой он станет равным единичному элементу,равнаn*m.Используя этот факт,показали,чтоСn x Cm = <x,y>,т.е. изоморфность.

Основные свойствагрупп.

Теорема. ПодмножествоН группы Gявляется подгруппой Gтогда и толькотогда,когда:

1.Еслиa,b H, тоa*b H

2.Еслиa H, то a-1 H.

Доказательство.

Каки влюбой теореме со словами «тогда и толькотогда»,здесь нужноотдельнопоказать ее необходимость и достаточность.

Необходимость очевидна:еслиH является подгруппой,тозамкнутость и наличие единичного элементаобязательновыполняются поопределениюгруппы.

Достаточность. Покажем,чтоесли условия выполняются,тоH – подгруппа. Для этогодолжны выполняться требования кгруппам:ассоциативность,замкнутость,наличие обратногоэлемента, наличие единичногоэлемента.

1.Ассоциативность выполняется:т.к. G– группа поусловию,тоуже заведомоизвестно,что операция,относительнокоторой она задана,является ассоциативной. Иначебы Gгруппой не получилось назвать. А т.к. ассоциативность вGвыполняется,онавыполняется и в ее подгруппе Н.

2.Н – замкнута попервому свойству (посмотрите на первый пункт условия теоремы)

3.Для любогоэлемента есть обратный (посмотрите навторой пункт условия теоремы)

4.Таккак для любогоэлемента есть обратный,тоестьи единичный элемент:a*a-1=e,причем e принадлежит Н,т.к. Н замкнута.