Скачиваний:
11
Добавлен:
28.03.2019
Размер:
874.21 Кб
Скачать

4) В криптографии для тестирования качества поточных шифров и исследования генераторов псевдослучайных чисел на их аналитическую сложность.

Отметим следующие результаты исследований ЛС.

Эффективным алгоритмом вычисления ЛС заданной ЛРП и нахождения ЛРС минимальной длины, реализующего эту последовательность и определяющего вид соответствующего характеристического полинома, является алгоритм Берлекэмпа-Месси (АБМ).

Также есть графическая форма отображения ЛС. Функция L(i) с областью значений из множества натуральных чисел называется профилем линейной сложности последовательности

u

[9],

если значение функции L(i) задает линейную сложность подпоследовательности

ui

(s0

, s1 , ... , si 1 ) для всех i 1, lc , где lc – длина последовательности u. Профиль ЛС можно

интерпретировать как двумерный график в декартовых координатах: по оси абсцисс отложены значения длины последовательности ui, а по оси ординат – значения функции L(i). Профиль состоит из множества горизонтальных отрезков, аппроксимируемых прямой L(i)=i/2. Профиль ЛС применяется в качестве статистического теста – для проверки тождественности профилей случайных и псевдослучайных генерируемых последовательностей.

Алгоритм линейного синтеза Берлекампа-Мэсси

Задача алгоритма – найти регистр сдвига с линейной обратной связью, который

соответствующих начальных условиях порождает заданную последовательность

1 , 2 , ...,

и является при этом кратчайшим.

Пусть произвольный РСЛОС задается многочленом обратной связи вида

при

r ,

f (x)

f

n

x

n

f

n 1

x

n 1

... f

1

x 1

 

 

 

 

 

 

 

 

 

 

 

и длиной L регистра сдвига. Тогда для построения регистра сдвига надо определить две величины, обозначаемые как пара (L, f(x)), где deg f(x) L.

Рассматриваемая процедура построения является рекурсивной. Для каждого r, начиная с

r = 1, будем строить регистр сдвига, порождающий последовательность

 

0

,

, ...,

r . Регистр

 

1

 

сдвига минимальной длины, порождающий такую последовательность, обозначим через (Lr, f(r)(x)). Этот регистр не обязательно должен определяться однозначно; возможно существование нескольких таких регистров с одной и той же длиной. К началу r-го шага имеется список регистров сдвига

(L1 , f

(1)

(x)), (L2 , f

(2)

(x)), ... , (Lr 1

, f

(r 1)

(x)) .

 

 

 

Алгоритм

Берлекампа-Мэсси

вычисляет новый кратчайший регистр (Lr, f(r)(x)),

генерирующий последовательность

1, 2 , ..., r . Для этого используется самый последний из

вычисленных регистров, в котором по мере надобности модифицируются длина и коэффициенты в точках съема.

На r-м шаге вычисляется следующий элемент на выходе (r - 1)-го регистра сдвига (над некоторым полем, не обязательно GF(2)):

Lr 1

 

 

 

 

aˆr f j(r 1)

ar j .

 

 

 

j 1

 

 

 

 

Пусть r обозначает разность между требуемым элементом на выходе

r

и истинным

элементом, полученным на выходе самого последнего регистра сдвига.

 

 

 

L

 

 

 

 

r 1

ar j

 

 

r ar aˆr ar f j

 

 

 

(r 1)

 

 

 

 

j 1

 

 

 

Эквивалентно,

 

 

 

 

 

L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r 1

 

 

ar j .

 

 

 

 

 

 

 

 

 

r f j

 

 

 

 

 

 

 

 

 

 

 

 

 

(r 1)

 

 

 

 

 

 

 

 

 

 

 

j 0

 

 

 

 

 

 

 

 

 

 

 

 

Если

 

r

0

то полагаем

(L

,

f

(r)

(x)) (L

r 1

,

f

(r 1)

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

В противном случае изменим коэффициенты многочлена

(x)) и завершаем этим r-тую итерацию.

обратной связи по правилу:

f (r) (x) f (r 1) (x) A xl f (m 1) ,

где А – элемент поля, l – целое число, и f(m-1)(x) – один из многочленов обратной связи,

встречавшийся ранее в сформированном списке регистров сдвига. Используя этот новый многочлен, определим

 

L

L

L

 

'

r 1

r 1

r 1

 

(r)

(r 1)

(m 1)

ar j 1 .

r f j

ar j f j

ar j A f j

 

j 0

j 0

j 0

 

Теперь все готово для определения величин m, l и A. Выберем m меньше r и такое, что

m

0; l r

'r r

1

r . Тогда:

m и A m

r m 0 ,

m

так что новый регистр сдвига будет генерировать последовательность

1 , 2 , ..., r . У

нас остался произвол в выборе т, для которого

m 0

. Выбрав в качестве т номер ближайшей

итерации, для которой выполнялось условие

 

 

Lm > Lm-1, получим в каждой итерации регистр сдвига минимальной длины.

В более строгой форме алгоритм Берлекампа-Мэсси формулируется следующим образом.

Теорема. Пусть заданы 1 , 2 , ..., n из некоторого поля, и пусть при начальных условиях f(0)(x)=1, t(0)(x)=1 и L0 = 0 выполняются следующие рекуррентные равенства,

используемые для вычисления f(n)(x):

r

Lr

frt

 

n 1

 

 

 

 

 

 

 

 

 

f j(r 1) ar j ,

 

 

j 0

 

 

 

 

 

 

 

 

 

 

r

(r L

r

1

) (1

 

 

 

 

 

 

 

 

(r)

(x)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x)

 

 

 

1

 

 

(1

 

 

 

 

r

 

r

 

 

 

 

 

 

 

 

 

r ) Lr ,

 

 

 

 

 

 

r

x f

(r 1)

(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

) x

(r 1)

 

 

r

t

(x)

 

 

 

 

 

 

 

 

 

 

 

 

,

где r = 1,2,…, 2n; r 1, если одновременно противном случае. Тогда f(2r)(x) является многочленом которого удовлетворяют равенствам f0(2r) = 1 и

 

r

0

и

2 L

r

1 r 1,

и

r

0

в

 

 

 

 

 

 

 

 

наименьшей степени, коэффициенты

n 1

ar

j 1 r L2r

В этой

f j(2r) ar j

1, ..., 2r .

теореме

r

0,

может обращаться в нуль, но только в том случае, когда r 0 .

Положим тогда по определению

1

 

 

 

r

r

 

 

0

.

Результаты анализа

Для анализа линейной сложности определить линейную сложность и последовательности. Для формирования

будет использоваться программа, позволяющая строящая профиль линейной сложности последовательностей будет использоваться

программная реализация ГПСЧ на основе LFSR, с помощью которой будем получать различные последовательности. Данный программный комплекс моделирует структуру регистра сдвига, на основании которого строится ПСП.

Анализ ПСП, полученных с помощью ГПСЧ на р-ичных регистрах сдвига

1)

p 2;

 

 

 

 

f (x) x

9

x

4

1.

 

 

Рис. 2.7. Профиль линейной сложности ПСП при

p 2;

f (x) x

9

x

4

1

 

 

На рис. 2.7 представлен

p 2;

f (x) x

9

x

4

1

. Линейная

 

 

многочлена n=9.

Порядок выполнения работы

профиль линейной сложности для ПСП при

сложность равна степени характеристического

1.Изучить теоретический материал по данной теме.

2.Используя систему GENERATO.EXE. смоделировать работу генератора ПСЧ, основанного на регистре сдвига. В качестве исходных данных рекомендуется задать структуру ГПСЧ, отобранную по итогам лабораторного занятия №2.

Результат выполнения данного пункта – файл ПСЧ.

3.Используя программный ГПСЧ, созданный на лабораторном занятии №3, создать второй файл ПСЧ.

4.Применяя систему ANALYZE.EXE, проанализировать качество аппаратного и программного генераторов ПСЧ (по двум файлам чисел).

