Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к ЛР Информатика.pdf
Скачиваний:
30
Добавлен:
10.05.2015
Размер:
1.37 Mб
Скачать

58

3.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.Ознакомиться с теоретическими сведениями.

2.Получить вариант задания у преподавателя.

3.Выполнить задание.

4.Продемонстрировать выполнение работы преподавателю.

5.Оформить отчет.

6.Защитить лабораторную работу.

4.ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА

Отчет по лабораторной работе должен содержать следующие разделы:

титульный лист;

цель работы:

задание на лабораторную работу;

ход работы;

ответы на контрольные вопросы;

выводы по проделанной работе.

5.ЗАДАНИЕ НА РАБОТУ

Всоответствии с номером варианта получить для приведенного в шестнадцатеричном формате в виде четырех пар 4-битовых чисел исходного 32-битного сообщения (таблица 15) циклический избыточный код.

Таблица 15. Варианты заданий на работу

Вариант

Последовательность символов

Полином

1

4F

4E

45

20

x7 + x3 + 1

2

73 61 67 65

x8 + x2 + x + 1

3

65 6E 63 65

x8 + x7 + x3 + x2 + 1

4

61 67 65 73

x8 + x5 + x4 + 1

5

6B 69 6E 64

x8 + x7 + x6 + x4 + x2 +1

6

20 74 68 65

x10 + x9 + x5 + x4 + x + 1

6.КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Какой логической операции эквивалентны сложение и вычитание в CRC-арифметике?

2.Чему равна степень полинома 1101111?

3.Какая арифметическая операция является основной при вычислении циклического избыточного кода?

59

4.Для каких целей при передаче сообщений по линиям связи к ним добавляется циклический избыточный код, уменьшая тем самым пропускную способность канала?

5.Назовите главную особенность полиномиальной арифметики по

модулю 2.

6.Необходимо ли на принимающей стороне при проверке сообщения отбрасывать контрольную сумму?

7.ЛИТЕРАТУРА

1.Кнут Д.Е. Искусство программирования. Том 2. Получисленные алгоритмы. 3-е издание. — М.: Вильямс, 2005. — 832 с.

2.Таненбаум Э. Компьютерные сети. — СПб.: Питер, 2006. — 992 с.

60

ЛАБОРАТОРНАЯ РАБОТА №11

БАЗОВЫЕ ТЕХНОЛОГИИ КРИПТОГРАФИИ. СИММЕТРИЧНОЕ ШИФРОВАНИЕ И ОДНОСТОРОННИЕ ХЭШФУНКЦИИ

1. ЦЕЛЬ РАБОТЫ

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

2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Криптографический алгоритм, также называемый шифром,

представляет собой математическую функцию, используемую для шифрования и дешифрирования. Под шифрованием понимают процесс преобразования открытых данных в зашифрованные при помощи ключа. Дешифрование обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный. Ключ это информация, необходимая для беспрепятственного шифрования и дешифрования данных. Ключ может быть любым значением. Обычно он представляет собой после- довательный ряд цифр и букв алфавита.

Множество возможных ключей называют пространством ключей.

Криптосистема представляет собой алгоритм плюс все возможные открытые тексты, шифротексты и ключи.

Существует два основных типа алгоритмов, основанных на ключах: симметричные и с открытым ключом (асимметричные). Симметричные алгоритмы (рис. 24), представляют собой алгоритмы, в которых ключ шифрования может быть рассчитан по ключу дешифрирования и наоборот. В

большинстве симметричных алгоритмов ключи шифрования и дешифрирования одни и те же. Эти алгоритмы, также называемые алгоритмами с секретным ключом или алгоритмами с одним ключом, требуют, чтобы отправитель и получатель согласовали используемый ключ перед началом безопасной передачи сообщений. Раскрытие ключа означает, что кто угодно сможет шифровать и дешифрировать сообщения.

Рис. 24. Шифрование и дешифрирование с ключом

Безопасность симметричных алгоритмов полностью основана на ключах, а не на деталях алгоритмов. Это значит, что алгоритм может быть опубликован и проанализирован.

61

Симметричные алгоритмы делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работают с группами битов открытого текста. Группы битов называются блоками, а алгоритмы блочными алгоритмами или блочными шифрами.

