Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации»



Скачать 378.09 Kb.
страница1/3
Дата14.10.2012
Размер378.09 Kb.
ТипМетодические указания
  1   2   3
Министерство образования Российской Федерации

Ивановский государственный энергетический университет

Кафедра программного обеспечения компьютерных систем


Основы криптографии

Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации»

Иваново 2004

Составитель Е. Б. ИГНАТЬЕВ

Редактор В. А. ГУСЕВ
Цель настоящих методических указаний – помочь студентам выполнить лабораторные работы по курсу «Методы и средства защиты информации».

Методические указания предназначены для студентов IV курса направления «Информатика и вычислительная техника».

Методические указания утверждены цикловой методической комиссией факультета информатики и вычислительной техники.


Рецензент

кафедра программного обеспечения компьютерных систем


Введение



Настоящие методические указания открывают серию лабораторных работ, посвященных основам криптографии, по дисциплине «Методы и средства защиты информации».

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

В криптографической терминологии исходное послание именуют открытым текстом (plaintext или cleartext). Чтобы скрыть смысл исходного текста применяются два типа преобразований: кодирование и шифрование.

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

Шифрование или зашифрование (encryption) представляет собой процедуру преобразования открытого текста в зашифрованное сообщение или шифротекст (ciphertext). Процесс, при котором из шифротекста извлекается открытый текст, называют расшифровкой (decryption). Обычно в процессе шифровки и дешифровки используется некий ключ и алгоритм обеспечивает, что расшифрование можно сделать, лишь зная этот ключ.

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

Лабораторная работа №1. Шифрование простой подстановкой и перестановкой. Генераторы псевдослучайных чисел, гаммирование


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

Перестановки


В простейших перестановочных шифрах символы открытого текста изменяют свое местоположение.
Например, в шифрах колонной замены. Открытый текст построчно вписывается в матрицу с нумерованными столбцами. Столбцы переставляются в соответствии с заданной последовательностью. Затем текст считывается опять построчно.

К классам перестановок принадлежат такие шифры как «маршрутная транспозиция», «решетка Кардано» и т.п.

Замены


В шифрах замены символ открытого текста заменяется одним или несколькими символами зашифрованного текста.

В криптографии рассматриваются четыре типа подстановки (замены): моноалфавитная, полиалфавитная, гомофоническая, и полиграммная.

Различают четыре типа шифров замены:

1) шифры простой замены (моноалфавитной подстановки). Один символ открытого текста заменяется одним символом зашифрованного текста;

2) полиалфавитные шифры замены (шифры многоалфавитной подстановки), в которых к открытому тексту применяются несколько шифров простой замены.

2) шифры сложной замены. Один символ открытого текста заменяется одним или несколькими символами зашифрованного текста, например "А" может быть заменен "С" или "И2РТ";

3) шифры блочной замены. Один блок символов открытого текста заменяется блоком символов закрытого текста, например: "АБВ" может быть заменен "МЕН" или "РДЛ";

Прямые подстановки

В таких алгоритмах используются шифры простой замены. Преобразование выполняются по формуле:

C = (a P + s) mod N ,

где P – символ исходного текста;

C – символ зашифрованного текста;

N – размер алфавита;

a – десятичный коэффициент;

s – коэффициент сдвига.

При моноалфавитной замене каждой букве алфавита открытого текста ставится в соответствие одна буква шифртекста из этого же алфавита.

Пpимеp1. Открытый текст: "ШИФРОВАНИЕ_ЗАМЕНОЙ".

Подстановка задана таблицей:

Алфавит исходного текста: А Б В Г Д …

Алфавит шифpтекста: _ Я Ю Э Ь …
Шифртекст: "ИШМРТЮ_УШЫАЩ_ФЫУТЧ".
Этот шифр легко поддается частотному анализу встречаемости букв и пар букв.

Многоалфавитные подстановки

Шифрование выполняется по формуле:

Ci = (Pi + Kj) mod N ,

где Pi – порядковый номер i-го символа исходного текста (0 >= Pi >= N-1, 0 >= i >= M-1);

M – число символов сообщения;

Ci – порядковый номер i-го символа зашифрованного текста (0 >= Ci >= N-1);

N – размер алфавита;

Kj – порядковый номер j-го символа ключа (j = i mod L; 0 >= j >= L-1);

L – длина ключа.

Таблица кодов символов алфавита:

_

А

Б

В

Г

Д

Е

Ж

З

И

Й

0

1

2

3

4

5

6

7

8

9

10




К

Л

М

Н

О

П

Р

С

Т

У

Ф

11

12

13

14

15

16

17

18

19

20

21




Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

22

23

24

25

26

27

28

29

30

31

32



Пример 2.

Открытый текст: "ЗАМЕНА".

Ключ: "КЛЮЧ"

L=4; M=6;

З

А

М

Е

Н

А

К

Л

Ю

Ч

К

Л


С0 = 8 + 11 (mod 33) = 19 → Т

С1 = 1 + 12 (mod 33) = 13 → М

С2 = 13+ 31 (mod ЗЗ) = 11 → К

С3 = 6 + 24 (mod 33) = 30 → Э

С4 = 14+11 (mod 33) = 25 → Ш

С5 = 1 +12 (mod 33) = 13 → М.

Шифртекст: "ТМКЭШМ".

Гаммирование


Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел (ПСЧ) и наложении полученной гаммы на открытые данные обратимым образом, например, используя операцию "Исключающего ИЛИ" –

a b = 1, если a b;

a b = 0 если a = b .

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

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

Задания


  1. Написать программу генерации шифра для заданных a и s по формуле:

Ci = (a Pi + s) mod N , где

P – порядковый номер символа открытого текста (0 ≤ PiN-1);

C – порядковый номер символа зашифрованного текста (0 ≤ CiN-1);

N – размер алфавита;

a – десятичный коэффициент;

s – коэффициент сдвига.

Напишите программы шифровки и расшифровки для метода моноалфавитной подстановки по заданному шифру. Язык русский. Шифр, открытый текст и зашифрованный текст должны быть в текстовых файлах с кодировкой ASCII. Тестовый файл с открытым текстом должен содержать не менее 1000 символов связного текста.


  1. Напишите программы шифровки и расшифровки методом многоалфавитной подстановки для заданного ключа. Язык английский.

Шифрование выполняется по формуле:

Ci = (Pi + Kj) mod N , где

Pi – порядковый номер i-го символа исходного текста (0 ≤ PiN-1);

Ci – порядковый номер i-го символа зашифрованного текста (0≤CiN-1);

N – размер алфавита;

Kj – порядковый номер j-го символа ключа (j = i mod L; 0 j L-1);

L – длина ключа.

Ключ, открытый текст и зашифрованный текст должны быть в отдельных текстовых файлах с кодировкой ASCII. Программы должны уметь работать с большими текстовыми файлами. Тестовые файлы должны содержать не менее 1000 символов текста. Попробуйте выразить функцию Pi(Ci) одной формулой.

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

Попытаться расшифровать полученный шифр, применяя столько же раз обратное преобразование.


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




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




  1. В России в XIII в. для тайнописи применяли «тарабарскую грамоту» в этой системе согласные буквы заменяются по схеме:




Б

В

Г

Д

Ж

З

К

Л

М

Н

Щ

Ш

Ч

Ц

Х

Ф

Т

С

Р

П

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

Написать программы шифровки, расшифровки и дешифровки для текстовых файлов с кодировкой ASCII.


  1. Напишите программы шифрования и расшифровки с использованием "цифирной азбуки". В госархиве сохранились письма Петра I, в которых он передавал цифири различным деятелям для корреспонденции (П. А. Толстому, А. Д. Меньшикову, …). Цифирь – это шифр простой замены, в котором буквам сообщения соответствовали шифрообозначения, представляющие собой буквы, слоги, слова или другие какие-нибудь знаки. При этом использовались и "пустышки" – шифрообозначения, которым не соответствовали никакие знаки открытого текста.




А-ме

Б-ли

В-ко

Г-ин

Д-зе

Е-жу

Ж-ню

З-ою

И-пы

К-ра

Л-су

М-ти

Н-у

О-хи

П-от

Р-ца

С-чу

Т-ше

У-ам

Ф-ик

Х-ъ

Ц-то

Ч-ь

Ш-ю

Щ-я

Ъ-ф

Ы-а

Ь-бе

Э-за

Ю-гу

Я-ди

-




























  1. Написать программу, обеспечивающую генерацию случайным или псевдослучайным образом моноалфавитной подстановки для алфавита из n символов. Сформировать массив [0..255], содержащий коды подстановки символов. Для остальных (255-n) символов, не вошедших в алфавит в ячейки массива записать код 0. Напишите программы шифровки и расшифровки, использующие полученный массив.




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




  1. Напишите программу дешифровки зашифрованного методом перестановки текста, если известно что открытый текст должен содержать известный текст, например: "Совершенно секретно". Учесть, что длина файла с зашифрованным текстом должна быть кратна длине группы. Перед перестановкой проверять в соседних группах наличие всех требуемых символов.




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




  1. Напишите программу, порождающую шифр «решетку Кардано» и программы шифровки и расшифровки текстовых файлов по этому методу. Решетка Кардано – это прямоугольная карточка с отверстиями, чаще всего квадратная. Число строк и столбцов в карточке четно. Отверстия в карточке сделаны так, что при последовательном поворачивании каждая клетка лежащего под ней листа с текстом будет видна только один раз. Карточку сначала поворачивают вдоль вертикальной оси симметрии на 180°, а затем вдоль горизонтальной оси также на 180°. И вновь на 180° вдоль вертикальной оси симметрии. Например:







































































































































































































































или

















































































































































Для квадратных карточек возможны последовательные повороты на 90°.

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

Реализуйте программу для квадратных и прямоугольных карточек, для поворотов на 90° и 180°.



  1. Напишите программы шифровки и расшифровки методом маршрутной транспозиции. Метод состоит в том, что каждый блок символов открытого текста вписывается в заданный прямоугольник [m x n] змейкой. Столбцы нумеруются в порядке следования букв алфавита в ключевой фразе. Последний блок дополняется до полного символами алфавита – А Б В … Считывается результат по столбцам.

Например. Пусть m=9, n=7, а порядок столбцов задается ключевым словом "Святослав".

С

В

Я

Т

О

С

Л

А

В

6

2

9

8

5

7

4

1

3




6

2

9

8

5

7

4

1

3

С

Е

Д

Л

А

Й

Б

Р

А

Р

О

Б

И

О

В

С

Е

Т

З

Ы

И

К

О

М

О

Н

И

Т

О

Г

И

Т

И

О

М

А

О

В

И

О

С

Е

Д

Л

А

К

С

Ь

Р

У

К

У

И

Н

А

Н

А

П

Е

Р

Е

Д

И

В результате получится зашифрованный текст: РЕНМЛИД ЕОЫОВСН АТИААНИ БСООДУЕ АООТСУЕ СРЗТОКА ЙВМИЕКР ЛИКИОРП ДБИГИЬА.

Имена текстовых файлов с исходным и зашифрованным сообщением, константы m и n должны задаваться в качестве параметров.


  1. Напишите программы шифровки и расшифровки методом перестановки символов открытого текста, нанесенных на грани "кубика Рубика". Последовательность поворотов одна и та же для всех групп символов.




  1. Напишите программу генерации псевдослучайных чисел (ПСЧ) применяя линейный конгруэнтный генератор ПСЧ, вырабатывающий последовательность T1, T2, …, Tm, …, используя соотношение

Ti+1 = (a Ti + c) mod m ,

где a и c – константы (с – нечетное, а mod 4 = 1);

T0 – исходная величина, выбранная в качестве порождающего числа;

m – обычно устанавливается равным 2b или 2b-1;

b – длина слова ЭВМ в битах (взять b=8).

Сгенерировать m чисел. Определить числа от 0 до m-1, которые ни разу не были сгенерированы. Определить числа сгенерированные более одного раза.

Постройте график частоты попадания 100 000 сгенерированных чисел в интервалы по 1000 чисел. Такой же график построить для функции Random() языка Pascal. Исследовать как влияют на характер распределения генерируемой последовательности чисел константы a и c. Определить период повторяемости генерируемых чисел.


  1. Напишите программы шифровки и расшифровки, использующие генератор ПСЧ (см. вариант №14). Программы должны применять операцию "исключающее ИЛИ" для объединения очередного сгенерированного числа и символа из текста. Открытый и зашифрованный тексты должны быть в текстовых файлах с кодировкой ASCII.




  1. Напишите программы шифрования и расшифровки методом многоалфавитной подстановки (см. вариант задания №2). Kj получать с помощью генератора ПСЧ. Начальное (инициализационное) число псевдослучайной последовательности чисел будет являться ключом шифра.




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



  1   2   3

Похожие:

Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания лабораторные работы по дисциплине «Методы и средства защиты компьютерной информации» москва 2006
«Методы защиты информации с применением криптографии с открытым ключом». В разделе «Общие положения» указаны цель и задачи выполнения...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconКафедра прикладной информатики и информационных систем Нейронные сети Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы»
Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» для студентов 4-го курса...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания и задания к выполнению лабораторных работ по дисциплине «Методы оптимизации» Хабаровск Издательство тогу 2010
Методы одномерной оптимизации : методические указания и задания к выполнению лабораторных работ по дисциплине «Методы оптимизации»/...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания к выполнению лабораторных работ санкт-Петербург 2012
Методические указания предназначены для проведения лабораторных работ со студентами дневного и вечернего обучения по специальности...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания к выполнению лабораторных и курсовых работ иркутск 2007
...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания по выполнению лабораторных работ №1-5 по информатике для студентов дневной формы обучения
Решение задач в пакете Mathcad : методические указания по выполнению лабораторных работ №1 – 5 по информатике для студентов дневной...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания к выполнению лабораторных работ по исследованию биполярных транзисторов Санкт-Петербург 2010
Методические указания к выполнению лабораторных работ по исследованию биполярных транзисторов
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconКриптографический алгоритм “методом перестановок”
Методические указания к проведению лабораторной работы по курсу «Методы и средства защиты компьютерной информации» для студентов...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания по выполнению практических работ по курсу "Экология"
Электромагнитные излучения, создаваемые телевизионными станциями: Методические указания по выполнению практических работ по курсу...
Методические указания по выполнению 1 и 2 лабораторных работ по курсу «Методы и средства защиты информации» iconМетодические указания к выполнению контрольной работы по курсу Криминалистика
Методические указания к выполнению контрольных работ по курсу «Криминалистика». – М.: Импэ им. А. С. Грибоедова, 2005. – 8 с
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org