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

Держинский Р.И. Математические основы информационной безопасности

.pdf
Скачиваний:
20
Добавлен:
23.06.2023
Размер:
1.02 Mб
Скачать

N = pq; φ(N) = N – p – q + 1 = (p-1)(q-1)

Обобщенная теорема Эйлера

x Z*N : xφ(N) ≡ 1{N}

Пример: 5φ(24) = 58 = 390625 = 1{24}

Обобщенная теорема Эйлера является базисным понятием криптографии, носит более широкий характер, чем теорема Ферма и является основой криптосистем стандарта RSA.

Нелинейные сравнения

Задача извлечения корня произвольной степени из некоторого целого числа по модулю n.

Число x Z*p| xt ≡ C{P} называется корнем C степени t из числа x.

Лемма: Z*px → x2 не является биекцией

{10}

 

{11}

12

 

1

102

 

1

22

 

4

92

 

4

32

 

9

82

 

9

42

 

5

72

 

5

52

 

3

62

 

3

 

53

Определение: число x Zp называется квадратичным вычетом (QR), если оно имеет квадратный корень Zp.

Если Р – простое число, то

QR{p}(p) = P−21 + 1 – число вычетов

Модальная теорема Эйлера

−1

−1

x Z*p, где p – нечетное простое число, тогда 2 ≡ 1{P}. Значение 2 называют символом Лежандра.

−1

Лемма: C Z*p sqrt(C) = C{P} 2

Если p ≡ 1{4}, то корень может быть вычислен за кратчайшее время, во всех остальных случаях время пропорционально O(log23P).

Квадратные уравнения по модулю p

ax2 + bx + c = O{p}

Особенности вычисления: x1,2 = (2a1 )*(-b± D1/2) D – дискриминант. Корень из D на конечном поле может и не существовать.

Функция Dlogq(gx) = x, x [0; q -2] называется функцией дискретного логарифмирования.

Z11

Dlog2(1) = 0{11}

Dlog2(2) = 1{11}

Dlog2(3) = 8{11}

Dlog2(4) = 2{11}

Dlog2(5) = 4{11}

54

Dlog2(6) = 9{11}

Dlog2(7) = 7{11}

Dlog2(8) = 3{11}

Dlog2(9) = 6{11}

Dlog2(10) = 5{11}

Функция дискретного логарифма может быть обобщена. Пусть G =<g>q-1={1; g; g2;

… ;gq-1}. Говорят, что задача дискретного логарифмирования является вычислительно сложной в циклической группе G, если любому алгоритму , вычисляемому за полиномиальное время, вероятность Pg←G; x Zp [(G, q; qx) = x] составляет пренебрежимо малую величину.

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

Лучшим из известных алгоритмом дискретного логарифмирования таких типов задач является алгоритм – решетка числового поля. Его трудоемкость – 0( 1/3), где n –

числа в битах.

Следующая вычислительно сложная процедура – факторизация. Факторизация – разложение составного числа на простые составляющие.

Z+2(n) = {N/N = pq}, где p и q – n-битные простые числа, их нахождение является вычислительно сложной задачей.

На данный момент рекордом является факторизация 768 битного числа.

Необходимые сведения из теории вероятностей

U – финитное множество. Cap|U| - мощность этого множества. Можно сопоставить частоту появления элементов этого множества во входном потоке шифрования/дешифрования, то есть собрать статистику их встречаемости. Эта частота будет стремиться к вероятности появления элемента множества входного/выходного

потока.

55

P: U → B1

∑ p(x)=1

Если все символы множества во входном/выходном потоке равновероятны, то распределение носит равномерный характер.

P(x) = 1

capU

P(x0) = 1; x0 U

P(x0) = 0; x U

Рассмотрим случай совпадения множества U с булевым кубом Bn и исследуем вопросы распределения вероятностей для таких случаев:

Полная группа элементарных событий имеет вид [p(0; 0; … ; 0); p(0; 0; … ; 1); … ; p(1; 1;

… ; 1)]. Θ U.

Pr(Θ) = [(0, 0, … , 0); …; (1, 1, … , 1)]

Мощность множества Θ определяется по формуле | Θ |= 2

cap|B|

Pr[Θ] = ∑ p(x) – по всем событиям из покрытия Bn.

τ B8;

τB8

lsb2(x) = 11 (младший бит)

B8

msb2(x) = 11 (старший бит)

Теорема сложения вероятностей

p[A1 A2] ≤ p[A1] + p[A2]

p[A] = 0.5

56

p[(lsb2(x) = 11) (msb2(x) = 11)] ≤ 0.25 + 0.25 = 0.5

X: U → Vx

Bn → B1

p[x = 0] = 0.5 p[x = 1] = 0.5 p[x = v]: p[x-1(v)]

Пусть U – финитное множество. Равновероятность выбора а Up[r = a] = capU1 .

Вероятностный алгоритм

: y ← (m). По выходному значению случайной переменной m однозначно вычисляется значение выходной переменной y.

C ← (m)

p[A B] = p[A]p[B]

Случайные величины x и y независимы, если для а;b V:

p[(Y = b)] p[(x = a)] = P[(x = a)]p[(Y = b)]

U = B2

00

01

10

11 r← U

x = lsb(r) y = msb(r)

p[(x = 0) (y =0)] = p[(r = 00)] = 0.5 = p[x = 0]*p[y = 0]

xBn

57

y – независимая от x равномерно распределенная величина на Bn.

Z:=x + y – новая случайная величина, представляет собой равномерно распределенную случайную величину.

Теорема (парадокс дней рождения):

r1, … ,rn U. n = 1, 2, …, sqrt(capU) . Тогдаp[ i ≠ j; ri = rj] ≥ 0.5

58

Литература

1. Зегжда П.Д. Теория и практика обеспечения информационной безопасности. - М.:

Москва, 1996 - 292 с.

2. Казарин О.В. Методология защиты программного обеспечения. - М.: МЦНМО Москва,

2009 - 464 с.

3.Запечников С.В., Казарин О.В., Тарасов А.А. Криптографические методы защиты информации. - М.: ЮРАЙТ, 2015 - 309 с.

4.Грушо А.А., Применко Э.А., Тимошина Е.Е. Теоретические основы компьютерной безопасности. - М.:Academia, 2009 - 340 с.

5.Романьков В.А. Введение в криптографию. - М.: Форум, 2012 - 240 с.

6.Бабаш А.В., Баранова Е.К. Криптографические методы защиты информации. - М.:

КноРус, 2017 - 200 с.

59