Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические основы криптологии..pdf
Скачиваний:
103
Добавлен:
05.02.2023
Размер:
6.01 Mб
Скачать

Пример

Рассмотрим для примера выполнение следующего задания:

Задание: Выриант №12

Решение: Начнем с нахождения открытого текста. Запускаем LSR.exe

a)Включаем выключатель записи варианта в файл.

b)Загружаем файл для 12 варианта.

c) Выбираем вероятную биграмму – «ЕН». Получаем во второой строке блока «Сложение по модулю 2» строку «1100010111001101»

d) Предполагаем, что она стоит на месте 0-1. Таким образом, ничего не меняя, получаем в первой строке блока «Сложение по модулю 2» строку «0110101000001011»

327

e) Вероятная часть гаммы получена автоматически сложением двух строк.

f) Определим положение отводов в регистре при помощи метода основанного на нахождении обратной матрицы и введем первую строку матрицы А. Вызовем подпрограмму «Обработка матриц» кнопкой «Матрица А», заполним поля S1…S8 и нажмем кнопку «Вычислсть»

Как видно матрица А не имеет специального вида (см. выше), значит можно нажать кнопку «Вернуться» и выбрать следующее вероятное положение.

328

g) Выберем следующую позицию

Данная позиция также не даст положительных результатов.

Если продолжать выполнение, то мы переберем все возможные позиции вероятной биграммы (до 14-15) и не придем к удовлетворительному результату. Следовательно была ошибка в выборе биграммы.

h) Выберем новую биграмму и будем перебирать вероятные положения биграмм заново.

Перебирая положения и биграммы мы дойдем до вероятного положения биграммы 13-14 и биграммы ЕТ. Остановимся на этом случае.

i) Вероятная часть гаммы найдена автоматически

329

j) Определим положение отводов в регистре при помощи подпрограммы. То есть введем в поля ввода значения векторов S1…S8 (которые получаются из вероятной части ключа (см. поле ввода «=»)), нажмем кнопку «Вычислить» и получим значение строк обратной матрицы Х-1 и значение строк матрицы А. В данном случае матрица А имеет специальный вид, значит первая строка представляет собой положение отводов в регистре.

k) Введем найденное положение отводов в блоке «Положение отводов»

l) Промоделируем работу на 13 блоков назад и получим:

330

Начальное заполнение регистра

Гамму

Открытый текст

Мы получили осмысленный текст и файл отчета «lsr.log», который содержит информацию о проделанной работе.

Теперь необходимо по части ключа «1001001101001111»). с помощью алгоритма Берлекэмпа-Месси убедиться в правильности определения отводов регистра.

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

331

Составим таблицу для упрощения записей:

gN),ключи).В

D

 

T(D)

C(D)

L

m

B(D)

N),ключи).В

-

-

 

-

1

0

-1

1

0

1

1

 

1

1+D

1

0

1

1

0

1

 

1+D

1

1

0

1

2

0

0

 

1+D

1

1

0

1

3

1

1

 

1

1+D3

3

3

1

4

0

0

 

1

1+D3

3

3

1

5

0

0

 

1

1+D3

3

3

1

6

1

0

 

1

1+D3

3

3

1

7

1

1

 

1+D3

1+D3

5

7

1+D3

8

 

 

 

 

+D4

 

 

 

 

0

0

 

1+D3

1+D3

5

7

1+D3

9

 

 

 

 

+D4

 

 

 

 

1

0

 

1+D3

1+D3

5

7

1+D3

10

 

 

 

 

+D4

 

 

 

 

0

0

 

1+D3

1+D3

5

7

1+D3

11

 

 

 

 

+D4

 

 

 

 

0

1

 

1+D3

1+D3

7

11

1+D3

12

 

 

+D4

 

+D4

 

 

+D4

 

1

0

 

1+D3

1+D3

7

11

1+D3

13

 

 

+D4

 

+D7

 

 

+D4

 

1

0

 

1+D3

1+D3

7

11

1+D3

14

 

 

+D4

 

+D7

 

 

+D4

 

Таким образом мы получили, что ячейки регистра, породившего заданную последовательность, задаются формулой 1+D3+D7, если привести это выражение к уравнению, задающему положение отводов, то получим H(X)=X7+X4+1. Следовательно положение отводов в регистре, найденное двумя способами, оказалось одинаковым.

На этом выполнение работы завершено. Ответ: РЫБОЛОВНАЯ__СЕТЬ

Теперь необходимо распечатать файл отчета, приложить решение алгоритмом Берлекэмпа-Месси и сдать на проверку преподавателю.

332