Лабораторная работа «Шифр Виженера»
Лабораторная работа № 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
Зашифрованныйтекст
Ячейки А 2 - I2 объедините ячейки и запишите слово Шифр Виженера
В ячейку А 3 запишите Ключ
В ячейку А 4 запишите Сдвиг
В ячейку А 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.
Покажите преподавателю выполненную работу.
15