Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Хранение и защита компьютерной информации. Лабораторный практикум
.pdf
Порядок выполнения работы
1. Для каждого из примеров ниже задать пять вариаций.
Сравнить полученные результаты. Ниже представлены шаблоны
выполнения.
Шаблон 1
Вывести на экран проверочную и порождающую матрицы для
3
кода Хэмминга с длиной кодового слова 7 = 2
ка исходного сообщения 4 = 7 – 3. Для этого используем команду:
>> [h,g,n,k] = hammgen(3)
Шаблон 2
Использовать явно заданный примитивный полином 1 + x
3
и показать (доказать), что вид проверочной матрицы зависит
x
от выбора примитивного полинома. А также сравнить матрицу
h1 с матрицей h из предыдущего примера (шаблона 1).
>> h1 = hammgen(3,[1 0 1 1])
Шаблон 3
А. Получить представления для трех порождающих полиномов циклического кода (15, 4) – первая из приведенных ниже
команд.
Б. Определить порождающий полином с максимальным весом (числом ненулевых коэффициентов) – вторая команда.
В. Доказать, что для циклического кода (15, 4) не существует порождающих полиномов с весом (числом ненулевых коэффициентов), равным трем, – третья команда.
>> c1 = cyclpoly(15,4,’all’)
>> c2 = cyclpoly(15,4,’max’)
>> c3 = cyclpoly(15,4,3)
– 1 и длиной бло-
2
+
Шаблон 4
Проверить четность и матрицу генераторов для двоичных циклических кодов. Для этого:
а) создать матрицы проверки на четность и генератор для
двоичного циклического кода, имеющего длину кодового слова 7
и длину сообщения 4:
41

>> pol = cyclpoly(7,4)
>> [parmat,genmat,k] = cyclgen(7,pol)
б) создать матрицу контроля четности, в которой код не яв-
ляется систематическим:
>> parmatn = cyclgen (7, pol, ‘nonsys’ )
в) создать матрицы контроля четности и генератора для (7,
3) двоичного циклического кода:
>> parmat2 = cyclgen (7, ‘1 + x ^ 2 + x ^ 3 + x ^ 4’)
Шаблон 5
Преобразовать проверочную матрицу для кода Хэмминга в со-
ответствующую порождающую матрицу и обратно:
>> parmat = hammgen(3)
>> genmat = gen2par(parmat)
>> parmat2 = gen2par(genmat) % Результат должен быть
равен parmat
Шаблон 6
Показать три способа вычисления кодового расстояния для
циклического кода (7, 4).
>> n = 7 % Порождающий полином для циклического кода (7,4)
>> genpoly = cyclpoly(n,4)
>> [parmat, genmat] = cyclgen(n,genpoly)
>> wts = [gfweight(genmat,’gen’), gfweight(parmat,’par’),
gfweight(genpoly,n)]
Шаблон 7
Вычислить синдром декодирования.
Для кода Хэмминга (7, 4):
>> m = 3
>> n = 2^m-1
>> k = n-m
>> parmat = hammgen(m) % Проверочная матрица
>> trt = syndtable(parmat) % Таблица декодирования
Пусть принятое кодовое слово – [1 1 0 1 1 0 0].
Путем умножения проверочной матрицы на транспонирован-
ное кодовое слово вычислить синдром декодирования.
42

>> parmat*[1;1;0;1;1;0;0]
ans =
2
3
1
В двоичной системе счисления получили – [0 1 1]. Десятичное значение синдрома – 3. Соответствующий вектор ошибок,
таким образом, следует брать из четвертой (3 + 1) строки таблицы декодирования:
>> trt(4,:)
ans =
0 0 0 0 1 0 0
Следовательно, требуется инвертировать пятый разряд принятого кодового слова – [1 1 0 1 0 0 0].
2. Запустить Simulink и выбрать раздел Communication Sys-
tem Toolbox. Собрать модель системы передачи дискретных сообщений, состоящую из:
– двоичного генератора Бернулли, генерирующего случай-
ные двоичные числа;
– кодера помехоустойчивого кода (выбрать самим);
– двоичного симметричного канала, главная функция кото-
рого – имитация ошибок в дискретном канале;
– декодера помехоустойчивого кода, находящего и исправ-
ляющего ошибки в кодовых комбинациях;
– счетчика ошибок, вычисляющего коэффициент ошибок в
полученных кодовых комбинациях путем их сравнения с кодовыми комбинациями на входе дискретного симметричного двоичного канала;
– цифрового дисплея для отображения результатов моделирования.
На рисунке 5.1 приведен пример модели системы передачи
дискретных сообщений, использующей код Хэмминга.
3. Выполнить моделирование системы передачи для разных
значений вероятности ошибки на бит.
4. Получить результаты – значение вероятности ошибки
на бит на выходе системы для заданных значений вероятности
ошибки на бит в дискретном канале.
5. Построить графики зависимости вероятности ошибки от
значений вероятности ошибки на бит в дискретном канале.
43

Рис. 5.1. Модель системы передачи дискретных сообщений
с использованием кода Хэмминга
6. Заменить двоичный симметричный канал на модель непрерывного канала связи, включающую в себя модулятор, демодулятор и непрерывный канал с аддитивным белым Гауссовским шумом (AWGN Channel). Вид модуляции и параметры
непрерывного канала выберете сами, а также поварьируйте ими.
Сделайте выводы.
Отчет по работе
Каждый студент составляет отчет о проделанной работе объ-
емом 4-5 с., который должен содержать следующие материалы.
1. Краткое изложение теории.
2. Краткое описание методики проведения лабораторной работы.
3. Исходные данные, расчеты и их результаты.
4. Выводы о проделанной работе.
Контрольные вопросы
1. Как сгенерировать проверочную и порождающую матрицы
для кода Хэмминга?
2. Как сгенерировать порождающий полином, проверочную и
порождающую матрицы для циклического кода?
3. Как можно выполнить преобразование порождающей матрицы в проверочную и обратно?
4. Как рассчитать кодовое расстояние для линейного блокового кода?
5. Как сгенерировать таблицу зависимости векторов ошибок
от синдрома (таблицы декодирования) для двоичных кодов?
6. Каковы функции основных блоков Communications System
Toolbox?
7. Что представляют собой кодеры и декодеры Communications System Toolbox?
44

Лабораторная работа 6
ПАРОЛЬНАЯ ЗАЩИТА ИНФОРМАЦИИ
Цель работы
Изучить методы парольной защиты информации, создать слу-
чайные пароли для списка пользователей.
Теоретическая часть
Пользователи задают пароли самостоятельно или получают их от системных администраторов. Для снижения деструктивного влияния человеческого фактора необходимо реализовать ряд требований к выбору и использованию паролей
(табл. 6.1).
Таблица 6.1
Требования к выбору и использованию паролей
Требование к выбору пароля Получаемый эффект
Установление минимальной
длины пароля
Использование в пароле различных групп символов
Проверка и отбраковка пароля по словарю
Установление максимального
срока действия пароля
Установление минимального
срока действия пароля
Ведение журнала истории
паролей
Применение эвристического алгоритма, бракующего
пароли на основании данных
журнала истории
Создает препятствие для злоумышленника
подсмотреть или подобрать пароль методом «тотального опробования»
Создает препятствие для злоумышленника
подобрать пароль методом «тотального
опробования»
Создает препятствие для злоумышленника
подобрать пароль по словарю
Создает препятствие для злоумышленника
подобрать пароль методом «тотального
опробования», в том числе без непосредственного обращения к системе защиты
(режим offline)
Препятствует попыткам пользователя поменять пароль на старый после его смены
по предыдущему требованию
Гарантирует дополнительную степень защиты по предыдущему требованию
Создает препятствие для злоумышленника
подобрать пароль по словарю или с использованием эвристического алгоритма
45

Окончание табл. 6.1
Требование к выбору пароля Получаемый эффект
Ограничение числа попыток
ввода пароля
Поддержка режима принудительной смены пароля
пользователя
Использование задержки при
вводе неправильного пароля
Запрет на выбор пароля самими пользователями и автоматическая генерация паролей
Принудительная смена пароля при первой регистрации
пользователя в системе
Усложняет задачу злоумышленнику при
интерактивном подборе паролей
Гарантирует эффективность требования,
ограничивающего максимальный срок
действия пароля
Усложняет задачу злоумышленнику при
интерактивном подборе паролей
Исключает возможность подобрать пароль
по словарю. Если злоумышленнику не известен алгоритм генерации паролей, то он
может подбирать пароли только методом
«тотального опробования»
Дает гарантию защиты от неправомерного
действия системного администратора, у
которого есть доступ к паролю в момент
создания учетной записи
Рассмотрим примеры.
Пример 1
ес
Дано. Пароль состоит из ш
а
ролей в секунду.
п
сле ка
По
ауза
в v = 5 секунд.
п
преде
О
ждого из m = 3 неправильно введенных паролей идет
лить время перебора всех паролей Т
ти цифр. Скорость перебора s = 10
итог
Решение.
а
вит составляют цифры n = 10.
Алф
а па
Длин
Колич
емя пере
Вр
t
= C / s = 10
роля 6 символов
ес
тво вариантов С = nk = 106.
бора всех паролей
5
се
кунд ≈ 1667 минут ≈ 28 часов ≈ 1,2 дня.
k
= 6 (по условию).
:
.
Вр
емя пере
Ответ: Т
46
бора всех паролей при m = 3 и v = 5
T = 5
t /
3 = 166 667секунд ≈ 2778 минут ≈
≈ 46 часов ≈ 1,9 дня.
=t + T = 1,2 + 1,9 = 3,1 дня.
итог
:

