Скачиваний:
44
Добавлен:
01.05.2014
Размер:
167.94 Кб
Скачать

Санкт-Петербургский

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

ЛЭТИ”

______________________________________________________________________

кафедра МОЭВМ

МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ

Лабораторная работа N1 СИММЕТРИЧНАЯ КРИПТОГРАФИЯ. ПРОСТЫЕ ШИФРЫ.

Вариант 2

Выполнили: ст. гр. 3341 Постникова О. Е.

Злобин А.Н.

Проверил: Горячев Г.А.

Санкт-Петербург

2008

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

Простые шифры

Цель работы:Ознакомление с простыми симметричными криптографическими шифрами на основе методов подстановок, перестановок и гаммирования.

1. Содержательная постановка задачи:

Разработка и программная реализация следующих вариантов алгоритмов шифрования/дешифрования:

Квадрат Полибия (5 х 5, 5 х 6, 4 х 7, 6 х 6, 5 х 7 и т. д. ). Квадрат Кардано (NxN).

2. Описание алгоритма:

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

Для английского языка квадрат представлен на рисунке 1.1:

1

2

3

4

5

1

a

b

c

d

e

2

f

g

h

ij

k

3

l

m

n

o

p

4

q

r

s

t

u

5

v

w

x

y

z

Рис1.1

Пришлось пожертвовать одним символом

Для русского языка придется отказаться от 3-х символов, чтобы вписать алфавит в таблицу 6х5

Квадрат Кардано– квадрат с пустыми клетками, в которые вписываются буквы. Когда все клетки заполнены квадрат поворачивается на 90 градусов и продолжается запись. После 3-х поворотов весь квадрат заполнен символами сообщения. При декодировании надо наложить квадрат четырьмя разными способами и получить текст. Квадрат является закрытым ключом.

Пример квадрата размера 4 представлен на рисунке 1.2:

а

б

в

г

Рис.1.2.

После одного поворота представлен на рисунке 1.3

д

а

е

б

в

г

ж

з

Рис.1.3.

3. Реализация алгоритма:

Алгоритмы реализованы на языке С++:

Соседние файлы в папке Лабораторная работа 11