Реализация алгоритма DES
Практическое применение блочного алгоритма шифрования DES, который базируется на алгоритме DEA. Пример представления блоков в виде хэш-функций, использование ротационного хэш-кода. Преобразование входного блока данных в выходной идентичной длины.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.01.2013 |
Размер файла | 356,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Московский технический университет связи и информатики
Кафедра защиты информации
Курсовая работа
по дисциплине
ОИБ
По теме: “Реализация алгоритма DES”
Выполнил студент
Группы: ЗС0901
Раудсепп Илья
Преподаватель: Руднев А.Н.
Москва 2012
Задание на курсовой проект
1. Запишите первые семь букв своей фамилии латинскими буквами в привычном вам виде. Для фамилий короче 7 букв недостающие символы считайте пробелами.
2. Переведите полученные 7 символов в двоичный вид с помощью таблицы ASCII (Приложение 1). Обратите внимание, коды символов представлены в таблице в шестнадцатеричной форме.
3. Рассчитайте простейший хэш-код от полученных 7 символов - ротационный XOR
4. С помощью алгоритма шифрования DEA (описанного в стандарте DES) произведите шифрование полученного 8-ми байтного блока информации:
- В качестве пароля используйте набор из 7 разных букв, также переведенных в двоичную форму при помощи таблицы ASCII.
- Для шифрования используйте только 4 раунда шифрования из предусмотренных стандартом 16-ти.
- Записывайте все промежуточные данные (значения всех блоков в приведенных блок-схемах для каждого раунда).
6. Результирующие 64 бита разбейте на 8 байтов и переведите в символы в соответствии с таблицей ASCII.
Исходные данные: RAUDSEPP
ASC II : 52 41 55 44 53 45 50 50
Binary: 11010010 01000001 01010101 01000100 01010011 01000101 01010000 01010001
Ротационный XOR:
0110 0000 1011 0000 1010 0111 1101 0011 0100 0010 0010 0001 1010 0100 1101 1010
1)
01101101
00000000
1101 1010
2)
10001000
01101101
1010 0100
3)
10100100
00110100
0010 0001
4)
00100001
00000000
0100 0010
5)
01000010
10101011
1101 0011
6)
11010011
00000000
1010 0111
7)
10100111
11111111
1011 0000
8)
10110000
10000000
0110 0000
Начальная перестановка:
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
|
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
|
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
|
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
|
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
|
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
|
57 |
58 |
59 |
60 |
62 |
62 |
63 |
64 |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
58 |
50 |
42 |
34 |
26 |
18 |
10 |
2 |
|
60 |
52 |
44 |
36 |
28 |
20 |
12 |
4 |
|
62 |
54 |
46 |
38 |
30 |
22 |
14 |
6 |
|
64 |
56 |
48 |
40 |
32 |
24 |
16 |
8 |
|
57 |
49 |
41 |
33 |
25 |
17 |
9 |
1 |
|
59 |
51 |
43 |
35 |
27 |
19 |
11 |
3 |
|
61 |
53 |
45 |
37 |
29 |
21 |
13 |
5 |
|
63 |
55 |
47 |
39 |
31 |
23 |
15 |
7 |
Ключ шифрования: QAZDFGUJ
ASC II: 51415A444647554A
Binary: 01010001 01000001 01011010 01000100 01000110 01000111 01010101 01001010
64-х битный ключ:
0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 |
56-ти битный ключ:
PC-1 (Выбор 1) |
PC-2 (Выбор 2) |
||||||||||||
57 |
49 |
41 |
33 |
25 |
17 |
9 |
14 |
17 |
11 |
24 |
1 |
5 |
|
1 |
58 |
50 |
42 |
34 |
26 |
18 |
3 |
28 |
15 |
6 |
21 |
10 |
|
10 |
2 |
59 |
51 |
43 |
35 |
27 |
23 |
19 |
12 |
4 |
26 |
8 |
|
19 |
11 |
3 |
60 |
52 |
44 |
36 |
16 |
7 |
27 |
20 |
13 |
2 |
|
63 |
55 |
47 |
39 |
31 |
23 |
15 |
41 |
52 |
31 |
37 |
47 |
55 |
|
7 |
62 |
54 |
46 |
38 |
30 |
22 |
30 |
40 |
51 |
45 |
33 |
48 |
|
14 |
6 |
61 |
53 |
45 |
37 |
29 |
44 |
49 |
39 |
56 |
34 |
53 |
|
21 |
13 |
5 |
28 |
20 |
12 |
4 |
46 |
42 |
50 |
36 |
29 |
32 |
|
PC-1 (Выбор 1) |
PC-2 (Выбор 2) |
||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
|
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
Разделим входные данные на два блока:
Блок схема алгоритма:
Расширяющая подстановка:
Осуществим S-подстановку:
Исходное число |
Строка; столбец |
Значение |
Двоичное значение |
|
0101 |
||||
0001 |
||||
1110 |
||||
1101 |
||||
1101 |
||||
1101 |
||||
1000 |
||||
0110 |
После S перестановки:
0101 0001 1110 1101 1101 1101 1000 0110
P - перестановка:
16 |
7 |
20 |
21 |
29 |
12 |
28 |
17 |
|
1 |
15 |
23 |
26 |
5 |
18 |
31 |
10 |
|
2 |
8 |
24 |
14 |
32 |
27 |
3 |
9 |
|
19 |
13 |
30 |
6 |
22 |
11 |
4 |
25 |
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Исходные данные перед началом следующего шага:
Данные на выходе 1 цикла шифрования: О g Ђ њ ( ( µ C
Циклический сдвиг ключа:
Новый 56-ти битный ключ, делим исходный на две половины по 28 бит, каждую половину сдвигаем влево на 1 бит:
Новый 48-ми битный ключ для 2 раунда шифрования:
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
1 |
0 |
1 |
|
1 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
2 итерация:
Расширяющая подстановка:
48-ми битный ключ:101000001001001001000010001101110010111101000000
Расширяющая подстановка: 011001011100001100001111110000000001010011111001
Осуществим S-подстановку:
Исходное число |
Строка; столбец |
Значение |
Двоичное значение |
|
3; 8 |
5 |
0101 |
||
1; 10 |
1 |
0001 |
||
1; 2 |
0 |
0000 |
||
1; 6 |
0 |
0000 |
||
3; 14 |
5 |
0101 |
||
3; 9 |
14 |
1110 |
||
2; 7 |
14 |
1110 |
||
3; 12 |
3 |
0011 |
После S перестановки:
0101 0001 0000 0000 0101 1110 1110 0011
P - перестановка:
16 |
7 |
20 |
21 |
29 |
12 |
28 |
17 |
|
1 |
15 |
23 |
26 |
5 |
18 |
31 |
10 |
|
2 |
8 |
24 |
14 |
32 |
27 |
3 |
9 |
|
19 |
13 |
30 |
6 |
22 |
11 |
4 |
25 |
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
Исходные данные перед началом следующего шага:
Циклический сдвиг ключа (на 2 разряда):
Новый 56-ти битный ключ, делим исходный на две половины по 28 бит, каждую половину сдвигаем влево на 2 бита:
Новый 48-ми битный ключ для 2 раунда шифрования:
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
Итерация 3:
Расширяющая подстановка:
48-ми битный ключ: 001000010101001001010010110101100000000011101100
Расширяющая подстановка: 111111111100001010100010101001011001010010101111
Осуществим S-подстановку:
Исходное число |
Строка; столбец |
Значение |
Двоичное значение |
|
3; 11 |
14 |
1110 |
||
3; 4 |
3 |
0011 |
||
1; 1 |
7 |
0111 |
||
2; 8 |
15 |
1111 |
||
0; 14 |
14 |
1110 |
||
3; 12 |
6 |
0110 |
||
1; 8 |
14 |
1110 |
||
1; 1 |
15 |
1111 |
После S перестановки:
1110 0011 0111 1111 1110 0110 1110 1111
P - перестановка:
16 |
7 |
20 |
21 |
29 |
12 |
28 |
17 |
|
1 |
15 |
23 |
26 |
5 |
18 |
31 |
10 |
|
2 |
8 |
24 |
14 |
32 |
27 |
3 |
9 |
|
19 |
13 |
30 |
6 |
22 |
11 |
4 |
25 |
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
Исходные данные перед началом следующего шага:
Циклический сдвиг ключа (на 1 разряд):
Новый 56-ти битный ключ, делим исходный на две половины по 28 бит, каждую половину сдвигаем влево на 2 бита:
Новый 48-ми битный ключ для 2 раунда шифрования:
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
0 |
|
0 |
0 |
0 |
1 |
0 |
0 |
1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0
алгоритм шифрование блок код
Итерация 4:
Расширяющая подстановка:
48-ми битный ключ: 001001000101001001010000010001111100010010000100
Расширяющая подстановка: 011100001010101111110100001101010111110101011101
Осуществим S-подстановку:
Исходное число |
Строка; столбец |
Значение |
Двоичное значение |
|
1; 10 |
12 |
1100 |
||
1; 7 |
14 |
1110 |
||
2; 3 |
9 |
1001 |
||
2; 3 |
0 |
0000 |
||
0; 14 |
14 |
1110 |
||
3; 5 |
5 |
0101 |
||
3; 3 |
8 |
1000 |
||
1; 12 |
0 |
0000 |
После S перестановки:
1100 1110 1001 0000 1110 0101 1000 0000
P - перестановка:
16 |
7 |
20 |
21 |
29 |
12 |
28 |
17 |
|
1 |
15 |
23 |
26 |
5 |
18 |
31 |
10 |
|
2 |
8 |
24 |
14 |
32 |
27 |
3 |
9 |
|
19 |
13 |
30 |
6 |
22 |
11 |
4 |
25 |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
Результат после 4 итераций: 0100 0101 1000 1100 1010 0001 1001 1001
Выходные 64 бита:
Выполним обратную простановку:
40 |
8 |
48 |
16 |
56 |
24 |
64 |
32 |
|
39 |
7 |
47 |
15 |
55 |
23 |
63 |
31 |
|
38 |
6 |
46 |
14 |
54 |
22 |
62 |
30 |
|
37 |
5 |
45 |
13 |
53 |
21 |
61 |
29 |
|
36 |
4 |
44 |
12 |
52 |
20 |
60 |
28 |
|
35 |
3 |
43 |
11 |
51 |
19 |
59 |
27 |
|
34 |
2 |
42 |
10 |
50 |
18 |
58 |
26 |
|
33 |
1 |
41 |
9 |
49 |
17 |
57 |
25 |
Обратная перестановка. |
||||||||||||||||
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
Данные после шифрования: ASC II: 236; 151; 107; 191; 176; 221; 124; 233.
Перекодировка: м--kї°Э|Я
Таблицы S - преобразований.
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
|
0 |
14 |
4 |
13 |
1 |
2 |
15 |
11 |
8 |
3 |
10 |
6 |
12 |
5 |
9 |
0 |
7 |
S1 |
|
1 |
0 |
15 |
7 |
4 |
14 |
2 |
13 |
1 |
10 |
6 |
12 |
11 |
9 |
5 |
3 |
8 |
||
2 |
4 |
1 |
14 |
8 |
13 |
6 |
2 |
11 |
15 |
12 |
9 |
7 |
3 |
10 |
5 |
0 |
||
3 |
15 |
12 |
8 |
2 |
4 |
9 |
1 |
7 |
5 |
11 |
3 |
14 |
10 |
0 |
6 |
13 |
||
|
|
|||||||||||||||||
0 |
15 |
1 |
8 |
14 |
6 |
11 |
3 |
4 |
9 |
7 |
2 |
13 |
12 |
0 |
5 |
10 |
S2 |
|
1 |
3 |
13 |
4 |
7 |
15 |
2 |
8 |
14 |
12 |
0 |
1 |
10 |
6 |
9 |
11 |
5 |
||
2 |
0 |
14 |
7 |
11 |
10 |
4 |
13 |
1 |
5 |
8 |
12 |
6 |
9 |
3 |
2 |
15 |
||
3 |
13 |
8 |
10 |
1 |
3 |
15 |
4 |
2 |
11 |
6 |
7 |
12 |
0 |
5 |
14 |
9 |
||
|
|
|||||||||||||||||
0 |
10 |
0 |
9 |
14 |
6 |
3 |
15 |
5 |
1 |
13 |
12 |
7 |
11 |
4 |
2 |
8 |
S3 |
|
1 |
13 |
7 |
0 |
9 |
3 |
4 |
6 |
10 |
2 |
8 |
5 |
14 |
12 |
11 |
15 |
1 |
||
2 |
13 |
6 |
4 |
9 |
8 |
15 |
3 |
0 |
11 |
1 |
2 |
12 |
5 |
10 |
14 |
7 |
||
3 |
1 |
10 |
13 |
0 |
6 |
9 |
8 |
7 |
4 |
15 |
14 |
3 |
11 |
5 |
2 |
12 |
||
|
|
|||||||||||||||||
0 |
7 |
13 |
14 |
3 |
0 |
6 |
9 |
10 |
1 |
2 |
8 |
5 |
11 |
12 |
4 |
15 |
S4 |
|
1 |
13 |
8 |
11 |
5 |
6 |
15 |
0 |
3 |
4 |
7 |
2 |
12 |
1 |
10 |
14 |
9 |
||
2 |
10 |
6 |
9 |
0 |
12 |
11 |
7 |
13 |
15 |
1 |
3 |
14 |
5 |
2 |
8 |
4 |
||
3 |
3 |
15 |
0 |
6 |
10 |
1 |
13 |
8 |
9 |
4 |
5 |
11 |
12 |
7 |
2 |
14 |
||
|
|
|||||||||||||||||
0 |
2 |
12 |
4 |
1 |
7 |
10 |
11 |
6 |
8 |
5 |
3 |
15 |
13 |
0 |
14 |
9 |
S5 |
|
1 |
14 |
11 |
2 |
12 |
4 |
7 |
13 |
1 |
5 |
0 |
15 |
10 |
3 |
9 |
8 |
6 |
||
2 |
4 |
2 |
1 |
11 |
10 |
13 |
7 |
8 |
15 |
9 |
12 |
5 |
6 |
3 |
0 |
14 |
||
3 |
11 |
8 |
12 |
7 |
1 |
14 |
2 |
13 |
6 |
15 |
0 |
9 |
10 |
4 |
5 |
3 |
||
|
|
|||||||||||||||||
0 |
12 |
1 |
10 |
15 |
9 |
2 |
6 |
8 |
0 |
13 |
3 |
4 |
14 |
7 |
5 |
11 |
S6 |
|
1 |
10 |
15 |
4 |
2 |
7 |
12 |
9 |
5 |
6 |
1 |
13 |
14 |
0 |
11 |
3 |
8 |
||
2 |
9 |
14 |
15 |
5 |
2 |
8 |
12 |
3 |
7 |
0 |
4 |
10 |
1 |
13 |
11 |
6 |
||
3 |
4 |
3 |
2 |
12 |
9 |
5 |
15 |
10 |
11 |
14 |
1 |
7 |
6 |
0 |
8 |
13 |
||
|
|
|||||||||||||||||
0 |
4 |
11 |
2 |
14 |
15 |
0 |
8 |
13 |
3 |
12 |
9 |
7 |
5 |
10 |
6 |
1 |
S7 |
|
1 |
13 |
0 |
11 |
7 |
4 |
9 |
1 |
10 |
14 |
3 |
5 |
12 |
2 |
15 |
8 |
6 |
||
2 |
1 |
4 |
11 |
13 |
12 |
3 |
7 |
14 |
10 |
15 |
6 |
8 |
0 |
5 |
9 |
2 |
||
3 |
6 |
11 |
13 |
8 |
1 |
4 |
10 |
7 |
9 |
5 |
0 |
15 |
14 |
2 |
3 |
12 |
||
|
|
|||||||||||||||||
0 |
13 |
2 |
8 |
4 |
6 |
15 |
11 |
1 |
10 |
9 |
3 |
14 |
5 |
0 |
12 |
7 |
S8 |
|
1 |
1 |
15 |
13 |
8 |
10 |
3 |
7 |
4 |
12 |
5 |
6 |
11 |
0 |
14 |
9 |
2 |
||
2 |
7 |
11 |
4 |
1 |
9 |
12 |
14 |
2 |
0 |
6 |
10 |
13 |
15 |
3 |
5 |
8 |
||
3 |
2 |
1 |
14 |
7 |
4 |
10 |
8 |
13 |
15 |
12 |
9 |
0 |
3 |
5 |
6 |
11 |
Таблица кодировки ASC II:
Код (Hex) |
Символ |
Код (Hex) |
Символ |
Код (Hex) |
Символ |
Код (Hex) |
Символ |
Код (Hex) |
Символ |
Код (Hex) |
Символ |
|
20 |
Пробел |
30 |
. |
40 |
@ |
50 |
P |
60 |
' |
70 |
p |
|
21 |
! |
31 |
0 |
41 |
A |
51 |
Q |
61 |
a |
71 |
q |
|
22 |
" |
32 |
1 |
42 |
B |
52 |
R |
62 |
b |
72 |
r |
|
23 |
# |
33 |
2 |
43 |
C |
53 |
S |
63 |
c |
73 |
s |
|
24 |
$ |
34 |
3 |
44 |
D |
54 |
T |
64 |
d |
74 |
t |
|
25 |
% |
35 |
4 |
45 |
E |
55 |
U |
65 |
e |
75 |
u |
|
26 |
& |
36 |
5 |
46 |
F |
56 |
V |
66 |
f |
76 |
v |
|
27 |
' |
37 |
6 |
47 |
G |
57 |
W |
67 |
g |
77 |
w |
|
28 |
( |
38 |
7 |
48 |
H |
58 |
X |
68 |
h |
78 |
x |
|
29 |
) |
39 |
8 |
49 |
I |
59 |
Y |
69 |
i |
79 |
y |
|
2A |
* |
3A |
9 |
4A |
J |
5A |
Z |
6A |
j |
7A |
z |
|
2B |
+ |
3B |
: |
4B |
K |
5B |
[ |
6B |
k |
7B |
{ |
|
2C |
, |
3C |
; |
4C |
L |
5C |
\ |
6C |
l |
7C |
| |
|
2D |
- |
3D |
< |
4D |
M |
5D |
] |
6D |
m |
7D |
} |
|
2E |
. |
3E |
> |
4E |
N |
5E |
^ |
6E |
n |
7E |
~ |
|
2F |
/ |
3F |
? |
4F |
O |
5F |
_ |
6F |
o |
7F |
DEL |
Выводы по работе
1. В курсовом проекте изучали блочный алгоритм шифрования DES, на вход подавали блок информации, 8 символов фамилии (64 бита информации). Затем блоки представляются в виде хэш-функций. Для того, чтобы избавится от любой регулярности, которая присутствует во входных значениях, в курсовом проекте используется ротационный хэш-код.
2. Цель курсовой работы закодировать свою фамилию с помощью стандарта шифрования DES, который базируется на алгоритме DEA. DEA представляет собой алгоритм криптозащиты блочного шифрования. Вся информация разбивается на блоки размером 64 бита. Входной блок данных, состоящий из 64 бит, преобразуется в выходной блок данных идентичной длины. Ключ состоит из 64 разрядов, 8 из которых могут использоваться для контроля четности. Ключ шифрования должен быть известен как отправляющей, так и принимающей стороне. В алгоритме шифрования DES широко используются перестановки битов текста для удаления статистических связей между символами.
При шифровании и дешифровании используется один и тот же алгоритм.
Размещено на Allbest.ru
...Подобные документы
Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.
курсовая работа [398,4 K], добавлен 26.01.2010Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.
курсовая работа [812,6 K], добавлен 27.03.2012История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017Разработка программы кодирования текстового файла при помощи блочного алгоритма шифрования ТЕА типа "Сеть Фейштеля", который основан на битовых операциях с 64-битным блоком и имеет 128-битный ключ шифрования. Результаты кодирования и декодирования.
лабораторная работа [299,9 K], добавлен 18.07.2013Теоретическое исследование вопроса и практическое применение. Общие сведения о графах. Алгоритм Дейкстры. Особенности работы в среде. Программная реализация. Описание алгоритма и структуры программы. Описание программных средств. Текст программы.
курсовая работа [1,0 M], добавлен 27.11.2007Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
дипломная работа [2,1 M], добавлен 20.12.2015Моделирование передвижения муравьев. Метод ветвей и границ, ближайшего соседа. Ограничения, накладываемые на агента в стандартной постановке задачи коммивояжера. Использование графа видимости в алгоритме муравья. Структура данных алгоритма муравья.
дипломная работа [1,7 M], добавлен 07.02.2013Изучение понятия и свойств алгоритма. Определение сущности технологии Robson. Исполнитель, а также блок-схема алгоритма или его графическое представление, в котором он изображается в виде последовательности связанных между собой функциональных блоков.
реферат [155,9 K], добавлен 19.10.2013Разработка программы шифрования данных с использованием алгоритма DES. Структура алгоритма, режимы его работы. Электронный шифровальный блокнот. Цепочка цифровых блокнотов. Цифровая и внешняя обратная связь. Структура окна: функции основных кнопок.
лабораторная работа [830,3 K], добавлен 28.04.2014Симметрическое шифрование как способ шифрования, в котором применяется один и тот же криптографический ключ. Функции стандартного диалогового окна открытия и сохранения файла. Характерная схема действий при генерации подписи. Цифровая подпись файла.
курсовая работа [641,5 K], добавлен 14.06.2011Сущность метода зонного сжатия буквенной информации. Описание классов, определяющих место хранения символов и алфавита. Реализация асимметричного алгоритма RSA. Логика построения шифра и структура ключевой информации в криптографическом алгоритме ГОСТ.
контрольная работа [3,2 M], добавлен 30.11.2013Характеристика сигнала и его представление в виде математического ряда. Условия ортогональности двух базисных функций. Ряд Фурье, его интегральное преобразование и практическое использование в цифровой технике для обработки дискретной информации.
реферат [69,9 K], добавлен 14.07.2009Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".
курсовая работа [3,3 M], добавлен 11.03.2013Разработка на языке ассемблера алгоритма контроля, на циклический CRC-код, массива данных хранящегося в некоторой области памяти. Сохранение кода для последующей периодической проверки массива данных. Сообщение об искажении данных. Описание алгоритма.
курсовая работа [453,0 K], добавлен 27.02.2009Предотвращение угроз информационной безопасности. Использование криптографических методов защиты в информационных системах. Разработка блока обратного преобразования для системы нелинейного шифрования на основе операции возведения в степень по модулю.
дипломная работа [565,1 K], добавлен 01.07.2011Получение вейвлетов Габора из представления путем его поворота и растяжения для известного числа масштабов и ориентаций. Описание процедуры pullback. Детектор края, реализация алгоритма. Генерация представления изображения с помощью вейвлетов Габора.
курсовая работа [1021,4 K], добавлен 29.10.2017Перевод исходного текста и первого подключа в двоичную последовательность. Логическое сложение с исключением. Открытый и закрытый ключи в алгоритме шифрования RSA. Шифрование и расшифрование. Электронная цифровая подпись. Применение функции хеширования.
контрольная работа [21,9 K], добавлен 28.03.2012