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


ops_aes.h  void ops_data_init_aes(struct ops_data *ops, int key_length)



Download 2,21 Mb.
Pdf ko'rish
bet35/38
Sana24.02.2022
Hajmi2,21 Mb.
#242470
TuriРеферат
1   ...   30   31   32   33   34   35   36   37   38
Bog'liq
programm

ops_aes.h 
void ops_data_init_aes(struct ops_data *ops, int key_length); 
ops_des.h 
void ops_data_init_des(struct ops_data *ops); 
Инициализация ops_data для работы с алгоритмом DES. В данном случае длина ключа 
фиксирована — 56 бит. Но есть возможность изменить количество раундов шифрования. 
В случае DES биты ключа идут не совсем подряд. Из каждого байта ключа 
используется только первых семь бит, таким образом, 56 битовый ключ хранится в 64-
битовой последовательности. Эта особенность учтена при реализации функций генерации 
текста, получения, установки бита, печати и копировании данных: 
allocate, random, get_bit, set_bit, print, copy. 
Муравьиный алгоритм. В заголовочном файле ant.h определены основные параметры и 
функции для работы муравьиного алгоритма. 
Реализована структура постоянных параметров алгоритма, которые устанавливаются для 
работы муравьиного алгоритма struct ant_cfg. Переменные, определенные в структуре: 
alpha, beta 
эмпирические 
коэффициенты, 
используемые 
для 
вычисления
вероятностей 
переходов муравья по формуле (2-2), значение 
«феромона». 
gamma 
значение фитнесс-функции, при достижении которого 
считается, что найден оптимальный ключ 
delta 
заданное значение (от 0 до 1), используется для установки 
значения бита. Для всех оптимальных ключей суммируются 
значения бит. Сумма делится на количество оптимальных 
ключей. Если для определенных бит полученное значение 
больше
биты фиксируются в ключе. 


124 
rho 
коэффициент, применяемый для определения испарения 
феромонов от 0 до 1 [3-2-2] 
kappa 
количество найденных оптимальных ключей, после 
которого
включается алгоритм фиксации бит, см. 
delta 
Следующая структура, управляющая работой муравьиного алгоритма struct ant. 
В структуре определены параметры и функции: 
struct ops_data *ops; 
операции с ключами 
struct gen_cfg 
*cfg;
дополнительные параметры муравьиного 
алгоритма 
int 
rounds; количество раундов работы алгоритма 
int 
iterations; 
количество итераций в раунде 
int 
ant_count; 
количество муравьев в итерации 
void 
*orig_text;
известный текст 
void 
*orig_cipher;
шифрованный текст, полученный из 
orig_text 
int 
optimum_keys; количество найденных оптимальных ключей 
int 
*optimum_keys_stat;
сохраняется статистика полученная для 
оптимальных ключей. Значения 
данного параметра
используется 
при 
определении возможности 
фиксации 
битов ключа 
void 
*best_iteration_key;
наилучший 
ключ 
полученный 
при 
выполнении 
итерации 
void 
*test_key;
тестируемый ключ 
void 
*test_cipher;
текст шифрованный тестируемым ключом 
double 
*tau;
данные о количестве феромона на всех 
путях
муравьев, 
обновляются 
при 
каждой итерации, см. 
формулу (4) 
int 
*known_bit;
известные биты ключа 
double 
best_round_fitness; 
лучшее 
значение 
фитнесс-функции, 
полученное по 
результатам выполнении раунда 
void 
*best_round_key;
наилучший 
ключ 
полученный 
при 
выполнении 
раунда 
void 
(*tau_init)(struct ant *p); 
функция распределения феромона на начальном этапе 
работы 
каждого раунда (по умолчанию феромоны распределяются 
случайным образом) 
double 
(*fitness)(struct ant *p, void *key);
функция, реализующая вычисление фитнесс-функции (по 
умолчанию отношение количество совпадающих 
бит в
шифрованном тексте и тексте шифрованным 
тестируемым 
ключом к длине ключа) 
void 
*priv; переменная может быть использована для передачи
дополнительных данных алгоритма (используется 


125 
например в
ANT_DES, 
для 
передачи 
дополнительной 
информации функции 
tau_init) 
Функция формирования начальных параметров алгоритма, инициализация алгоритма 
int ant_iteration_init (struct ant_iteration *p, struct ant_data_ops *ops, 
struct ant_const *ant_const, void *orig_text, 
void *orig_cipher, int rounds, int iterations,
int ant_count, void *tau_cfg,
void (*tau_init)(struct ant_iteration *p)); 
Запуск алгоритма осуществляется в функции void ant_run(struct ant *p)
После завершения работы алгоритма освобождение памяти происходит в функции void 

Download 2,21 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   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