Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические работы Часть 2 / Практическая работа 2 / ПР №2 Шифр Вижинера - Задание

.doc
Скачиваний:
63
Добавлен:
24.07.2019
Размер:
57.34 Кб
Скачать

Практическая работа №2

«Шифр Виженера»

Цель:  знакомство с методами криптографической защиты информации и с алгоритмами шифрования. Научить кодировать информацию с помощью «Шифра Виженера»

В качестве второго примера симметричной криптосистемы рассмотрим классическую криптосистему на основе шифра Виженера, по фамилии французского криптографа шестнадцатого столетия Блеза де Виженера. Шифр Виженера строится по следующему алгоритму: 1) заменить каждую букву английского языка цифрой согласно следующим таблицам:

a

b

c

d

e

f

g

h

i

j

k

l

m

0

1

2

3

4

5

6

7

8

9

10

11

12

 

n

o

p

q

r

s

t

u

v

w

x

y

z

13

14

15

16

17

18

19

20

21

22

23

24

25

2) в качестве ключа рассмотреть любую последовательность букв английского языка; 3) заменить ключ последовательностью цифр согласно пункту 1; 4) заменить открытый текст последовательностью цифр согласно пункту 1 (пробелы при замене не учитывать); 5) записать под последовательностью цифр открытого текста последовательность цифр ключа, при этом последовательность цифр ключа записать необходимое число раз; 6) сложить попарно эти две последовательности, при этом если сумма равна или больше 26, то вычесть 26; 7) заменить полученные цифры буквами английского языка согласно пункту 1.

Например, зашифруем открытый текст meetmeatcentralpark с помощью шифра Виженера с помощью ключа cipher. Тогда согласно алгоритму (пункты 4. и 5.) ключ cipher заменяется последовательностью цифр (2,8,15,7,4,17), а открытый текст meetmeatcentralparkзаменяется последовательностью цифр (12,4,4,19,12,4,0,19,2,4,13,19,17,0,11,15,0,17,10). Тогда согласно алгоритму (пункт 6.) получим следующую таблицу:

12

4

4

19

12

4

0

19

2

4

13

19

17

0

11

15

0

17

10

2

8

15

7

4

17

2

8

15

7

4

17

2

8

15

7

4

17

2

Сложив попарно эти две последовательности с возможной заменой (согласно пункту 6. алгоритма), получим последовательность (14,12,19,0,16,21,2,1,17,11,17,12,19,8,0,22,4,8,12). Следовательно,  согласно пункту 7. алгоритма в качестве шифра исходного открытого текста получим последовательность omtaqvcbrlrmtiaweim.

Шифр Виженера можно применить и к русскому алфавиту. Мы с вами увидели, что шифр Виженера более трудный для построения (по сравнению с шифром Цезаря), но он и более трудный для взлома. Шифр Виженера был невзламываемым до середины 19 века, но в 1863 году прусский офицер Касисский нашёл простой теоретико-числовой метод поиска длины ключа.

Задание 1:

Заполните Лист 1. Переименуйте лист и дайте ему имя Шифр

ШифрВиженера

Ключ

b

a

n

k

b

a

n

k

Сдвиг

2

1

14

11

2

1

14

11

Исходный текст

g

e

o

m

e

t

r

y

Зашифрованный текст

  1. Ячейки А 2 - I2 объедините ячейки и запишите слово Шифр Виженера

  2. В ячейку А 3 запишите Ключ

  3. В ячейку А 4 запишите Сдвиг

  4. В ячейку А 5 запишите Исходный текст

  5. В ячейку А 6 запишите Зашифрованный текст

Заполните ячейки Лист 2 по указанным формулам. Переименуйте лист и дайте ему имя Формулы.

Шифр Виженера

Ключ

b

Сдвиг

=КОДСИМВ(B3)-КОДСИМВ("a")+1

Исходный текст

g

Зашифрованныйтекст

=СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(B5)КОДСИМВ("a")+B4;26))

В ячейку B3 введите формулу =КОДСИМВ(B3)-КОДСИМВ("a")+1

В ячейку B5 введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(B5)-КОДСИМВ("a")+B4;26))

В ячейку C3 введите формулу =КОДСИМВ(C3)-КОДСИМВ("a")+1

В ячейку C5 введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(C5)-КОДСИМВ("a")+C4;26))

В ячейку D3 введите формулу =КОДСИМВ(D3)-КОДСИМВ("a")+1

В ячейку D5 введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(D5)-КОДСИМВ("a")+D4;26))

В ячейку E3 введите формулу =КОДСИМВ(E3)-КОДСИМВ("a")+1

В ячейку E5введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(E5)-КОДСИМВ("a")+E4;26))

В ячейку F3 введите формулу =КОДСИМВ(F3)-КОДСИМВ("a")+1

В ячейку F5 введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(F5)-КОДСИМВ("a")+F4;26))

В ячейку G3 введите формулу =КОДСИМВ(G3)-КОДСИМВ("a")+1

В ячейку G5 введите формулу =СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(G5)-КОДСИМВ("a")+G4;26))

В ячейку H3=КОДСИМВ(H3)-КОДСИМВ("a")+1

В ячейку H5=СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(H5)-КОДСИМВ("a")+H426))

В ячейку I3=КОДСИМВ(I3)-КОДСИМВ("a")+1

В ячейку I5=СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(I5)-КОДСИМВ("a")+I4;26))

Самостоятельно, с помощью ключевого слова bank закодировать слова

discovod, computer, keyboard, aktivity, systemic, hersonal, register.

Задание 2: реализуйте с помощью Windows Form (C#) приложение для реализации шифра Вижинера.

Соседние файлы в папке Практическая работа 2