Федеральное государственное бюджетное


Рис. 4. Шифрование тройным DES Рис. 5


Download 3.15 Mb.
Pdf ko'rish
bet6/56
Sana20.09.2023
Hajmi3.15 Mb.
#1682104
1   2   3   4   5   6   7   8   9   ...   56
Bog'liq
lab cisco

Рис. 4. Шифрование тройным DES


Рис. 5. Дешифрование тройным DES
Не имеет большого значения, что используется на второй стадии: шифрование или 
дешифрование. В случае использования дешифрования существует только то преимущество, 
что можно тройной DES свести к обычному одиночному DES, используя K
1
= K
2
:
C = E
K1
[D
K1
[E
K1
[P]]] = E
K1
[P]
Тройной DES является достаточно популярной альтернативой DES и используется при 
управлении ключами в стандартах ANSI X9.17 и ISO 8732 и в PEM (Privacy Enhanced Mail).
Известных криптографических атак на тройной DES не существует. Цена подбора 
ключа в тройном DES равна 2
112
.
 
 
ПРИМЕР РЕШЕНИЯ ЗАДАЧИ 
. Проиллюстрировать работу S-DES (1 итерация) в режиме ECB, CBC.
Заданы начальный вектор, открытый текст и ключ, таблицы используемых перестановок. 
IV= 0.
11
0
1
0
6
8
8
=
P

01
.....
0000
=
K
, табли 
(
)
10
9
8
7
6
5
4
3
1
2
10 =
P
,
(
)
78564123
8 =
P
,
(
)
26314857
=
IP
,
(
)
41357286
1
=

IP
(
)
2431
4 =
P

Генерация ключей: 
0000000001
=
k
1)
(
) (
)
0000000001
0000000001
10
=
P
2)
00010
00000
00001
00000

3)
(
)
00000000
00000000
8
1
=
P
k
4)
01000
00000
00010
00000

5)
(
)
10000000
00000010
8
2
=
P
k
Выполним одну итерацию шифра: 


1)
)
00000000
(
)
00000000
(
=
IP
)
11111111
(
)
11111111
(
=
IP
)
00000101
(
)
00000011
(
=
IP
2)
0101
,
0000
=
=
R
L
2.1)
( )
R
E

0101
4
3
2
1
=
=
n
n
n
n
R
Выполним расширение: 
( )
7
6
5
4
3
2
1
0
1
4
3
2
3
2
1
4
1
3
4
3
2
1
2
4
10101010
:
p
p
p
p
p
p
p
p
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
R
E
=
=

2.2) 
( )
10101010
00000000
10101010
1
=

=
 k
R
E
2.3) 
3
0
1
2
0
1
2
3
3
1
0
2
3
2
1
0
1
0
2
3
3
1
2
0
0
1
2
3
2
3
0
1
1
0
S
S
(
)
(
)
10
2
01
,
10
,
0
2
1
3
0
0
=
=
S
p
p
p
p
S
(
)
(
)
10
2
01
,
10
,
0
6
5
7
4
1
=
=
S
p
p
p
p
S
1010
=
2.4) 
(
)
0011
1010
4
=
P
2.5) 
(
)
0011
0011
0000
,
1
=

=

=
k
R
F
L
L
Значит,
0101
=
R
3) 
(
) (
)
0011
0101
0101
0011

4) 
0011
0101
2
2
=
=
R
L
4.1) 
( )
7
6
5
4
3
2
1
0
1
4
3
2
3
2
1
4
1
3
4
3
2
1
2
4
2
10010110
:
p
p
p
p
p
p
p
p
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
R
E
=
=

4.2) 
( )
00010110
10000000
10010110
2
2
=

=
 k
R
E
4.3) 
(
)
(
)
11
3
00
,
11
,
0
2
1
3
0
0
=
=
S
p
p
p
p
S
(
)
(
)
11
3
11
,
00
,
0
6
5
7
4
1
=
=
S
p
p
p
p
S
1111
=
4.4) 
(
)
1111
1111
4
=
P
4.5) 
(
)
1010
1111
0101
,
2
2
2
2
=

=

=
k
R
F
L
L
Значит, 
0011
2
=
R
5) 
(
)
01101010
10100011
1
=

