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

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

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

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

Поопределениютипа элемента:ad=ad+n

Т.к. элементы aи b– сопряженные,топоопределениюсопряженности:g-1ag = b. Найдем,чему равноbd и bd+n (подсказка– они должны оказаться равными ;)

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

Ну вот,мы показали, чтоbd и bd+n равны. Теперь покажем,чтоdи n– единственные (а точноли здесь нужнопоказать именноединственность?).

Пусть bимеет тип (h,k) и тип (d,n). Чуть раньше мы доказали,чтоbd = bd+n.

Идемна 56страницу и вспоминаемсвойство. Хотяможете не переходить,CopyPaste уже тут:

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

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

б ≥ делитсяна

Попредположению,что(h,k) является типомэлементаb,получаем: h≤d

nделится наk

Попредположению,что(h,k) является типомэлементаb,получаем: h≥d

k делится наn Отсюдаh=dи k=n.

Замечание. Если aи b– сопряженные вН,тоord(a)=ord(b). Доказательство.

Пусть t=ord(a).

Тогда поопределениюпорядка (ord) получим:at=e Таккак aи b – сопряженные,тоb=g-1ag

Тогда:bt=g-1atg=e (таккакat=e) Отсюдаord(a)=ord(b).

Тема «Полугруппы преобразований и группы подстановок» Тут будет 2не сложные,но«долгие» теоремы.И чуть-чуть всегоостального.

Введение.

РассмотриммножествоХ мощностиn:|X|=n.

Тогда П(Х) – обозначает моноид всех преобразований множества Х. Проще говоря, множествовсех преобразований множестваХ.

S(X) – симметрическая группа всех биективных преобразований (подстановок)множества Х.

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

Поэтому преобразования образуют лишь моноид.

А вот подстановки (биективные преобразования)– уже группу.

Замечание.

Если имеются два множества Х и Х’, причёмих мощности равны,то: П(Х) и П(Х’) – сопряженные

S(X) и S(X’) – сопряженные.

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

Пn – моноид всех преобразований множеств мощностиn

Sn – группа всех подстановок(биективных преобразований) множествмощностиn

Обратите внимание – здесь употребляется выражение «простосопряженные». Отом,что этотакое,можноузнать настранице 69.

Пример.

Давайте убедимся в том,чтопреобразования П образуют именномоноид. А вдруг там группа?Или абелева группа?Или вообще кольцо?о_О Для начала ответимнавопрос– сколько всеговозможнопреобразований вмножестве мощности n?

|П(X)|= nn,так как любой элемент можноперевести в любой (для первогоэлемента имеемnвариантов,для второготожеnи такдалее)

|S(X)|= n!,так какпервый элемент переводится влюбой изn,второй уже не может перейти туда же,куда первый (т.к. этобиекция),поэтому у него(n-1) вариантов,у третьего элемента(n-2) варианта и т.д.

Пусть имеется множествоХ,состоящее из 2элементов:X={x1,x2}. Запишемвсе возможные преобразования.

g1 =

1

2

– здесь написано«x1переходит в x1,аx2 переходит в x2»

g2 =

1

2

 

 

1

2

 

g3 =

2

1

 

 

1

2

 

g4 =

1

1

 

 

1

2

 

Этовсе2

возможные преобразования,они образуют П(Х).

2

 

Для справки,биективнымине являются g3и g4:в них более 1элемента переходят в один и тот же. Поэтому здесь S(X)={g1,g2}.

Вернемся кП(Х) = {g1,g2,g3,g4). Заметим,чтовсе эти преобразования замкнуты – умножимоднонадругое,получимснова преобразование изП (в данномслучае умножить

– означает применить последовательносначалапервое преобразование,затемвторое). Однакообратное преобразование построить для g3и g4не получится. Ну действительно, если впримереx1*x2заменить все на х1,то получимx1*x1,и уже никакизнегоисходный примерне получить,т.к. нет однозначности.

Получили,чтозамкнутость выполняется,аналичиеобратногоэлемента– нет. Именно поэтому П является моноидом. А вот S,где нет перестановокg3и g4,может поправу называться группой.

Теорема. Всякая полугруппа Gпорядкаnизоморфнанекоторой полугруппе преобразований множества мощности(n+1).

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

Для доказательства покажем,чтоможнопостроить биективный гомоморфизм(который называется изоморфизм) междуGи полугруппой преобразований множества мощности (n+1). Чтотакое полугруппа,написанона3страничке :)

Пусть G={g1…gn}и пусть X=GU {g0}– добавили 1элемент.

Элементу gi изGпоставимв соответствие преобразованиеϕi измножества Х. Вот по такому правилу.

ϕi(g0) = gi

ϕi(gj) = gi*gj,где j=1…n.

Внимательноразберитесь,чтотут написано! А именно:элементуgi поставили в соответствие преобразованиеϕi сосвойствамиϕi(g0) = gi и ϕi(gj) = gi*gj.Именнотак! Именнотакое преобразование соответствует элементуgi. Еще раз: элементуgi

соответствует преобразованиеϕi. А преобразование– этовот так:

 

0

 

 

 

 

 

 

 

элемент g0переходилименновg

,а элемент

И от этогопреобразования требуется,чтобы

i

 

gj – вэлемент gi*gj.

Другими словами,есть полугруппаG,и мы ставимей всоответствие множество преобразований множества мощности(n+1). Получилось,чтопостроили некоторое соответствие между Gи полугруппой преобразований множества мощности (n+1).

Теперь нужнопоказать,чтопостроенное соответствие является биективным гомоморфизмом.

Начнемсприятного– сбиекции. Этолегкопоказать,т.к. ϕi(g0) ≠ ϕi(g0) при любых i≠j. Ну действительно,понашему условиюϕi(g0) = gi. Аодинаковых элементоввGнет. Теперь покажем,чтопостроенное соответствие– гомоморфизм.

Обозначимgjgi=gr,где i,j,r= 1…n

Первое равенство

ϕr(g0) = gr = gjgi = ϕj(gi) = ϕji(g0)) = (ϕj ϕi)(g0) = f(gj)f(gi)(g0)

Информации много,поэтому рассмотримкаждый переход отдельно.

1.ϕr(g0) = gr – этоследует изусловия нашегоотображения:ϕi(g0) = gi

2.gr = gjgi – такмы обозначили

3.gjgi = ϕj(gi) – понашему условиюϕi(gj) = gi*gj,тольковобратнуюсторону

4.ϕj(gi) = ϕji(g0)) – представили элемент gi какϕi(g0)

5.ϕji(g0)) = (ϕj ϕi)(g0) – пользуемся тем,чтопроизведение преобразований аналогично последовательному выполнениюэтих преобразований. Обратите внимание: произведение преобразований есть такое же обычноепреобразование. Тоесть этоне двумерное,не неизвестное,не двойное,а совершеннообычное преобразование:ϕj ϕi.

6.j ϕi)(g0) = f(gj)f(gi)(g0) – вспоминаем,чтоϕj на самомделе была поставлена в соответствие (понекоторому правилу) элементуgj,аϕi – всоответствие элементуgi. И именнодля этогоправила мы хотимпоказать,чтооноявляется гомоморфизмом. Так обозначимегоfи скажем,чтоf– как разправило, которое устанавливает соответствие

между элементами gи преобразованиями ϕ. Второе равенство

f(gjgi)(g0) = f(gr)(g0) = ϕr(g0). Тогдаf(gjgi)(g0) = f(gi)f(gj)(g0)

Снова разберемпопунктам:

1.f(gjgi)(g0) = f(gr)(g0) – таккакмы взялиgjgi=gr

2.f(gr)(g0) = ϕr(g0) – т.к. понашему правилу элементу gr соответствует преобразованиеϕr

3.ϕr(g0) = f(gi)f(gj)(g0) – изпрошлогопункта («первое равенство»). Посмотрите на его началои конец ;)

4.Получили f(gjgi)(g0) = ϕr(g0) = f(gi)f(gj)(g0),отсюдаf(gjgi)(g0) = f(gi)f(gj)(g0).

Для элементаg0 показали,чтоf– гомоморфизм(т.е. f(gjgi)(g0) = f(gi)f(gj)(g0)). Покажемэтои для элементаgk (любогодругого).

Третье неравенство.

ϕr(gk) = grgk = gigjgk = ϕj(gigk) = ϕji(gk)) = ϕjϕi(gk) = f(gj)f(gi)(gk)

Ивновь попунктам.

1.ϕr(gk) = grgk – таккак ϕi(gj) = gi*gj

2.grgk = gigjgk – таккакgjgi=gr

3.gigjgk = ϕj(gigk) – таккакϕi(gj) = gi*gj – вобратнуюсторону

4.ϕj(gigk) = ϕji(gk)) – представили gigk ввиде ϕi(gk) – таккакϕi(gj) = gi*gj (в обратнуюсторону)

5.ϕji(gk)) = ϕjϕi(gk) – умножение преобразование есть их последовательное применение

6.ϕjϕi(gk) = f(gо)f(gi)(gk) – вспомнили,чтопреобразования поставлены (понекоторому правилу f) всоответствие элементамg.

Четвертоенеравенство

f(gjgi)(gk) = f(gr)(gk) = ϕr(gk).

1.f(gjgi)(gk) = f(gr)(gk) – таккакgjgi=gr

2.f(gr)(gk) = f(gi)f(gj)(gk) – из«второгонеравенства»

3.ϕr(gk) = f(gi)f(gj)(gk) – из«третьегонеравенства» -посмотрите наначалои конец.

4.Получили

Для элементаgk также показали,чтоf– гомоморфизм(f(gjgi)(gk) = f(gi)f(gj)(gk)).

Чуть раньше былотакже показано,чтоf– биекция. А значит,f– биективный гомоморфизм (изоморфизм). И мы толькочтодоказали теорему (междуGи полугруппой преобразований множества мощности(n+1) удалось построить изоморфизм,а значит они изоморфны).

Еще раз:взяли элемент g0 и показали, чтодля fвыполняется свойствогомоморфизма. Взялиgk – и для негосвойствогомоморфизма выполняется. Также показали,чтоf– биективно,а значит f– изоморфизм. Также узнаем,чтомножествопреобразованийϕ1…ϕn замкнуто:при умножении двух преобразований они совпали наg0 и элементеgk (не понял,какизэтого следует замкнутость). Отсюда множествопреобразованийϕ1…ϕn является полугруппой. А таккакнам удалось построить соответствие между элементамиизGи множествомпреобразований множества мощности(n+1) ,и это соответствие является биективнымгомоморфизмом (изоморфизмом),тоG и множествопреобразований множествамощности(n+1) изоморфны.

Теоремадоказана.

Теорема. Всякая конечная группа порядкаn изоморфна некоторой группе подстановок множества мощностиb(т.е. подгруппе группы Sn).

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

Пусть G– та самая группамощностиn. Она состоит изединичногоэлемента (в группе его присутствие обязательно) и еще n-1элементов.

G= {e,g1, …,gn-1}.

Каждому элементу “a”группы Gпоставимв соответствие отображениеϕa,такое чтоϕa(g)=a*g.

Наглядноэтовыглядит так:

 

_(

−1)

ϕa =

 

−1)

 

_(

Эти преобразования биективны:

Предположим,чтоϕa – не биекция,тоесть дваэлементамогут перейти водин:

ϕa(g’) = ϕa(g’’)

a*g’= a*g’’(умножаемнаa-1,т.к. в группе всегда есть обратный элемент)

g’=g’’

Тоесть показали,чтоϕa – биекция.

Также отображение G-> {ϕe… ϕg_(n-1)}– биективно.

Предположим,чтоэтоне так. Путь ϕa = ϕb,где a≠b

Этодолжнобыть вернонавсех элементах,однакоуже наединичномононарушится:

ϕa(e) = ϕb(e)

отсюдаa=b(таккакпонашему условиюϕa(g)=a*g –попробуйте подставить e вместоg).

Покажем,чтопостроенное соответствие– гомоморфизм.

ϕab(x) = a*b*x – таккак ϕa(g)=a*g

aϕb)(x) = ϕab(x)) = ϕa(bx)=abx

1.aϕb)(x) = ϕab(x)) – по-другому записали произведение

2.ϕab(x)) = ϕa(bx) – таккак ϕb(x)= bx

3.ϕa(bx)=abx – понашему условиюϕa(g)=a*g

Показали,чтоявляется гомоморфизмом(т.е. ϕab(x)= (ϕaϕb)(x)).

Покажемзамкнутость. Этосовсемлегко:ϕa* ϕb = ϕab. Таккакϕa и ϕb принадлежат G,тои их произведение принадлежит G(ведь произведениеозначает последовательное выполнение данных преобразований). Отсюда{ϕe… ϕg_(n-1)}– группа.

Итак,показали, что{ϕe… ϕg_(n-1)}– группа и построили биективный гомоморфизм(изоморфизм). Отсюдаследует изоморфность. Теорема доказана.

Обозн. Для любогоg изпреобразований П(Х):