Дано. Пароль (алфавит)
ере
бора – не меньше 10 лет.
п
еде
Опр
лить минимальную длину пароля.
Решение.
а
вит составляют символы n = 10.
Алф
а па
Длин
Колич
роля р
ес
тво вариантов
асс
читывает
Пример 2
сос
ся: k
:
тоит из 10 символов. Время
= logn C = lg C.
C = t × s = 10 лет × 10 паролей в секунду =
= 10 × 10 × 365 × 24 × 60 × 60 ≈ 3,15 × 10
Длина п
Ответ: длин
а
роля:
k
= lg (3,15 ∙ 109) = 9,5.
а па
роля должна быть не менее 10 символов.
9
вариантов.
Порядок выполнения работы
1. Определить время перебор
– алфавит состоит из n символов;
– длин
а па
роля =
k с
имволов;
– скорость перебора = s паролей в секунду.
По
сле ка
ждого из m неправильно введенных паролей идет п
уза в v секунд.
2. Заполнить таблицу в Excel, построить графики зависимо-
стей времени перебора от n,
Пример таблицы представлен ниже (числовые значения возьмите свои) – табл. 6.2.
Исходные данные для определения времени перебора
n k s m v
33 10 100 0 0
26 12 13 3 2
52 6 30 5 10
66 7 20 10 3
59 5 200 0 0
118 9 50 7 12
128 10 500 0 0
150 3 200 5 3
250 8 600 7 3
500 5 1000 10 10
а (табл. 6.2) все
k,
s (три графика) и сделать выводы.
х паролей, если
Таблица 6.2
а-
47

Окончание табл. 6.2
n k s m v
32 9 200 0 12
27 10 50 7 0
50 7 500 0 3
65 5 200 5 3
60 9 600 7 10
110 10 1000 0 2
120 3 100 3 10
160 8 13 5 3
240 7 30 10 0
510 5 20 0 0
3. Определить минимальную длину парол
– алфа
вит состоит из n символов;
я (табл. 6.3)
, если:
– время перебора – не меньше t лет;
– скорость перебор
а =
s паролей в секунду.
4. Заполнить таблицу в Excel, построить графики зависи-
t,
мостей длины пароля от n,
s (три графика) и сделать выводы.
Пример таблицы представлен ниже (числовые значения возьмите свои) – табл. 6.3.
Таблица 6.3
Исходные данные для определения минимальной длины пароля
n t s
33 100 100
26 120 13
52 60 30
66 70 20
59 50 200
118 90 50
128 100 500
150 30 200
250 80 600
500 50 1000
32 90 50
27 100 500
50 30 200
65 80 600
60 50 1000
110 100 100
48

n t s
120 120 13
160 60 30
240 70 20
510 50 200
Окончание табл. 6.3
5. Определить количество символов алфавит
а (табл. 6.4)
если:
– длин
роля =
k с
имволов;
а па
– время перебора – не меньше t лет;
– скорость перебора = s паролей в секунду.
6. Заполнить таблицу в Excel, построить графики зависи-
t,
мостей символов алфавита от k,
s (три графика) и сделать вы-
воды. Пример таблицы представлен ниже (числовые значения
возьмите свои) – табл. 6.4.
Таблица 6.4
Исходные данные для определения символов алфавита
k t s
5 100 100
6 120 13
10 60 30
7 70 20
9 50 200
11 90 50
12 100 500
6 30 200
8 80 600
50 50 1000
11 90 50
12 100 500
6 30 200
8 80 600
50 50 1000
5 100 100
6 120 13
10 60 30
7 70 20
9 50 200
,
49

7. Создать случайные пароли для списка пользователей.
Сохраняем файл Excel как Книга Excel с поддержкой макросов
(*xlsm). Далее сочетанием клавиш Alt + F11 вызываем Micro-
soft Visual Basic For Applications. В окне Project щелкаем правой
кнопкой мыши, выбираем Insert → Module и вставляем следующее:
Function CREATEPASS(Optional LENGTH As Integer = 8,
Optional USE_SYMBOL As Boolean = False) As String
Dim i As Integer
Dim simb As String * 1
Dim arrsimb As Integer
Dim password As String
Randomize
If USE_SYMBOL = False Then
For i = 1 To LENGTH
arrsimb = Int(Rnd * 3)
Select Case arrsimb
Case 0
simb = Int(Rnd * 9)
Case 1
simb = Chr(Int((90 - 65 + 1) * Rnd + 65))
Case 2
simb = Chr(Int((122 - 97 + 1) * Rnd + 97))
End Select
password = password & simb
Next
Else
For i = 1 To LENGTH
simb = Chr(Int((126 - 33 + 1) * Rnd + 33))
password = password & simb
Next
End If
CREATEPASS = password
End Function
Для создания цифробуквенного пароля (рис. 6.1) в ячейке
вводим: =CREATEPASS(10), где 10 – длина пароля. Для фор-
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