5.Проанализировав результаты исследований, сделать вывод о качестве созданных Вами аппаратного и программного ГПСЧ, отобрать лучший из них для дальнейшего применения в статистическом моделировании.

6.Удалить созданные Вами в процессе работы файлы данных.

7.Результаты исследований по двум файлам оформить в отчет по лабораторной

работе.

Замечание. Формируемые в п.2,3 файлы должны содержать не менее 5000-10000 чисел. Файлы рекомендуется создавать на диске b: и сопровождать расширением *.dat.

Лабораторная работа №8

Автокорреляционная функция

а) Коэффициент корреляции. Пусть выборочные наблюдения состоят из n пар измерений

(x ; y

i

i

будет

); i 1; n [8].

Соответствующей мерой степени линейной зависимости между переменными X и Y

статистика

 

1

n

 

 

 

 

 

 

 

 

 

 

i

x)

( y

i

y)

 

n

 

(x

 

 

r

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

 

 

 

 

S

x

y

 

 

 

 

 

 

 

 

 

 

 

где Sx — стандартное отклонение множества значений х, a Sy - стандартное отклонение значений у.

Статистика r называется коэффициентом произведения моментов линейной корреляции, или просто коэффициентом корреляции [8].

Числитель в формуле для r есть среднее произведение соответствующих отклонений х и у от их выборочных значений (отсюда название произведение моментов). Эту величину называют выборочной ковариацией X и Y и обозначают Sxy. С помощью этого обозначения коэффициент корреляции можно переписать следующим образом:

 

 

 

 

 

1

n

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

(xi

 

 

) ( yi

 

)

 

 

 

 

 

(xi

 

 

)(yi

 

)

 

 

 

 

 

Sxy

 

 

 

x

y

 

 

 

 

x

y

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

n i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

;

Sx Sy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

n

 

 

 

 

n

 

n

 

 

 

 

(xi

 

)2

 

 

 

 

( yi

 

)2

 

 

 

 

(xi

 

)2

 

 

( yi

 

)2

 

 

 

 

 

 

x

 

 

y

 

 

 

 

x

y

 

 

 

 

 

i 1

 

 

 

 

 

 

 

i 1

 

 

 

 

i 1

 

i 1

n n

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

Сначала найдем значение r для двух простых случаев.

Пример Наблюдения:

x

2

4

6

8

 

 

 

 

 

y

2

5

7

10

 

 

 

 

 

График рассеяния показан на рис. 2.12.

Вычисление r:

x 5; y 6.

x x

y y

-3 -1 1 3

-4 -1 1 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sx

 

9 1 1 9

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16 1 1 16

 

 

26 / 4

 

 

 

Sx

4

 

 

;

 

r

 

 

 

 

 

 

 

 

0.997.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

32

 

 

 

 

 

 

 

 

 

 

 

( 3)( 4) ( 1)( 1) 1 1 3 4

 

 

2

2

 

 

 

Sx

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

10

8

6

4

2

2

4

6

8

10

X

 

 

 

 

 

Рис. 2.12. График рассеяния

Любому множеству данных, у которых график рассеяния имеет отчетливое линейное направление, будет соответствовать значение r, близкое по абсолютной величине к 1; оно будет положительным, когда обе переменные одновременно либо возрастают, либо убывают, и

отрицательным, когда одна переменная возрастает, а другая убывает.

б) Свойства коэффициента корреляции.

Из определения коэффициента корреляции r следуют его свойства:

1)r - число, лежащее между –1 и + 1 включительно;

2)если r = + 1 (или –1), то точки выборки лежат на одной прямой;

3)если значение r близко к + 1 (или –1), то существует сильная линейная зависимость между переменными;

4)если r мало (близко к нулю), то корреляция между переменными слабая,

даже в том случае, если график рассеяния указывает на некоторую нелинейную зависимость между переменными;

5) r - безразмерная величина; она не зависит от единиц измерения X и Y и от выбора начала.

Коэффициент корреляции будет хорошей мерой тесноты линейной связи двух переменных.

в) Формула для вычисления.

Как показано в п. а), коэффициент корреляции может быть вычислен непосредственно

по формуле

r

 

S

xy

 

 

 

 

 

 

 

 

 

 

 

S

x

S

y

 

 

 

 

. Однако вычисления значительно упростятся, если воспользоваться

следующей формулой для нахождения Sxy:

Sxy xy x y (*). n

Данная формула является эквивалентной формуле

 

1

n

Sxy

(xi

 

) ( yi

 

).

x

y

 

n i 1

Аналогичные формулы могут быть записаны и для дисперсий:

2

 

x2

 

 

 

 

2

 

 

x

(**);

Sx

n

 

 

 

 

 

 

 

 

 

 

 

2

 

y2

 

 

 

 

 

2

 

 

y

(***).

Sy

n

 

 

 

 

 

 

 

 

 

 

С помощью формул (*), (**), (**) и при необходимости линейного преобразования переменных (r не изменяется при таких преобразованиях) вычисление r становится сравнительно простой процедурой:

 

 

 

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

Sxy

 

 

 

 

x y

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sx Sy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

2

 

 

y2

 

 

2

 

 

 

 

 

x

y

 

 

 

 

 

 

n

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример.

Наблюдения:

x

2

4

6

8

 

 

 

 

 

y

2

5

7

10

 

 

 

 

 

 

 

 

 

x 5;

 

 

 

 

 

 

 

 

 

 

y 6.

 

 

 

 

 

 

Решение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

 

 

4

 

16

36

 

64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

2

 

 

4

 

25

49

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

 

 

4

 

20

42

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 120;

 

 

 

 

 

 

 

 

y

2

178;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y 146.

 

 

 

 

 

 

 

2

 

 

120

25

5;

 

 

 

 

Sx

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

178

 

 

17

 

 

 

2

 

 

36

 

 

 

 

S y

 

 

4

 

 

2

; r

 

 

 

 

 

 

 

 

 

 

 

 

Sxy

 

 

146

30

13

 

 

 

 

4

 

2

 

,

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

0.997.

 

 

 

 

 

 

 

 

 

 

 

17

 

 

 

5

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

г) Виды корреляционных функций.

Как было показано в предыдущих пунктах, корреляцию можно вычислить по одной из двух формул:

 

 

n

i

 

 

i

 

 

 

 

 

 

y)

 

r

 

 

(x

x) ( y

 

 

i1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

i

 

 

n

 

i

 

 

 

 

 

 

 

 

 

 

 

(x x)

2

 

( y y)

2

 

 

 

 

 

 

i1

 

 

 

 

i1

 

 

 

или

 

 

 

xy

 

 

 

 

 

 

 

 

 

 

 

 

 

x y

 

 

 

 

r

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

2

 

 

y2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

 

 

n

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В зависимости от значения

различают периодическую КФ (ПКФ),

если суммирование идет до

n , где

[6].

 

верхнего индекса суммирования в данных формулах если суммирование идет до n, и импульсную КФ (ИКФ),

– это относительный сдвиг последовательностей Х и Y

Если Y является задержанной копией Х, то КФ называется автокорреляционной функцией (АКФ), в противном случае – взаимной корреляционной функцией (ВКФ). На рис. 2.13 символически представлена процедура вычисления импульсных АКФ (а), импульсных ВКФ (б), периодических АКФ (в) и периодических ВКФ (г).

X

X

X

X

X

X

X

Y

 

X

 

Y

а.

б.

 

в.

 

г.

Рис. 2.13 а – ИАКФ; б – ИВКФ; в – ПАКФ; г – ПВКФ

Значение АКФ при 0 называется главным лепестком (ГЛ) АКФ, а при 0 боковым лепестком (БЛ) АКФ [6].

Для анализа последовательностей будет использоваться программная реализация ГПСЧ на основе LFSR, с помощью которой будем получать различные последовательности. Данный программный комплекс моделирует структуру регистра сдвига, на основании которого строится ПСП. Также данная программа позволяет построить периодические автокорреляционные функции.

1)

p 7;

 

 

 

 

 

f (x) x

3

x

2

5

x 2.