Umumiy kriptograf algoritmlar



Yüklə 0,65 Mb.
səhifə12/20
tarix12.12.2022
ölçüsü0,65 Mb.
#120898
1   ...   8   9   10   11   12   13   14   15   ...   20
1 (2)

II bob bo‘yicha xulosa
Dissertatsiyaning II bobi kriptotahlilda tabiiy algoritmlardan foydalanish ularning kriptotahlidagi o‘rni va ularni kriptotahlilda foydalanish o‘rganilgan. Tabiiy algoritmlar jumladan genetik algoritmlar o‘rganilgan. Genetik algoritmdan foydalanish uchun fitness-funkiyasi tushunchasi va fitness funksiyadining ahamiyati v foydalanish usullari batafsil keltirib o‘tilgan. Misol qilib oladigan bo‘lsak gentik algoritmdan foydalanib 6 ta noma’lumli birinchi darajali tenglamani yechish uchun fitness-funksiyasi sifatida qilib olingan.

III BOB ALGORITMLARNING AMALIY REALIZATISYASI
§3.1. Shifrlash algoritmlari
3.2. Kriptotahlil algoritmlarini realizatsiya qilish
§3.2.2. Kriptotahlilda genetik algoritmlarni amaliy realizatsiyasi
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.
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.


Yüklə 0,65 Mb.

Dostları ilə paylaş:
1   ...   8   9   10   11   12   13   14   15   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin