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

Математические основы криптологии / Криптология-экзамен(3_семестр)

.doc
Скачиваний:
87
Добавлен:
02.05.2014
Размер:
156.67 Кб
Скачать

Теория Кодирования.

Теорема. Критерий однозначности декодирования.

Для того чтобы кодирование было взаим. однозначным, необходимо и достаточно, чтобы в графе G построенного для этого кода не было ориентированных циклов проходящих через вершину .

 (1) В G нет ориентированных циклов через   декодирование однозначно. Пусть декодирование неоднозначно. Выберем самое короткое сообщение неоднородно декодируемое

-           ориентированный цикл – противоречие.

(2) Кодирование взаимооднозначно  нет ориентированных циклов через . Пусть есть ориентированный цикл .

а) самый короткий цикл через .

б)

в)

Теорема. Неравенство Макмилана.

Пусть дано  - взаимоодн. кодирование, А={a1…an} – кодируемый алфавит, В={b1…bn} – кодируемый алфавит, ={B1…Bm}. Пусть длина кодируемого слова |Bi|= li  i=1,…,m. lmax= {li} – max длина кодируемого слова.

=x, xn= ()n= =. qr – число наборов (i1…in), таких что li1+li2+…+lin=r. Каждому набору (i1…in)  ai1…ain  Bi1…Bin. qr – число слов длины r в алфавите А.

qr – число слов длины r которые являются кодами слов в алфавите А,  числа всех слов длины n в В= k2. = nlmax. xn nlmax, x (nlmax)1/n верно  n. lim(n)x= x, lim(n)(nlmax)1/n= lim(n)n1/nlmax1/n= lim(n)n1/n= 1 x1.

Теорема о существовании префиксного кода.

Если  - взаимооднозн. Кодирование = {B1…Bm}, длины кодируемых слов l1…lm, то существует префиксный код с тем же набором длин кодовых слов.

 Так как код взаимооднозначен, то  1. Число слов длины r обозначают Cr;  1( l);  1;  kl; C1kl-1+ C2kl-2+…+ Cl-1k+ Cl kl; Cl kl-C1kl-1-C2kl-2-…-Cl-1k ( l). Пусть l=1  С1k. Пусть l=2 C2 k2-C1k= k(k-C1). Пусть l=3 C3 k3- C1k2- C2k= k(k(k-C1)-C2). Пусть С1- слово длиной 1, С2 – слово длиной 2,…, Сl-1 – слово длиной l-1, для всех выполняется свойство префикса. Покажем, что можно выбрать Сl слов длины l, для которых тоже выполняется свойство префикса. kl – всего слов длины l в алфавите В. С1kl-1 – запрещ. слова длины l, начинающиеся с выбранных однобуквенных кодируемых слов. kl-C1kl-1- C2kl-2-…- Cl-1k – число возможностей для построения кодовых слов длины l, обладающих свойством префикса. В старом коде  это число было Сl, значит можно выбрать такой код.

Цена кодирования.

Пусть А= {a1…am} – кодируемый, В= {b1…bk} – кодирующий,  = {B1…Bm}, |Bi| = li. Каждой букве ai  pi, (i=1 to m)pi= 1. Пусть А1А*, пусть |A1| = N, буква а1 вошла в А1 p1N-раз, буква аi вошла в А1 piN-раз. При кодировании вместо Ai появляется Bi piN-раз. |(A1)|= (i=1 to m)piliN= N(i=1 to m)pili= |A1|(i=1 to m)pili. (i=1 to m)pili= C() – цена кодирования.

Оптимальный код.

Пусть А и В – фиксированы. Пусть Ф – множество взаимоодн. кодов : А*В*. min C()= C(p1,p2,…,pm). Код , цена кодирования которого равна С(р1…рm) называется оптимальным кодом. (код Хофмана).

Свойства оптимальных кодов.

1) Упорядоченность вероятности кодируемого дерева по ярусам.

Пусть k - оптимальный префиксный код, В={01}, A={a1…an}, p1…pm – вероятности.

(1) Если pi>pj то |Bi||Bj|

(2) Bn – кодовое слово максимальной длины. Bn=B, где {01}  кодовое слово B

 (1) Пусть pi>pj и |Bi||Bj|. k1={B1…Bj…Bi…Bm}, C(k)- C(k1)= p1l1+…+ pili+… +pjlj+… +pmlm- p1l1-…- pilj-… -pjlj-… -pmlm= pili+…+ pjlj+… +pilj+… +pjli= pj(li-lj)- pj(li-lj)= (li-lj)(pi-pj) k – неоптим. код. Противоречие!

(2) Пусть не  B. Тогда рассмотрим код k={B1… B…Bm}, |B’|=l, k2={B1…B’…Bm}, C(k)- C(k2)= pi(l+1)- pil= pi>0 

2) Возможность построения упорядоченного оптимального кода.

k= {B1,B2,…,Bm}, p1p2…pm. k – оптимальный префиксный код. Можно так представить слова в коде k, что получим код k= {B1,B2,…,Bm} – оптимальный преф. код.

  1. |B1| |B2|…  |Bm-1|= |Bm|

  2. Bm-1 и Bm отличаются только в последнем разряде.

 (1) Пусть |Bi|> |Bi+1|, тогда pipi+1 c другой стороны по условию pipi+1 pi=pi+1. k1= {B1…Bi+1…Bi…Bm}, C(k) – C(k1) = pili+ pi+1li+1- pili+1+ pi+1li= pi(li+ li+1- li+1+ li)= 0.

(2) k={B1’, B2’, …, B, Bm-1’, B}, pm-2 pm-1… pm , k2= {B1’, B2’, …, Bm-1’, B, B}, pm-2 pm-1… pm, C(k) – C(k)= pm-2l+ pm-1l- pm-2l- pm-1l= 0 

Лемма о префиксных кодах.

B={01}, k1={B1…Bm, B0, B1}, p1…pm, p’, p’’, k2={B1…Bm, B}, p1…pm, p= p’+ p’’, |B|=l

  1. Если k1 – префиксный, то k2 – префиксный и наоборот

  2. С(k1)= C(k2)+ p.

 (1) k1 – префиксный  строим кодовое дерево, т.ч. кодовые слова – концевые вершины.

В0 и В1 ликвидируем  В- кольцевая вершина, значит k2 – префиксный и наоборот приделываем В0 и В1 к В.

(2) С(k1)= p1l1+…+ pmlm+ p’(l+1)+ p’’(l+1)= p1l1+…+ pmlm+ l(p’+p’’)+ (p’+p’’)= p1l1+…+ pmlm+ pl+ p= C(k2) +p 

Теорема редукции.

B={01}, k1={B1…Bm, B0, B1}, p1…pm, p’, p’’, k2={B1…Bm, B}, p1…pm, p= p’+ p’’

  1. Если k1 – оптимальный преф. код, тогда k2- оптим. префиксный.

  2. Если k2-оптим. и p1 p2… pm p’ p’’, то k1 – оптим. префиксный.

 (1) Пусть k1 – оптим. префиксный  k2 – префиксный, но не оптимальный, тогда  оптимальный код, причём префиксный – k2’: C(k2’)< C(k2). Пусть k2’ имеет вид: k2’={B1’, B2’,Bm’, B’}  k1’={B1’, B2’,…Bm’,…, B0’, B1’}, C(k1’)< C(k2’)+ p< C(k2)+ p= C(k1) k1 – неоптимальный код.

(2) k2 – оптимальный преф.  k1 – преф., но пусть неоптимальный   оптим. префиксный k1’: C(k1’)< C(k1). Пусть k1’= {B1’…Bm’, Bm+1’, Bm+2’}. Получим k1’’= {B1’’…Bm’’, B0’’, B1’’} |B1’’| |B2’’|…  |Bm’’| |B0’’|, C(k1’)= C(k1’’)< C(k1). Построим код k1’= {B1’’…Bm’’, B’’} для кода k2’’. C(k2’)= C(k1’’)- p< C(k1)- p= C(k2) k2 не оптимальный код – противоречие. 

Код Хэмминга.

Кодом Хэмминга длины l называется множество слов (12…l), таких что сумма по модулю два (tw0)t= 0, (tw1)t= 0, (twk-1)t= 0.

Теорема о коде Хэмминга.

Код Хэмминга длины l имеет 2l-k кодовых слов, где k=Гlog(l+1) и позволяет корректировать 1 ошибку типа замещения.

Теория множеств.

Множество.

A= {(x,y): x,y R и x2+y2 1} – задание множества формой. Множество по Кантору – многое мыслимое как единое. Два множества называются равными, если они сост. из одних и тех же элементов. Парадокс Рассэла: Ординарное мн-во - мн-во которое не содержит себя как элемент. Экстраординарное мн-во – мн-во которое входит в себя как элемент. Про любой элемент и про любое множество мы должны знать либо элемент входит в это мн-во, либо не входит.

Свойства включения.

АВ если  аА а В. АВ если аАаВ и  b0В, b0A. Свойства: 1) АА А 2) Если АВ, ВС АС 3) Если АВ, ВА А=В 4) (А)[A]

Прямое произведение множеств.

АхВ= {(a,b)| aA, bB} - прямое произведение. AxB  BxA, AxA = A2.

Бинарные отношения.

Бинарным отношением между множествами А и В называется подмножество SАхВ. Если А и В различны, то бин. отн. называют соответствием между А и В. Если А=В, то бин. отн. называют отношением на множестве А.

Биекция.

Пусть S – отношение “”, заданное на B(A). S={(X,Y):X B(A), Y B(A) и XY}. S AxB. Рассмотрим множество Ds= {a| aA и bB: (a,b) S}, Ds – область определения отношения S. Rs= {bB| a:(a,b)S} – область значений отношения S.

  1. Если Ds= А S всюду определено.

  2. Если Rs= В S – сюръекция или отображение «на».

  3. Отображение S называется функциональным, если из (x,y) S и (x,z) S y=z.

  4. S – инъекция, если из (x1,y) S и (x2,y) S x1=x2.

Если отношение S обладает четырьмя приведёнными свойствами , то S – биекция.

S задано на А S AxA. S – отношение эквивалентности ~, если

  1. рефлективность: аА (а,а) S

  2. симметрия: если (a,b) S, то (b,a) S.

  3. транзитивность: если (a,b) S и (b,c) S  (a,c) S.

Пусть на множестве А задано отношение эквивалентности S, тогда Х – класс эквивалентности по отношению к S, если:

  1. XA

  2. x1X и x2X, то x1~x2.

  3. xX и yA и y~x yX.

Класс экв-ти порождён элементом [x], если [x]= {aA, a~x}= {aA| a~x}.

Теорема о классах эквивалентности.

Два класса эквивалентности порождённые элементами х и у, либо совпадают, либо их пересечение равно .

 Пусть их пересечение не пусто. а [x] [y] a[y] a~x и а~y x~y. Пусть b[x] b~x и x~y b~y b[y]. Аналогично доказывается [y] [x] [x]= [y].

Разбиением UiAi, где AiA и AiAj=  отношение экв-ти на А порождает разбиение мн-ва А на класс экв-ти. S задано на А (SAxA). S называется отношением порядка если:

  1. рефлексивность.

  2. Атисимметрия: (a,b)  (b,a)S.

  3. Транзитивность

Если S – отношение порядка и (a,b)S, тогдаА называется всюду упорядоченным этим отношением, если (а,b) A либо (a,b)S, либо (b,a)S. A называется частично упорядоченным, если  a,bA и (a,b)S.

Равномощность множества.

Если между множествами А и В можно установить биекцию, то такие множества называются равномощными.

Лемма: Конечные множества А и В равномощны  когда они состоят из одинакового числа элементов. (самим).

Мощность конечного множества.

Мощностью конечного множества называется число элементов входящих в это множество.

Теорема о мощности объединений конечных множеств.

Если |A|=m, |B|=n то

  1. АВ=   |AB|= |A| + |B|

  2. AB  |AB|= |A|+ |B| - |AB|

Следствие.

Если АВ |B\A|= |B|- |A|.  B\A  A= B, B\A и A не пересекаются, поэтому |B|= |B\A|+ |A| |B\A|= |B|- |A|. 

Теорема о мощности прямого произведения.

Если |A|= m и |B|= n |AxB|= mn.  AxB= {(a1b1)…(amb1), (a1b1) (a2b2)…(amb2), …, (a1bn) (a2bn)… (ambn)}= B1 B2 … Bn. |AxB|=(i=1 to n)|Bi|= mn. 

Теорема о мощности Булеана.

Если |A|= n, то |B(A)|= 2n.  Доказательство по индукции:

  1. n=1  A={a} B(A)= {, A}, |B(A)|= 2= 21.

  2. индуктивное предположение. Пусть n=k и формула верна |B(A)|= 2k.

  3. n= k+1 ={ a1,…,ak,ak+1}, B(A)= {A1,…,A2^k} B(A)= {A1,…, A2^k, A1 {ak+1},…, A2^k {ak+1}} |B()| = 22k= 2k+1.

B(A) – множество всех подмножеств А. |A|= n; A= (a1a2…an). Пусть А1А  (01…10)= (х1 х2 …хn), xi=1 если aiA1; xi=0, если aiA1, {(x1…xn)}  B(A). E2={01}; |E2|=2; (x1…xn)  E2xE2x…xE2. |{(x1…xn)}|= |E2xE2x…xE2|= |E2|x|E2|x…x|E2|= 2n. 

Счётные множества.

Множество А равномощное множеству натуральных чисел, называется счётным множеством. Если А – бесконечное множество и не равномощное множеству натуральных чисел, тогда оно несчётное множество.

Теорема о подмножествах счётного множества.

Любое подмножество счётного множества, либо конечно, либо счётно.  Пусть А – счётное множество, А*А и А* - бесконечны. Т.к. А – счётное множество   АN - биекция А= {a1,a2,…,an,…}. Пусть n1 – минимальный номер элемента из А, вошедший в А*, присвоим ему номер 1. Пусть n2 – миним. номер элемента из А\{an1} вошедший в А*, присвоим ему номер 2. Пусть bA* bA и b=ak. Т.к. до ak конечное число шагов, то А* (биекция) N. 

Следствие.

Бесконечное подмножество счётного множества равномощно самому множеству.

Теорема о счётности объединений конечных множеств.

Счётное объединение конечных множеств счётно.  U(i=1 to )Ai – счётное объединение. Ai – конечное.

a11 a12 … a1k1

a21 a22 … a2k2

an1 an2 … ankn . Докажем, что для каждого элемента aij существует свой номер. До элемента aij существует конечное число членов, значит существует номер и для aij. 

Теорема о счётности объединений счётных множеств.

Счётное объединение счётных множеств счётно.  U(i=1 to )Ai – счётно, Аi – счётно.

a11 a12 a13… a1n

a21 a22 a23… a2n

a31 a32 a33… a3n

……….….. aij . До aij конечное число элементов  он получит свой номер. [max(ij)]2  его номера. 

Теорема о счётности множества рациональных чисел.

p/q – вид рациональных чисел, где p,qZ и p,q – взаимно просты – рац. число, тогда {p/q} счётно; {p/q}= .  Q= Q+  Q-  {0}. Достаточно доказать счётность Q+. Рассмотрим (p,q), где p,q  N и p,q – взаимно просты. Каждой (p,q) поставим в соответствие h=p+q. Ph= {(p,q): p+q= h}, |Ph| h-1 – конечное множество. {(p,q)}= U(h=1 to ) – счётное множество, (p,q)  p/q  Q+  Q+ - счётно. 

Теорема о несчётности интервала (0,1).

Интервал (0,1) – несчётное множество.  Диагональный метод Кантора. 0,25(0)= 0,24(9). Каждое число этого интервала есть бесконечная десятичная дробь. Пусть (0,1) – счётное множество.

0. a11 a12 a13

0. a21 a22 a23

0. a31 a32 a33

……………...

0. b1 b2 b3 … (0,1). b1 a11, b2 a22, b3 a33,… , bk akk. Мы получили число из (0,1), не имеющее своего номера  предположение неверно  (0,1) – несчётное множество. 

Континуальные множества.

Мощность (0,1) равна континуму, множества равномощные с (0,1) называются континуальными множествами.

Теорема о равномощности (0,1) и [0,1].

(0,1) ~ [0,1].  Выделим любое счётное множество  (0,1): {1/2,1/4,1/8,…,1/2n}= A (0,1), B= {0,1,1/2,1/4,1/8,…} [0,1]. A(f)B. Пусть х  (0,1), у  [0,1]. y={f(x), если xA и x, если xA. 

Принцип суммы.

Если |A|= m, |B|= n, AB= , тогда |AB|= m+n. Если объект А можно выбрать m- способами, В – n- способами и их совместный выбор не возможен, то выбор «А или В» осуществляется m+n- способами.

Принцип произведения.

|A|= m, |B|= n, тогда |AxB|= mn. Если объект А можно выбрать n- способами, то выбор «А и В» можно осуществить mn- способами.

Упорядоченная и неупорядоченная выборка.

Выборка называется упорядоченной, если важен порядок элементов. Упорядоченные выборки одинаковые по состоянию, но разные по порядку следования элементов называются разными. Упорядоченная выборка объёма n из n элементов, где все элементы разные называется перестановкой.

Теорема о числе перестановок.

Pn= n!.  1) База индукции P1= 1= 1! 2) Индуктивное предположение. Пусть при n=k, формула верна: Pk= k!

3) Индуктивный переход n= k+1. Выберем k+1 элемент (k+1) способом. Остальные k-элементов по индуктивному предположению их можно упорядочить k!-способами. По принципу умножения k+1 элементов можно упорядочить k!(k+1) способами, т.е. (k+1)! 

Упорядоченная выборка объёма r из n-элементов (r<n), где все элементы разные, называется размещением.

Теорема о числе размещений.

Anr=n!/(n-r)!.  Обозначим Anr= x, тогда в силу принципа произведения n!= x(n-r)!. Объект А – упорядоченная выборка из n по r. Объект В – перестановка из (n-r)!. Выбор «А и В» – перестановка из n элементов. x= n!/(n-r)!= Anr

Неупорядоченная выборка объёма r из n элементов (r<n), где все элементы разные называется сочетанием.

Теорема о числе сочетаний.

Сnr= n!/(r(n-r)!).  Пусть х – число сочетаний из n по r, тогда xr! – число размещений из n по r. A – неупорядоченная выборка объекта r из n элементов х-способами. В – перестановка среди выбранных r элементов r!-способами. Тогда «А и В» осуществляется xr! способами. «А и В» – размещение An2, x=Cnr= n!/((n-r)!r!). 

Размещения с повторениями – упорядоченная выборка объёма r из n элементов, где элементы могут повторяться.

Теорема о числе размещений с повторениями.

Anr(n)= nr.  Первый элемент выбирается n способами, 2-й – n способами и т.д. Anr= nr. 

Перестановки с повторениями – k1 - элемент 1-го типа; k2 – элемент 2-го типа … km – m-го типа. k1+ k2+… +km= n. Перестановки среди n элементов называются перестановкой с повторениями.

Теорема о числе перестановок с повторениями.

Cn(k1,k2,…,km)= n!/ (k1! k2! … km!).  А – перестановка с повторениями, число способов выбора – х. Все одинаковые элементы заменим на разные, тогда В1… Вn – перестановки среди k1… km, тогда «А и В» – перестановка среди n элементов – число = n!, x k1! k2! … km!= n!  x= Cn(k1 … km). 

Сочетание с повторениями – Пусть n типов элементов, в каждом типе элементов  m, тогда неупорядоченная выборка объёма m из этих элементов называется сочетанием с повторениями.

Теорема о числе сочетаний с повторениями.

Cnm(n)= Cn+m-1m= Cn+m-1m-1.  Пусть в выборку объёма m вошло m1 элементов 1-го типа, m2 – 2-го типа, …, mn -элементов n-го типа, m1+ m2+… +mn= m. (11…1011…1011…10…011…1}

m1 m2 m3 mn

Число выборок равно числу векторов = Cn+m-1n-1. (m+n-1) – длина вектора, (n-1) – количество нулей. 