IP
Проиллюстрируем работу режима ECB 
)
,
(
k
P
DES
C
i
i
=
00000011
11111111
00000000
=
P
1101010
0
10100010
1110000
0
=
C


Проиллюстрируем работу режима CBC 
IV
=
0
)
,
(
1
k
P
C
DES
C
i
i
i

=

00000011
11111111
00000000
=
P
10001110
10100010
1110000
0
=
C
ЗАДАЧИ 
1. Выполнить 2 итерации ГОСТ. Р = 0 0 0 . . . 0 1 1 
К = 1 1 0 . . . 0 0 0. S-блоки известны. 
Считаем, что на каждом шаге S- матрицы одинаковы. 












=
13
6
0
10
14
3
11
5
7
1
9
4
2
8
12
15
10
5
10
3
7
9
12
15
11
2
6
13
8
14
1
4
8
3
5
9
11
12
6
10
1
13
2
14
4
7
15
0
7
0
9
5
12
6
10
3
8
11
15
2
1
13
4
14
S
2. Выполнить 2 итерации сети Фейстеля.
На входе Р = 3 4 =0 1 1 1 0 0 -6 бит. Расширение до 8 бит (произвольно). Ключ на 
входе 10 бит, после сжатия 8 бит.
К = 000…..0101. 












=












=
3
0
1
2
2
1
0
3
3
1
0
2
3
2
0
1
1
,
0
1
2
3
3
1
2
0
0
1
2
3
2
3
0
1
0
S
S
3 Выработка ключа в S –DES.
1010101010
,
0000011111
2
1
=
=
Ê
Ê

10
9
8
7
6
5
3
1
2
,
1
7
6
5
4
3
2
10
1
,
5462378152
8
8
10
=
=
=
Ð
Ð
Ð

4. Выполнить 2 итерации S -DES.
11001100
=
Ð
81234567
,
00000001
,
10000000
2
1
=
=
=
IP
Ê
Ê

1243
4 =
Ð












=












=
3
0
1
2
2
1
0
3
3
1
0
2
3
2
0
1
1
,
0
1
2
3
3
1
2
0
0
1
2
3
2
3
0
1
0
S
S


5. Проиллюстрировать работу S-DES (1 итерация) в режиме ECB, CBC. IV= 0.
11
0
1
0
6
8
8
=
P

01
.....
0000
=
K
Контрольные вопросы: 
1. Принцип работы алгоритма DES. 
2. Описать принцип работы тройного DES 
Министерство образования и науки Российской Федерации
федеральное государственное бюджетное образовательное учреждение высшего образования
"Российский экономический университет имени Г.В.Плеханова"
МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ


 
ЛАБОРАТОРНАЯ РАБОТА № 2 
 
«Шифрование информации с использованием стандарта RSA» 
(2 часа)
ПМ.03 «Эксплуатация объектов сетевой инфраструктуры» 
МДК.03.02 Безопасность компьютерных сетей 
Составители(авторы) Вилков А.Н. преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"


Цель работы 
Изучить принцип работы асимметричных алгоритмов шифрования на примере алгоритма RSA. 
Освоить методику создания комбинированных алгоритмов шифрования, которые совмеща- ют 
достоинства методов симметричной и асимметричной криптографии. 
Алгоритм шифрования RSA 
Алгоритм RSA был разработан в 1977 году Роном Ривестом, Ади Шамиром и Леном Адле- 
маном и опубликован в 1978 году. С тех пор алгоритм Rivest-Shamir-Adleman (RSA) широко 
при- меняется практически во всех приложениях, использующих криптографию с открытым
клю- чом [1, 2, 3]. 
Алгоритм RSA состоит из трёх этапов: 
I. 
Вычисление ключей. Важным моментом в этом криптоалгоритме является создание 
пары ключей: открытого и закрытого. Для алгоритма RSA этап создания ключей состоит из 
сле- дующих операций: 
1. 
Выбираются два простых различных числа и . Вычисляется их произведение
, называемое модулем. 
2. 
Вычисляется функция Эйлера ( ) ( ) ( ). 
3. 
Выбирается произвольное число ( ) такое, что ( ) и не имеет с числом 
( ) других общих делителей, кроме 1 (т.е. оно является взаимно простым с ним). 
4. 
Вычисляется (алгоритмом Евклида) таким образом, что ( ) делилось на ( ). 
5. 
Два числа ( ) публикуются как открытый ключ. 
6. 
Число хранится в секрете. Пара ( ) есть закрытый ключ, который позволит читать все 
послания, зашифрованные с помощью пары чисел ( ). 
II. 
Шифрование с помощью этих ключей производится следующим образом: 
1. 
Отправитель разбивает своё сообщение на блоки . Значение , поэтому длина 
блока открытого текста в битах не больше [ ] бит, где квадратные скобки обозначают 
взятие целой части от дробного числа. Например, если , то макси- мальная длина блока 
открытого текста [ ] [ ] бита. 
2. 
Подобный блок может быть интерпретирован как число из диапазона ( ). Для
каждого такого числа вычисляется выражение ( – зашифрованное сообщение): 
( ) . 
В качестве размера блока зашифрованного текста следует брать ⌈ ⌉ бит, где операция ⌈ ⌉ – 
это округление вверх до ближайшего целого. 
Необходимо добавлять нулевые биты слева в двоичное представление блока до разме- ра бит. 
III. 
Дешифрование производится следующим образом: 
1. 
Чтобы получить открытый текст, надо каждый блок зашифрованного текста длиной
бит дешифровать отдельно: 
Пример: 


( ) . 
Выбрать два простых числа , . Вычислить . 
Вычислить ( ) ( ) ( ) . 
Выбрать так, чтобы было взаимно простым с ( ) и меньше, чем ( ): . Определить 
так, чтобы и : , т.к. . 
Результирующие ключи: открытый ключ ( ) и закрытый ключ ( ). Пусть, например, 
требуется зашифровать сообщение : 
( ). Для дешифрования вычисляется ( ) . 
Задание 
Результатом данной лабораторной работы должны стать приложения, совмещающие в себе 
достоинства симметричных и асимметричных методов шифрования. 
I. 
Реализовать приложение для шифрования, позволяющее выполнять следующие 
действия: 
1. 
Вычислять открытый и закрытый ключи для алгоритма RSA: 
1) 
числа и генерируются программой или задаются из файла; 
2) 
числа и должны быть больше, чем ; 
3) 
сгенерированные ключи сохраняются в файлы: открытый ключ ( ) – в один файл, 
закрытый ( ) – в другой. 
2. 
Шифровать указанным в варианте симметричным алгоритмом открытый текст, а асим- 
метричным – ключ симметричного алгоритма: 
1) 
шифруемый текст должен храниться в одном файле, открытый ключ ( ) для алгоритма 
RSA – в другом; 
2) 
ключ для симметричного алгоритма должен генерироваться случайным образом; 
3) 
зашифрованный текст должен сохраняться в одном файле, а зашифрованный асим- 
метричным алгоритмом ключ симметричного алгоритма – в другом; 
4) 
в процессе шифрования предусмотреть возможность просмотра и изменения шиф- 
руемого текста в шестнадцатеричном и символьном виде; 
5) 
программа должна уметь работать с текстом произвольной длины. 
II. 
Реализовать приложение для дешифрования. 
1. 
Зашифрованный текст должен храниться в одном файле, зашифрованный ключ симмет- 
ричного алгоритма – в другом, а секретный ключ для алгоритма RSA – в третьем. 
2. 
Приложение расшифровывает зашифрованный ключ с помощью алгоритма RSA, а за- 
тем с помощью симметричного алгоритма с ключом расшифровывает зашифрованный текст. 
3. 
Расшифрованный текст должен сохраняться в файл. 
4. 
В процессе дешифрования предусмотреть возможность просмотра и изменения зашиф- 
рованного текста в шестнадцатеричном и символьном виде. 
5. 
Программа должна уметь работать с текстом произвольной длины. 
III. 
С помощью реализованных приложений выполнить следующие задания. 


1. 
Протестировать правильность работы разработанных приложений. 
2. 
Сделать выводы о проделанной работе. 
Контрольные вопросы: 
1. 
В чём заключается алгоритм RSA? 
2. 
Для чего и почему используют комбинированные криптоалгоритмы? 
3. 
В чём заключаются достоинства и недостатки асимметричных алгоритмов? 
4. 
В чём заключаются достоинства и недостатки симметричных алгоритмов? 


Министерство образования и науки Российской Федерации
федеральное государственное бюджетное образовательное учреждение высшего образования

Download 3.15 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   56




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling