Umumiy kriptograf algoritmlar



Yüklə 0,65 Mb.
səhifə15/20
tarix12.12.2022
ölçüsü0,65 Mb.
#120898
1   ...   12   13   14   15   16   17   18   19   20
1 (2)

10000100001011111110000001010011111110010000011000100111001100111101100111100110101011110010111011001101011011101001111110010111
10110111000111001000000011001111100101011110000101101100001101110011010100110101011100110111011011111100000111001001111110010111
00100100000100010101010000110011000101110111000000011001001000010110111001110001000111110010111011001101011011101001111110010111
00110100000100010110000001010011111110010000011110100111001100111101100111110010101011110010111011001101011011101001111110010111.

sum [k] >= population_size * delta

= 4 * 0,7

= 2,8

(1)



sum [k] <= population_size * (1 - delta)

= 4 * (1 - 0,7) = 1,2

(2)

5-jadval

[k], bit

Bit qiymat kalit 1

Bit qiymat kalit 2

Bit qiymat kalit 3

Bit qiymat kalit 4

Sum[k]

Vaziyat (1) yoki (2)

Bit qiymatini o‘rnatish

0

1

1

0

0

2

Bajarilmagan

-

1

0

0

0

0

0

(2)

0

2

0

1

1

1

3

(1)

1

3

0

1

0

1

2

Bajarilmagan

-

4

0

0

0

0

0

(2)

0

5

1

1

1

1

4

(1)

1

6

0

1

0

0

1

(2)

0

7

0

1

0

0

1

(2)

0

Sinov natijasi kutilgan natijalarga mos keladi.


Shuningdek, u quyidagilarni tasdiqlaydi: delta parametri 0,5 dan kam yoki teng bo‘lmasligi kerak, chunki bu noto‘g‘ri natijalarga olib keladi.

DES uchun genetik algoritmni amalga oshirishni sinovdan o‘tkazish

  1. Dastlabki populyatsiyalarning shakllanishi.

Dastlabki populyatsiya tasodifiy ravishda yaratilgan kalitlar bilan to‘ldiriladi.
Population: 0
1011101x0011010x1011001x1111001x0110010x1010000x1110111x1100000x
Population:1
0101101x1010010x0011000x0000100x0110111x1001110x1111111x0101101x
Population:2
0101010x0111110x0111001x0010000x1101110x0011000x0000011x0100100x
Population:3
1000100x1101111x1010001x0111110x0100101x0011001x0000100x1111010x
Dastlabki populyatsiyaning fitnes funktsiyasining qiymatlarini (1) formula bo‘yicha aniqlash mumkin (6-jadvalda ko‘rsatilgan).
6-jadval

Populyatsiya

Sinovdagi mos bitlar soni va asl shifrlangan matnlar (umumiy bitlardan)

Fitness funktsiyasi

Population: 0

50(64)

0.781250

Population: 1

55(64)

0.859375

Population: 2

49(64)

0.765625

Population: 3

42(64)

0.656250

Dastlabki aholi uchun eng yaxshi kalitni aniqlash.


Dastlabki populyatsiyalarni shakllantirish natijalariga ko‘ra Populyatsiya: 1 eng yaxshi fitness funktsiyasining 0,859375 qiymatiga ega. Population: 1-da yaratilgan kalit eng yaxshi kalit sifatida qayd etiladi. Aholini fitness funktsiyasi qiymati bo‘yicha saralash 7-jadvalda berilgan.
7-jadval

Aholini saralashdan keyin

Aholisi

Fitness-funktsiyasi qiymati

Population: 0

Population: 1

0.859375

Population: 1

Population: 0

0.781250

Population: 2

Population: 2

0.765625

Population: 3

Population: 3

0.656250

Population: 0


0101101x1010010x0011000x0000100x0110111x1001110x1111111x0101101x
Population: 1
1011101x0011010x1011001x1111001x0110010x1010000x1110111x1100000x
Population: 2
0101010x0111110x0111001x0010000x1101110x0011000x0000011x0100100x
Population: 3
1000100x1101111x1010001x0111110x0100101x0011001x0000100x1111010x

  1. Avlodni shakllantirish uchun "ota-onalar" ni tanlash.

