Проектирование и разработка информационных систем



Download 2,21 Mb.
Pdf ko'rish
bet16/38
Sana24.02.2022
Hajmi2,21 Mb.
#242470
TuriРеферат
1   ...   12   13   14   15   16   17   18   19   ...   38
Bog'liq
programm

 
 


44 
3 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АЛГОРИТМОВ ШИФРОВАНИЯ 
КРИПТОАНАЛИЗА 
3.1 Практическая реализация алгоритмов шифрования 
3.1.1 Требования к инструментам 
Шифрование и дешифрование должно осуществляться с помощью 
алгоритмов DES и AES.
Входные данные в виде текста читаются из файла 
Выходные денные в виде зашифрованного и расшифрованного текста 
выводятся в файл. 
Ключ для шифрования задается в реализации «CotaFota». 
Алгоритм DES реализуется для 16 раундов шифрования 
Алгоритм AES должен позволять работать с ключами длины: 128, 192, 
256 бит. 
3.1.2 Практическая реализация алгоритма DES 
Для 
реализации 
алгоритмов 
шифрования, 
расшифрования 
использовался язык C. Выбор обусловлен тем, что для решения задачи не 
требуется объектно-ориентированных свойств, а также в существующих 
реализациях использован язык С.
Реализация шифрования с использованием алгоритма DES построена на 
основании открытых источников [2], [27]. 
Алгоритм DES в данной работе использован, как блочный шифр с 
подстановками, перестановками и битовыми операциями. Шифруемая 
информация разбивается на блоки по 64 бит, при этом, каждый блок 
шифруется отдельно, не взаимодействуя с другими блоками. Используется 
ключ, в котором 56 бит значимы, 8 бит, которые в реальных системах служат 


45 
для контроля четности (проверка правильности ключа), в текущей реализации 
8 проверочных бит не используются. 
Таблицы, использующиеся при шифровании, расшифровании данных 
представлены в виде статических постоянных (таблица 3.1) 
Таблица 3.1 
Постоянные алгоритма DES 
Статические постоянные 
Описание 
static const char des_IP_table[64] 
Таблица начальной перестановки исходного текста 
static const char des_invIP_table[64] 
Таблица обратной перестановки.
Обратная перестановка по отношению к начальной. 
static const char des_E_table[48] 
Таблица для расширения 32 бит до 48 бит 
static const char des_S_table[8][64] 
Таблица преобразования 8-битных блоков 
static const char des_P_table[32] 
Таблица перестановки 
static const char des_CD_table[56] 
Таблица перестановки ключа 
static const char des_CD_shift_table[16] Таблица циклических сдвигов ключа 
static const char des_subkey_table[] 
Таблица формирования ключей для каждого раунда 
В таблицах определен порядок перестановок, преобразований, которые 
происходят с текстом или с ключом по определенным правилам. 
Функции, реализованные для алгоритма приведены в таблице 3.2 
Таблица 3.2 
Функции алгоритма DES 
Функция 
Описание 


static uint64_t des_apply_table 
(uint64_t in, const char table[], int size) 
Функция применения таблиц преобразования к 
тексту, ключу на всех этапах работы алгоритма 
static void des_create_subkey 
(uint64_t key, uint64_t subkey[]) 
Фнукция формирования ключей для каждого 
раунда преобразования информации 
uint64_t des_encode(uint64_t in, uint64_t key) Объявлена в заголовочном файле 
Функция 
шифрования 
56-битного 
блока 
информации 
uint64_t des_decode(uint64_t in, uint64_t key) Объявлена в заголовочном файле 
Функция расшифрования 56-битного блока 
информации 


46 
Продолжение таблицы 3.2 


void des_crypt 
(char *input_fname, char *output_fname, char 
*password) 
Объявлена в заголовочном файле 
Функция чтения информации, вызов функции 
шифрования блока, запись зашифрованной 
информации 
void des_decrypt 
(char *input_fname, char *output_fname, char 
*password) 
Объявлена в заголовочном файле 
Функция чтения зашифрованной информации, 
вызов функции расшифрования блока, запись 
расшифрованной информации 
void test_des(void) 
Объявлена в заголовочном файле 
Основная 
функция, 
которая 
позволяет 
обработать пример, а также вызывает функции 
шифрования/расшифрования текста 

Download 2,21 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   38




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish