Feystel tarmogʻiga asoslangan simmetrik blokli shifrlash algoritmi


Shifrlash algoritmlariga xos parametrlar



Download 491,64 Kb.
bet16/22
Sana30.06.2022
Hajmi491,64 Kb.
#721330
1   ...   12   13   14   15   16   17   18   19   ...   22
Bog'liq
18.04.22

Shifrlash algoritmlariga xos parametrlar

AES

&seed_count
&seed.text_cnt

integer

populyatsiya miqdori, feromonlarning boshlang'ich qiymatini shakllantirish uchun ishlatiladi

&key_len

integer

Shifrlash kaliti uzunligi

DES

&seed.text_cnt

integer

populyatsiya miqdori, feromonlarning boshlang'ich qiymatini shakllantirish uchun ishlatiladi

&des_rounds

integer

Shifrlash kaliti uzunligi

Genetik

&cfg.parents_to_keep

integer

keyingi avlodda saqlanib qolgan ota-ona avlodining eng yaxshi shaxslari soni. Qiymat aholi sonining kattaligidan oshmasligi kerak.

&cfg.mutation_rate

double

mutatsiya ehtimoli

&cfg.delta

double

Oldindan o‘rnatilgan qiymat (0 dan 1 gacha) bit qiymatini o‘rnatish uchun ishlatiladi. Foydalanish printsipi quyida tavsiflangan.

&generations

integer

avlodlar soni

&population_size

integer

aholi soni (shaxslar soni)

Shifrlash algoritmlariga xos parametrlar

AES

&key_len

integer

Shifrlash kaliti uzunligi

DES

&des_rounds

integer

Shifrlash turlarining soni

Algoritm natijalari 3.7-jadvalga muvofiq fayllarga yozilgan.
3.7-jadval
Olingan natijalar bilan fayllarning nomini aniqlash

Kriptotahlil – shifrlash

Sinov rejimi

Ish tartibi

Genetik – AES

out_gen_aes_text.txt

out_gen_aes.txt

Genetik – DES

out_gen_des_text.txt

out_gen_des.txt

Natijalarni yozish uchun fayl "a" rejimida ochiladi - fayl oxiriga ilova qilingan. Agar diskda bir xil nomdagi fayl allaqachon mavjud bo‘lsa, fayl oxiriga yangi ma'lumotlar qo‘shiladi. Agar bunday fayl bo‘lmasa, u yaratiladi.
Shuning uchun, ishning boshida, saqlanishi kerak bo‘lgan ma'lumotlarga ega fayl mavjudligini tekshirishimiz kerak, aks holda katta miqdordagi ma'lumotlarga ega fayl olinadi.
Chumolilar algoritmi uchun test fayli natijalarni aks ettiradi: feromonlarning dastlabki taqsimlanishi, sinov kalitlarining shakllanishi, feromonlarning ko‘payishi va bug'lanishi bilan o‘zgarishi qiymatlarini hisoblash, o‘tish ehtimollarini hisoblash va optimal kalitning holatini aniqlanadi.
3.2. Kriptotahlil algoritmlarini realizatsiya qilish
§3.2.2. Genetik algoritmlarni amalda kriptotahlil qilish
Ma'lum bo‘lgan asl va shifrlangan matndan kalitni topish muammosi hal qilinadi. Asl matn, kalitlar, shifr matni chumoli algoritmiga o‘xshash ikkilik qatorlar sifatida qayta ishlanadi, bu ikkilik bit satrlarini taqqoslash uchun juda oddiy fitness-funktsiyasidan foydalanishga imkon beradi.
Shaxsiy struktur genotipining ma'lumotlarini o‘z ichiga olgan tuzilish. Struct gen_cfg algoritmi uchun qo‘shimcha parametrlarni o‘z ichiga olgan struktura hisoblanadi.
Genetik algoritmning ishlashini boshqaruvchi tuzilma, ba'zi parametrlar struct gen chumoli algoritmida ishlatiladigan parametrlarga o‘xshashdir.
Genetik algoritmni amalga oshirish uchun OPS ga quyidagi funktsiyalarni qo‘shamiz.
void ops_data_breed (struct ops_data ops, void *parent_key1, void *parent_key2, void *child_key)
Ota-onalar aholidan fitness-funktsiyalarining qiymatini hisobga olgan holda turnirni tanlash usuli bilan tanlanadi. Ota-onalar sifatida eng yaxshi fitness-funktsiyasi qiymatlari tanlanadi. Bunday holda, shart keyinchalik ikki xil ota-onadan paydo bo‘lishi uchun bajariladi.
O‘tish uchun ota-onalarning tanlovi gen.c.da amalga oshiriladi. Funktsiyada
static struct genotype* gen_select_tournament(struct gen *p)
turnirlar o‘tkaziladi, unda hozirgi aholi orasida bitta g'olib tanlanadi, bu fitness funktsiyasi va funktsiyasining eng yaxshi qiymatini hisobga olgan holda
static void gen_select(struct gen *p,struct genotype **parent1,struct genotype **parent2),
ota-ona bo‘lish uchun ikki xil musobaqa g'oliblarini tanlaydi.
Yuqorida ta'kidlab o‘tilganidek, klassik versiyada krossover bitta nuqta. Ikkilik qatorlarning bo‘linish nuqtasi tasodifiy ravishda aniqlanadi, avlodlar segmentlarni almashtirish orqali olinadi. Bunday holda, ikki turdagi avlodlarni yaratish mumkin (3.2-rasmga qarang).


3.2-rasm.


Genetik algoritmda nasl kalitini yaratish
Avlodlardan qaysi biri olinishini tanlash uchun siz qaysi ota-ona asosiy bo‘lishini tanlashingiz kerak. Taqdim etilgan dasturda bu quyidagicha amalga oshiriladi: kesilgan diapazon 2 * ga ko‘paytiriladi (key_length - 1) va diapazonga tegishli bo‘linish tasodifiy aniqlanadi.
pos = rand() % (2 * (key_length - 1)), bunda
pos – bo‘lingan bit
key_length – kalit uzunligi
Agar kesilgan holat [0..key_length-1] tugmachasi uzunligidan oshmasa, u holda ota-ona 1 (parent_key1) ota-ona, aks holda ota-ona 2 (parent_key2) bo‘ladi. Ikkinchi holatda, kesma holatini qayta hisoblash kerak. Ushbu qoidaning amalga oshirilishi 3.1-ro‘yxatda ko‘rsatilgan.
3.1 – ro‘yxat. Farzand kalitini yaratishda kesmaning holatini aniqlashni amalga oshirish.

if (pos >= ops->key_length - 1)
{
// swap parents
tmp = parent_key1;
parent_key1 = parent_key2;
parent_key2 = tmp;
// fix position
pos -= ops->key_length - 1;
}

Genetik algoritmning asosiy vazifasi void gen_run (struct gen * p) funksiyasidir. Ushbu funktsiya quyidagicha ishlaydi:

  1. Dastlabki aholi uchun tasodifiy shaxslar yaratiladi;

  2. Yaratilgan shaxslar uchun fitnes funktsiyasining qiymatini aniqlash. Fitnes funktsiyasining qiymatini tekshirish. Eng yaxshi qabul qilingan qiymat va mos keladigan shaxs (sinov kaliti) saqlanadi;

  3. Olingan populyatsiya kamayish tartibida fitnes qiymati bo‘yicha saralanadi;

  4. Olingan populyatsiya kamayish tartibida fitnes qiymati bo‘yicha saralanadi;

    1. Fitnes-funktsional ko‘rsatkichlari eng yaxshi ko‘rsatkichlarga ega bo‘lgan shaxslarning yangi soni yangi avlodda saqlanadi;

    2. Bitta nuqta krossoveri bilan avlodlarni yaratish

- ota-onalarning tanlovi - musobaqa tanlovi
- bolalar ijodi
- naslning mutatsiyasi
4.3. Olingan shaxslar uchun fitness funktsiyasi qiymatlarini aniqlanadi.
4.4. Fitnes funktsiyasining olingan qiymatlarini 3-bosqichda saqlangan eng yaxshi qiymat bilan tekshirish. Qabul qilingan qiymat avvalgisidan yaxshiroq bo‘lsa, olingan qiymat eng yaxshi sifatida saqlanadi va mos keladigan shaxs (sinov kaliti) saqlanadi.
5. Natijada paydo bo‘lgan populyatsiya tmp fitness funktsiyasi qiymati bo‘yicha saralanadi.
6. Yangi avlod tmp aholining hozirgi avlodi sifatida saqlanib qoladi.
7. Algoritm 5-bosqichdan boshlab takrorlanadi.
Algoritm ishi yakunida so‘nggi avlodlar bo‘yicha statistik ma'lumotlar to‘planib, qaysi genlar tez-tez namoyon bo‘lishini aniqlashga imkon beradi. Ushbu genlar ma'lum deb hisoblanadi.
Ishni tekshirish quyidagicha amalga oshiriladi:
- yig'indisi ma'lum bir kalit pozitsiyasida necha marta 1 ga o‘rnatilganligi aniqlanadi
- qabul qilingan jami belgilangan parametr delta va qoidani hisobga olgan holda aholi soni bilan taqqoslanadi
sum ≥ population_size * delta => bit = 1 (3-10)
sum ≤ population_size * (1 - delta) => bit = 0 (3-11)
aks holda, bit aniqlanmagan bo‘lib qoladi (known_bits [i] = -1).
sum – ma’lum bir kalit holatida bir necha marta 1 ga o‘rnatiladi
population_size – aholi soni
delta - bit aniqlanganidek aniqlanishini aniqlash uchun parameter
bit - bit qiymatini belgilash
known_bits [i] – ma’lum bitlarning massivi
Algoritm ishlashi uchun asosiy parametrlarning qiymati mos ravishda AES va DES uchun quyidagi funktsiyalarda o‘rnatiladi: int test_gen aes () va int test gen_des ()
DES shifrlash algoritmi bilan ishlashda, des_rounds shifrlash davralari qo‘shildi, buning uchun tajribalar o‘tkazish mumkin.
Chumoli va genetik algoritmlar uchun tatbiq etilgan tizim turli xil fitnes funktsiyalarini to‘ldirishni, feromonlarning boshlang'ich tarqalishini aniqlashni, turli xil tanlash usullarini to‘ldirishni osonlashtiradi, ya’ni ishlab chiqilgan tizim keyingi ish uchun yetarlicha moslashuvchan.


Download 491,64 Kb.

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




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