Ikki kishi tasodifiy tanlanadi. Ularning fitness funktsiyalari qiymatlari taqqoslanadi va tanlangan ikkitadan birinchi ota-ona sifatida eng yaxshi fitness funktsiyasi qiymatiga ega bo‘lgan shaxs tanlanadi.
Keyin ikkinchi ota-ona xuddi shu tarzda tanlanadi.
0.781250 fitness funktsiyasi qiymati bo‘lgan shaxs 1 ota-ona sifatida tanlandi. Xuddi shu tarzda keyingi ota-ona tanlandi. Fitness qiymati 0.765625 ga teng bo‘lgan ham tanlanadi.
Parents: 0, 2
Population: 0
1011101x0011010x1011001x1111001x0110010x1010000x1110111x1100000x
Population: 2
0101010x0111110x0111001x0010000x1101110x0011000x0000011x0100100x

  1. "avlod" ning shakllanishi.

Keyin u kalitni tasodifiy bir nuqtaga bo‘lish orqali hosil bo‘ladi.
Bunday holda, yuqorida aytib o‘tilganidek, avlodlardan qaysi biri olinishini tanlash uchun qaysi ota-ona asosiy bo‘lishini tanlashingiz kerak. Qaysidir biri tasodifiy ravishda aniqlanadi.
Sinov holatida bo‘linish nuqtasi 46 bit bilan ko‘rsatilgan. 0 dan 42 bitgacha bo‘lgan ma'lumotlar Population: 1 ota-onadan olinadi:
Ota-onalarning avlodlari: 1, 2:
1011101x0011010x1011001x1111001x0110010x1010000x1000011x0100100x

  1. Tasodifiy genlarning mutatsiyasi.

Mutatsiya jarayonida bitlarning tasodifiy tanlovi ham amalga oshiriladi, bu algoritm parametri sifatida ko‘rsatilgan mutatsiya_rat ehtimolini hisobga olgan holda teskari bo‘ladi va tasodifiy son hosil qiladi:
Tasodifiylik yoki ma'lum bir yo‘lni bosib o‘tish uchun chumolini tanlash huquqi 0 dan RAND MAX (2147483647) gacha bo‘lgan tasodifiy sonni hosil qilish va (int) (mutation_rate RAND_MAX) bilan taqqoslash orqali ta'minlanadi. Agar tasodifiy son bu qiymatdan kamroq olinsa, u holda bit teskari bo‘ladi. Mutatsiya _rati 0,02 bo‘lsa, o‘rtacha ikki bit o‘zgarishini bildiradi.
Ota-onalarning avlodlari: 0, 2:
Mutatsiyadan oldin
1011101x0011010x1011001x1111001x0110010x1010000x1000011x0100100x
Mutatsiyadan keyin
1011101x0011011x1011001x1111001x0110010x1010000x1000011x0100100x

  1. Olingan avlodlarning fitnes funktsiyasi qiymatlarini aniqlash.

Birinchi avlod natijalariga ko‘ra 0,812500 ta boshlang‘ich populyatsiyaning fitness funktsiyasi qiymati eng yaxshi bo‘lib qoldi (8-jadval). Eng yaxshi kalit - bu ota-onalarning avlodlari: 0, 1
0101101x1010010x0011000x0000100x0110111x1001110x0111111x0100000x
8-jadval
Keyingi avlod uchun fitnes funktsiyasi

Aholi

Sinov va asl nusxada mos keladigan bitlar soni
Shifrlanganmatnlar (barcha bitlardan)

Fitness-funktsiyasi

parents: 0, 2

67(128)

0.523438

parents: 0, 1

69(128)

0.539062



  1. Keyingi avlod populyatsiyasining shakllanishi.

Berilgan parametrlar bilan avlodlar, shuningdek, eng yaxshi fitness funktsiyasi ko‘rsatkichlariga ega bo‘lgan hozirgi avlodning ikki vakili keyingi avlodga o‘tishlari kerak.
Kutilgan natijalar sinov paytida olingan natijalar bilan mos keladi.
7. Delta parametriga erishish sharti bilan bitlarni tuzish.
Sinov maqsadi: delta parametriga erishilganda kalitdagi bitlar topilganidek aniqlanganligiga ishonch hosil qilish.
Bit belgilanadigan, kirish sifatida berilgan va sinov uchun yopilganligini aniqlash uchun delta parametri 0,6 ga teng. Bitlar oxirgi populyatsiyadagi barcha shaxslarning natijalariga qarab belgilanadi.
Algoritmning ishlashi natijasida 4 ta kalit qo‘lga kiritildi:

Yüklə 0,65 Mb.

Dostları ilə paylaş:
1   ...   12   13   14   15   16   17   18   19   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