При поточном шифровании шифруется поток битов (рис. 25а). Такие шифры работают в два этапа. На первом этапе алгоритм использует секретный ключ для генерации потока случайных битов. На втором этапе, алгоритм шифрует биты данных, объединяя их по одному с потоком случайных битов, используя операцию «Исключающее ИЛИ». Если изменить один бит в открытом тексте, то это повлияет только на тот же бит в шифрованном тексте. Характерная особенность этого способа шифрования высокая производительность. Примерами таких шифров являются Enigma и RC4.

При шифровании по блокам кодирование данных выполняется после разбиения их на блоки фиксированной длинны, каждый из которых шифруется отдельно с помощью одного и того же ключа (рис. 25б). Если размер исходной информации не кратен размеру блока, то последний блок дополняется символами-заполнителями, которые при расшифровании отбрасываются. Примерами блочных шифров могут служить DES, ГОСТ

28147-89, RC5, AES.

а) Алгоритм поточного шифрования б) Алгоритм блочного шифрования Рис. 25. Категории алгоритмов симметричного шифрования

Хэширующая функция это многозначная функция H, ставящая в соответствие своему аргументу M произвольной длины значение h=H(M) фиксированной длины. Хэш-функции используемые в криптографических приложениях обладают следующими свойствами:

Для любого M легко вычислить его хэш-значение h=H(M);

По известному значению хэш-функции практически невозможно определить сообщение M.

Для сообщения M практически невозможно найти сообщение M' такое, чтобы значения хэш-функций этих сообщений были одинаковы.

62

Практически невозможно найти два случайных сообщения M и M'

таких, чтобы значения хэш-функций этих сообщений были одинаковы (свойство сильной устойчивости к коллизиям).

Хэш-значение сообщения может использоваться в качестве его уникального идентификатора. Если сообщение изменить, то изменится и хэш-значение. Найти другое сообщение с точно таким же хэш-значением практически невозможно. Благодаря этому свойству хэш-функции можно

использовать для проверки целостности документов и для цифровой подписи. Очевидно, что наиболее важным параметром хэш-функции является длина возвращаемого ею значения. Если эта длина n бит, то для того, чтобы найти сообщение M', имеющее такое же хэш-значение, как и M, придётся перебрать в среднем 2n-1 различных сообщений.

Примерами хэш-функций могут служить MD2, MD4, MD5, SHA. TrueCrypt — это криптографическое приложение для создания

зашифрованных файл-контейнеров и шифрования разделов дисков, а так же съемных устройств хранения и дискет.

Возможности TrueCrypt:

Запись и чтение зашифрованных дисков.

Создание обычных зашифрованных дисков.

Создание скрытых зашифрованных дисков.

Монтирование зашифрованных физических дисков.

Возможность устанавливать (помимо пароля) ключевые файлы.

Набор алгоритмов (на выбор пользователя) шифрования.

Версии TrueCrypt доступны под Windows и Linux (возможность использовать один и тот же том, как по сети, так и из различных операционных систем).

TrueCrypt (рис. 26) позволяет зашифровывать и расшифровывать данные «на лету». Это означает, что данные автоматически зашифровываются или расшифровываются прежде, чем они будут загружены или сохранены, без любого пользовательского вмешательства.

Расшифрование происходит в оперативной памяти при считывании файлов с монтированного тома, при этом TrueCrypt никогда не сохраняет никаких временных расшифрованных данных на диск все операции происходят в оперативной памяти. Точно так же происходит и шифрование. Данные, хранящиеся на зашифрованном томе, не могут быть расшифрованы без правильного секретного ключа. Программа полностью шифрует файловую систему тома (имена файлов, название папок и их содержание, свободное пространство и т.д.). Для хранения пользовательских паролей в TrueCrypt используется хэширование.

Для создания тома TrueCrypt следует нажать кнопку «Создать том» в главном окне программы. В появившемся окне можно выбрать тип создаваемого тома: обычный (внешний) том или скрытый том внутри обычного. Последний вариант позволит скрывать особо важные данные.

63

Программа создает тома таким образом, что невозможно узнать есть ли в обычном томе скрытый.

Рис. 26. Окно программы TrueCrypt

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

В качестве тома TrueCrypt может использоваться либо файл, либо устройство (рис. 27). При выборе устройства шифруется все содержимое разделов жестких дисков, дискет или сменных носителей, при этом вся хранящаяся информация будет уничтожена.

Рис. 27. Выбор размещения тома

64

