Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Министерство науки и образования Украины.doc
Скачиваний:
5
Добавлен:
02.08.2019
Размер:
241.15 Кб
Скачать

Министерство науки и образования Украины

Криворожский авиатехнический колледж

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

дисциплина

“Основы защиты информации”

Специальность 6.091500

«Компьютерные системы и сети»

разработал преподаватель

Лавриненко А.Н.

Обсуждена и одобрена на заседании цикловой комиссии ПП ЕВМ

Председатель ______________ Андрусевич Н.В.

г. Кривой Рог

2004 г.

Шифры перестановки

Цель работы:

1. Закрепление теоретического материала – симметричные шифры.

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

3. Изучить приемы шифрования методом перестановки.

Вопросы для коллоквиума:

  1. В чем заключается метод шифрования перестановкой?

  2. Что такое маршрутная перестановка?

  3. Какой «маршрут» можно использовать для реализации шифра «Сцитала»?

  4. Что называется «поворотной решеткой»?

  5. Оцените количество ключей шифра вертикальной перестановки. Во сколько раз это количество ключей возрастает при использовании двойной перестановки?

  6. Приведите пример использования магического квадрата для шифрования сообщения ‘ЯУЕЗЖАЮВНОВГОРОД’.

  7. Что такое шифрование перестановкой бит?

Содержание отчета:

  1. Постановка задачи.

  2. Тексты программ.

  3. Таблица данных и результатов.

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

  1. Загрузить систему Turbo Pascal.

  2. Ознакомиться с предложенным примером выполнения задания.

  3. Выполнить задание по варианту, указанному преподавателем.

  4. Запустить программу на выполнение. Текст программы, исходные данные и результаты работы программы занести в отчет.

  5. Закончить работы с системой Turbo Pascal без сохранения программы.

Пример написания программы:

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

program FileCoding;

const

Brk=4; { Длина подстановки }

type

Range=1..Brk;

const

stend:array[Range] of Range=(3,1,4,2); { Подстановка  }

{ При декодировании можно использовать эдетичную }

{ процедуру декодирования, но с подстановкой (2,4,1,3) }

var

FIn:file; { Входной файл }

FOut:file of byte; { Выходной файл }

Tmp:array[Range] of byte; { Переменная для хранения прочитанных байт }

RealCnt:integer; { Количество реально прочитанных байт }

begin { program }

assign(FIn,'input.txt');

assign(FOut,'output.txt');

reset(FIn,1);

rewrite(FOut);

while not(eof(FIn)) do

begin

BlockRead(FIn,tmp,Brk,RealCnt);

for i:=RealCnt+1 to Brk do { Если прочитано меньше Brk байт, }

Tmp[i]:=0; { то дополнить нулями }

for i:=1 to Brk do

write(FOut,Tmp[stend[i]]);

end;

close(FIn);

close(FOut);

end. { program }

Варианты заданий

Для нечетных вариантов (1,3,…,13) предлагается реализовать процедуру шифрования, для четных (2,4,…,14) – дешифрования с использованием указанных методов. Предусмотрите выбор ключа шифрования.

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

3,4. Реализуйте маршрутную перестановку с использованием шифрующей таблицы 5х8. Маршрут выберите самостоятельно.

5,6. Реализуйте процедуру, моделирующую использование «Сцитала». Число столбцов шифрующей таблицы выберите самостоятельно.

7,8. Выберите поворотную решетку и смоделируйте ее использование.

9,10. Реализуйте шифрование двойной перестановкой. Размерность шифрующей таблицы выбрать самостоятельно.

11,12. Смоделируйте использование магических квадратов. Предусмотрите их генерацию.

13,14. Реализуйте метод перестановки бит.