Лабораторная работа № 4 «Шифр Виженера»
Цель: знакомство с методами
криптографической защиты информации и с алгоритмами шифрования. Научить
кодировать информацию с помощью «Шифра Виженера»
В качестве второго примера симметричной криптосистемы
рассмотрим классическую криптосистему на основе шифра Виженера, по
фамилии французского криптографа шестнадцатого столетия Блеза де Виженера. Шифр
Виженера строится по следующему алгоритму:
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. Переименуйте лист и дайте ему имя Шифр
|
|
|
|
|
|
|
|
|
|
ШифрВиженера
|
Ключ
|
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.
Покажите преподавателю выполненную работу.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.