Создадим том на основе файла. Для этого воспользуемся кнопкой «Файл…». В появившемся диалоговом окне укажем имя создаваемого файла и его размещение. В следующем диалоговом окне будет предложено выбрать настройки шифрования. Здесь же можно протестировать алгоритмы на скорость шифрования и дешифрования.

После этого будет предложено выбрать размер тома. Требуемый размер можно указать в килобайтах или мегабайтах.

Далее нужно установить пароль и/или ключевой файл (рис. 28).

Производитель рекомендует выбирать пароль более чем из двадцати символов. Ключевой файл это файл, содержание которого используется в качестве ключа. Установку ключевого фала можно скомбинировать с установкой пароля. Даже если пароль будет рассекречен, то без ключевого файла расшифровать данные будет невозможно.

Рис. 28. Создание пароля

В качестве ключевого можно использовать любой файл. TrueCrypt никак не изменяет ключевые файлы. Разрешено выбирать несколько ключевых файлов (порядок неважен). При добавлении папки ключевыми будут все имеющиеся в ней файлы. Программа так же позволяет генерировать случайные ключевые файлы. Для этого следует воспользоваться кнопкой «Случайный ключевой файл». При утере ключевого файла или повреждении его первых 1024 килобайт монтирование использующих этот файл томов будет невозможно, и вся информация будет утеряна.

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

Следует помнить, что в NTFS-томе нельзя создать скрытый том. Кроме того, в Windows 2000 нельзя монтировать NTFS тома с опцией «только для чтения». Поэтому, при выборе файловой системы следует опираться на конкретные нужды.

65

При создании динамического тома будет создан файл, физический размер которого (место, занимаемое им на диске) увеличивается по мере добавления в него новых данных. Динамические тома могут быть созданы только с файловой системой NTFS.

При нажатии на кнопку «Выполнить», после некоторой паузы программа случайным образом сгенерирует ключи. На этом создание шифрованного диска будет закончено.

TrueCrypt наряду с обычными позволяет создавать и скрытые тома. Суть этого метода состоит в том, что даже когда смонтирован внешний том, узнать имеется ли в нем скрытый том невозможно, так как свободное место в любом томе TrueCrypt при создании всегда заполняется случайными данными (если выключено быстрое форматирование), и отличить скрытый том от случайных данных нельзя (рис. 29). Это позволяет даже при

раскрытии пароля внешнего тома сохранить данные на скрытом томе в секрете. Пароли для скрытого и внешнего томов должны быть разными.

Рис. 29. Структура томов True Crypt

Для создания скрытого тома также используется мастер создания томов. Только при выборе типа тома необходимо выбрать «Создать скрытый том TrueCrypt». Используя инструкции мастера, можно создать том внутри уже созданного. Если раннее обычный том не был создан, то можно воспользоваться пунктом «Создать том TrueCrypt и скрытый том внутри него». В следующем диалоговом окне нужно указать путь к уже созданному обычному тому.

Далее программа запросит ввести пароль к внешнему тому. При правильном вводе пароля появится мастер создания скрытого тома. Все

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

Для использования созданного шифрованного диска его предварительно нужно смонтировать. Для этого в главном окне программы нужно нажать кнопку «Файл…», чтобы указать расположение файла, в

66

котором храниться нужный том. Теперь, когда файл выбран, требуется нажать кнопку «Смонтировать». Если требуется смонтировать скрытый том, то нужно выбрать файл, в котором хранится скрытый том, и ввести пароль от скрытого тома. По требованию программы введите пароль и ключевой файл, указанный раннее при создании этого тома.

Прежде чем нажать на «ОК», воспользуйтесь кнопкой «Параметры…». В появившемся диалоговом окне отметьте пункт «Защитить скрытый том от повреждений при записи во внешний том» (рис. 30). Это нужно для того, чтобы защитить данные скрытого тома. Теперь при попытке записи данных в область скрытого тома, программа будет запрещать запись на весь том до его размонтирования.

Рис. 30. Настройка параметров монтирования

После монтирования, зашифрованным диском можно будет пользоваться как обычным логическим. На этот диск можно помещать любую информацию. Например, монтируем том TrueCrypt как диск Q (рис. 31). Он будет отображаться в проводнике в виде локального диска Q.

а) Монтирование диска в TrueCrypt

б) Использование диска в Windows

Рис. 31. Пример монтирование диска

Чтобы отключить диск требуется воспользоваться пунктом контекстного меню «Размонтировать», выбрав соответствующий диск. Или,