1.dep(g) – наибольшая издлин подходов вграфе Г(g)

2.per(g) – период – НОК длин циклов в графе Г(g)

Сейчасбудет самая несложная и размеренная лекция извсех,которые были раньше. Определенияне сложные,примеры хорошие,несколькотеорем– бездоказательства. Разобраться придется толькос2-3 доказательствами. Также насждет интересная задача. Начнем.

Опр. Знакомподстановки g называется величина(-1)r,где r– количествотранспозиций в разложении подстановки g. Обозначается sign(g)= (-1)r.

Другими словами:совсемнедавномы разобрали,чтолюбуюподстановку можнопредставить в виде произведения некоторогочислатранспозиций. Также узнали,чтооднаи таже подстановка всегда разлагается или вчетное,или в нечетное числотранспозиций. Таквот, еслиsing(g)=1,то она раскладывается в четное числоподстановок,а еслиsign(g)=-1,товнечетное.

Свойства.

1.Еслиsign(g)=(-1)r;sign(h)=(-1)s,то: Sing(gh) = (-1)r+s = (-1)n(-1)s = sign(g)*sign(h).

Другими словами:знакпроизведения подстановокравен произведениюзнаковэтих подстановок

2.Знакобратной подстановки равен знаку самой подстановки. Sign(g-1) = sign(g).

Доказательство(очень простое): Sign(gg-1) = sign(e) = (-1)0 = 1

Также попервому свойству:sign(gg-1) = sign(g)*sign(g-1) Получаем: sign(g)*sign(g-1)=1

Отсюдаsign(g) = 1/sign(g-1).

Вспоминаем,чтоsign(g) равен 1или-1,больше ничему. Нотогда что1/1=1,что1/-1=-1. Поэтому изsign(g) = 1/sign(g-1) следует,что

sign(g) = sign(g-1).

Доказано.

Утв. Для любогомножестваX мощности nесть ровно ! четных подстановокна множестве Х и ровно ! нечетных подстановокна множестве Х.

Доказательство. Пусть g1,g2,… -четные подстановки на Х.

Пусть имеется τ – любая транспозицияна множестве Х.

Теперь внимание – вся суть доказательстваумещается в одной «хитрости». Вспомним,чтоg1,g2,… -четные подстановки,тоесть раскладываются в произведениечетногочисла транспозиций. Теперь возьмемэти четные подстановки и умножимна произвольнуютранспозициюτ.

Чтопри этомпроизойдет?Они станут нечетными!Ведь в разложении g1 сколькотранспозиций участвует?Четное количество. А при умножении мы добавим1лишнюютранспозицию,и подстановка τg1 будет уже нечетной.

Вот и все,теперь осталось сказать,чтокаждой четной подстановке получилось поставить в соответствие нечетную.

Четная

g1

g2

g3

 

 

 

 

 

Нечетная

τg1

τg2

τg3

 

 

 

 

 

Всегоподстановокn!,причемвыяснили,чточетныхи нечетных– поровну.

Тогда имеем ! четных и столькоже нечетных.

Доказано.

Теорема.

Группа Sn (всех подстановокмножества мощностиn) порождается:

1.Системой всех транспозиций

2.Системой всех транспозиций вида(1,i),где i={2…n}

3.Системой всех транспозиций (1,i+1),где i={1…n-1}

4.Транспозицией (1,2) и полнымциклом {1,2…n}

Скажу заранее,эта теорема приводится бездоказательства.Нокогда кто-то не понимает,откуда чтоберется,вмире грустит один криптоаналитик.Поэтому давайте не будемегорасстраивать и разберемся попунктам. И возможно,именноон когда-торасскажет миру оновомспособе вычисления исходноготекстапоMD5.

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

2.Второй пункт более мощный – он говорит,чтодля того,чтобы породить Sn,достаточно взять не все транспозиции,алишь транспозиции вида(1,i),где i={2…n}. Тоесть все перестановки для элемента «1».

3.Третий пункт почти полностьюповторяет второй

4.Четвертый пункт говорит,чтодля того,чтобы породить Sn,достаточновзять транспозицию (1,2) и полный цикл. Тоесть:

h= 1

2

 

g=(

1

2

)

2

1

… 1

И

 

2

3n

 

 

тогда S

= <g,h>.

Все правильно,hменяет местами первый и второйэлемент,аg является полнымциклом (посмотрите на негои вы сразу все поймете). Таквот,hи g достаточно,чтобы породить Sn.

Немногоотвлечемся,и этостоит того. Ведь сейчаспроизойдет то,чегоне былоникогда. Вы можете пролистать предыдущие 80страниц и нигде этогоне найдете. Я даже не уверен,чтотакое будет в будущем. Этоисключительный случай. Поэтому отнеситесь у нему совсей ответственностью. Сейчасмы покажем,чтовсе,чтомы раньше учили– действительнополезные вещи,которые обязательнопригодятся в вашей повседневной жизни. Вот представьте,чтоу васесть «пятнашки»,заданные способом,указаннымна рисунке слева. Можноли изних вообще собрать то,чтонарисованосправа?Сначала вопроскажется простым,ночерезпару минут становится понятно,чтобезсовременной криптографии здесь не обойтись. И наших знаний вполне достаточнодля решения такой задачи!

Задача.

Возможноли такое преобразование?

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

1

2

3

4

5

6

7

8

9

 

 

 

 

 

 

 

 

 

Р

П

Т

 

К

Я

И

Ы

пусто

 

 

 

 

 

 

 

 

 

Я

 

К

Р

И

П

Т

Ы

пусто

 

 

 

 

 

 

 

 

 

Однаконаши действия ограничены – можнотолькоменять местами пустой квадратикс любымэлементом. Самое главное (внимание!) заключается в том,чтов исходноми конечномпреобразовании пустышкастоит наодноми томже месте. А этозначит,чтона любое действие спустышкой должнобыть противодействие,возвращающее ее в исходное состояние. Например,подвинули пустышку вправо– значит,вдальнейшемнам придется подвинуть ее влево,чтобы вернуть в исходное состояние.А все действия у нас происходят спарами элементов,один изкоторых– пустышка. Тоесть накаждое действие намдобавляется противодействие,такимобразом количествонеобходимых действий удваивается. Такимобразом,количествонеобходимых действий всегдабудет четным. Чувствуете,какмы пришли кэтому выводу?Безформул,безтеорем,простоподумав– как настоящие криптоаналитики!А дальше уже чистая теория.

Всеговозможных перестановокn!,изних четных ! (недавнопоказали). Тоесть разрешима

ровнополовинатаких «пятнашек». Посмотрим,разрешимли наш случай. Построимграф нашегопреобразования:

Посмотрим,скольконужнотранспозиций,чтобы реализовать такуюподстанвку?Ранее мы узнали,чтодля циклдлины nможнопредставить ввиде (n-1) транспозиции.

В нашемслучае мы видимциклы длины 3и 4. Значит,всегонамнужно(4-1)+(3-1)=5 транспозиций. Минимум. Этонечетное число. Чутьраньше мы узнали,чтоодну и ту же подстановку можнопредставить тольков виде всегдачетногоили всегданечетногочисла транспозиций. Таквот,нашу подстановку можновсегда представить тольковвиде нечетногочисла транспозиций. Нодля сохранения«пустышки»на месте намтребуется четное числотранспозиций (уже показали). Противоречие. Значит,задача неразрешима.

Ответ:такое преобразование недостижимо.

Дополнительно:кому интересно,вот возможное представление ввиде 5транспозиций. Здесь мы не учитываемникакие правила«пятнашек»,простопоказываем,чтопри произвольных 5перестановках такое вообще возможно.

Исходная

1

2

3

4

5

6

7

8

9

 

 

 

 

 

 

 

 

 

 

1трансп

6

2

3

4

5

1

7

8

9

 

 

 

 

 

 

 

 

 

 

2трансп

6

4

3

2

5

1

7

8

9

 

 

 

 

 

 

 

 

 

 

3трансп

6

4

5

2

3

1

7

8

9

 

 

 

 

 

 

 

 

 

 

4трансп

6

4

5

1

3

2

7

8

9

 

 

 

 

 

 

 

 

 

 

5трансп

6

4

5

1

7

2

3

8

9

 

 

 

 

 

 

 

 

 

 

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

Тема «Сопряженные элементы в моноидах и группах подстановок». Введение.

Пусть G– полугруппа(или группа,не важно) преобразований множества Х,причем G=<g1…gp> -порождается данными элементами. ОбозначимS={g1…gp}– система образующих элементов.

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

Тоесть насинтересует именнограф системы образующих элементовS. В этомграфе множествовершин Х (т.е. элементы множества Х) идуга(x,y) помечены максимальным