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



Download 2,21 Mb.
Pdf ko'rish
bet26/38
Sana24.02.2022
Hajmi2,21 Mb.
#242470
TuriРеферат
1   ...   22   23   24   25   26   27   28   29   ...   38
Bog'liq
programm

1010001x0011001x0000001x0101101x1110001x0000001x0100001x0100100x 
Ожидаемое значение изменения уровня феромонов 0,129147 при 
входных параметрах лучшего значения фитнесс-функции на итерации 0.75. 
Изменение уровня феромонов представлено в таблице 4.13. 
Таблица 4.13 
Увеличение уровня феромона
Переход 
в области 
поиска 
Начальное распределение феромонов 
Распределение феромонов
после 1 итерации 
0-0 
0-1 
1-0 
1-1 
0-0 
0-1 
1-0 
1-1 
-1 - 0 
0,50000 
0,50000 


0,50000 
0,62915 


0 - 1 

0,50000 
0,50000 


0,50000 
0,62915 

1 - 2 

0,50000 
0,25000 
0,25000 

0,62915 
0,25000 
0,25000 
2 - 3 

0,25000 
0,50000 
0,25000 

0,25000 
0,62915 
0,25000 
3 - 4 
0,25000 
0,25000 
0,25000 
0,25000 
0,37915 
0,25000 
0,25000 
0,25000 
4 - 5 
0,50000 

0,25000 
0,25000 
0,62915 

0,25000 
0,25000 
5 - 6 

0,75000 
0,25000 


0,87915 
0,25000 

6 - 7 

0,25000 
0,25000 
0,50000 

0,25000 
0,37915 
0,50000 


78 
Полученный результат соответствует ожидаемым. 
Параметр, отражающий какой уровень феромонов останется после 
испарения
, задается в качестве параметра алгоритма rho,
и применяется ко всем 
возможным переходам (3-6). У
ровень остающихся феромонов rho задается, как 
параметр алгоритма и равен 0,9500. Ожидаемые результаты распределения 
уровня феромонов приведены в таблице 4.14.
Таблица 4.14
Уменьшение уровня феромона 
Переход 
в области 
поиска 
Распределение феромонов до испарения 
Ожидаемое 
распределение феромонов после испарения 
0-0 
0-1 
1-0 
1-1 
0-0 
0-1 
1-0 
1-1 
-1 - 0 
0,50000 
0,62915 


0,47500 
0,59769 


0 - 1 

0,50000 
0,62915 


0,47500 
0,59769 

1 - 2 

0,62915 
0,25000 
0,25000 

0,59769 
0,23750 
0,23750 
2 - 3 

0,25000 
0,62915 
0,25000 

0,23750 
0,59769 
0,23750 
3 - 4 
0,37915 
0,25000 
0,25000 
0,25000 
0,36019 
0,23750 
0,23750 
0,23750 
4 - 5 
0,62915 

0,25000 
0,25000 
0,59769 

0,23750 
0,23750 
5 - 6 

0,87915 
0,25000 


0,83519 
0,23750 

6 - 7 

0,25000 
0,37915 
0,50000 

0,23750 
0,36019 
0,47500 
Данные полученные в результате тестирования подтверждают 
ожидаемые значения. 
5. Фиксирование бит при условии достижении параметра delta.
Цель тестирования: убедиться, что при достижении параметра биты в 
ключе фиксируются, как найденные. 
Параметр delta для определения будет ли зафиксирован бит, как 
определенный, задан, как входные данные и для тестирования равен 0,6. Также 
для тестирования фиксирования бит количество тестовых раундов 
криптоанализа было увеличено до 4.


79 
Для определения будет ли зафиксирован бит используются 
соотношения (3-7) и (3-8):
Оптимальный ключ 1: 
1010101x1111111x0101111x0001101x0001110x0000110x0100001x0000110x 
Оптимальный ключ 2: 
0110001x1111111x0100001x0001101x0001110x0011110x0101101x0100100x 
Оптимальный ключ 3: 
1010001x0011001x0100001x0001101x0010111x0000001x0100011x0010100x 
optimum_keys_stat[k] >= оptimum_keys * delta
= 3 * 0,6
= 1,8 (1) 
optimum_keys_stat[k] <= оptimum_keys * (1 - delta) = 3 * (1 - 0,6) = 1,2 (2) 
Результаты фиксации бит приведены в таблице 4.15 
Таблица 4.15
Фиксация значения бита
[k], 
бит 
Значение 
бита
ключ 1 
Значение 
бита
ключ 2 
Значение 
бита 
ключ 3 
Optimum 
keys stat 
[k]
Выполнение 
условия
(1) или (2) 
Установка 
значения 
бита 





(1) 






(2) 






Не выполнено 






Не выполнено 






(2) 






Не выполнено 






Не выполнено 






(1) 

Результат тестирования соответствует ожиданиям. 
6. 
Тестирование 
использования 
зафиксированных 
бит 
при 
инициализации уровня феромонов следующего раунда.
Цель тестирования: убедиться, что в следующем раунде для 
инициализации уровня феромонов будут использованы биты зафиксированные 
на предыдущем раунде, то есть переход в эти значения будет иметь 
обязательный характер. 


80 
Рассмотрим первые 8 бит. 
После нахождения третьего оптимального ключа были зафиксированы 
биты: 
Бит 
0 1 2 3 4 5 6 7 
Значение 1 0


Случайные ключи были сформированы по общему правилу. 
Бит/ 
ключ 
0 1 2 3 4 5 6 7 

1 0 1 0 0 0 1 1 

0 1 0 1 1 1 0 1 

0 1 1 1 0 0 1 1 

1 0 1 0 1 0 1 0 
Несмотря на формирование ключей, для определения уровня феромонов 
должны использоваться значения уже установленных бит (таблицы 4.16, 4.17).
Таблица 4.16
Распределение начального значения феромонов по «пути» муравьев
Переход/ 
ключ 
tau[4 * k + 0] 
0 — 0 
tau[4 * k + 1] 
0 — 1 
tau[4 * k + 2] 
1 — 0 
tau[4 * k + 3] 
1 — 1 
















-1 - 0 




0,25 0,25 - 
0,25 - 







0 - 1 






0,25 - 
0,25 0,25 - 
0,25 - 



1 - 2 

0,25 - 

0,25 - 

0,25 - 

0,25 - 




2 - 3 





0,25 0,25 - 
0,25 - 

0,25 - 



3 - 4 
0,25 - 

0,25 - 




0,25 - 



0,25 - 
4 - 5 
0,25 - 

0,25 - 
0,25 - 



0,25 - 




5 - 6 


0,25 - 
0,25 - 

0,25 - 
0,25 - 





6 - 7 





0,25 0,25 - 




0,25 - 

0,25 


81 
Таблица 4.17
Итоговое распределение начального значения феромонов по «пути» муравьев
Переход в 
области поиска 
tau[4 * k + 0] 
0 — 0 
tau[4 * k + 1] 
0 — 1 
tau[4 * k + 2] 
1 — 0 
tau[4 * k + 3] 
1 — 1 
-1 - 0 




0 - 1 




1 - 2 
0,25 
0,75 


2 - 3 

0,25 
0,50 
0,25 
3 - 4 
0,50 
- 
0,50 

4 - 5 
0,75 
0,25 


5 - 6 

0,75 
0,25 

6 - 7 

0,25 
- 
0,75 
Полученные результаты подтверждаются. 
4.3 Тестирование реализации генетического алгоритма 
После реализации системы было проведено тестирование для алгоритмов 
шифрования DES и AES. Входные параметры перечислены в таблице 4.18. 
Таблица 4.18
Входные параметры для тестирования реализованной системы криптоанализа.
Переменная 
Значение 
Описание 
parents_to_keep 

количество наилучших особей родительского поколения, 
которые сохраняются в следующем поколении 
mutation_rate 
0.02 
вероятность мутации 
delta 
0.70 
Параметр для установки известных бит 
generations 

Количество поколений 
population_size 

Количество популяций в поколении 
key_len 
128 
Длина ключа шифрования
(в случае алгоритма шифрования AES) 
des_rounds 

Количество раундов алгоритма шифрования 
(в случае алгоритма шифрования DES) 


82 
4.3.1 
Тестирование реализации генетического алгоритма для AES
 
1.Формирование начальных популяций.
Начальная 
популяция 
заполняется 
ключами 
сформированными 
случайным образом.
Population: 0
01111101001101001100000010011000001101001010001001100011110101001111
001101011011011100110111110010011110010011110001101000100011
Population: 1 
11101101011111111011111000110010101100111101110101111110011001011001
101010001011011001101100010001001000111010100101111000001011
Population: 2 
11000001101111100101011100001101010000110000110111011011100010010101
000101010101000010110010000000111001000101000001001111001010
Population: 3 
01100100101000100000010111001111000000000111100010011001010110101111
011100000000101111101000000011101010111011110100101101011011
Определение значений фитнесс-функции начальной популяции по 
формуле (6) (таблице 4-19).
Таблица 4.19
Значение фитнесс-функции для начальных популяций
Популяция 
Число совпавших бит в 
тестовом и оригинальном 
шифртекстах (из всего бит) 
Фитнесс-
функция 
Population: 0
56 (128)
0,437500
Population: 1
64 (128)
0,500000
Population: 2
60 (128)
0,468750
Population: 3
65 (128)
0,507812
Определение лучшего ключа начальной популяции.


83 
По результатам формирования начальных популяций 
Population: 3 
имеет лучшее значение фитнесс-функции 0,507812. Ключ сформированный в 
Population: 3 записывается, как лучший ключ (Best key).
Затем происходит сортировка популяции по значению фитнесс-функции 
(таблица 4.20)
Таблица 4.20
Результат сортировки
Популяция после сортировки 
Популяция 
Значение фитнесс-функции 
Population: 0
Population: 3
0,507812
Population: 1
Population: 1
0,500000
Population: 2
Population: 2
0,468750
Population: 3
Population: 0
0,437500
Population: 0
01100100101000100000010111001111000000000111100010011001010110101111
011100000000101111101000000011101010111011110100101101011011
Population: 1 
11101101011111111011111000110010101100111101110101111110011001011001
101010001011011001101100010001001000111010100101111000001011
Population: 2 
11000001101111100101011100001101010000110000110111011011100010010101
000101010101000010110010000000111001000101000001001111001010
Population: 3 
01111101001101001100000010011000001101001010001001100011110101001111
001101011011011100110111110010011110010011110001101000100011 
2. Выбор «родителей» для формирования потомка. 
Случайным образом выбирается две особи. Сравниваются значения их 
фитнесс-функций, в качестве первого родителя из двух отобранных выбирается 
особь с лучшим значением фитнесс-функции.
Затем аналогичным образом выбирается второй родитель. 


84 
В качестве 1 родителя выбрана особь со значением фитнесс-функции 
0,507812. Следующий родитель был выбран таким же образом. Значение 
фитнесс-функции 0,468750.
Parents: 0, 2
Population: 0 
01100100101000100000010111001111000000000111100010011001010110101111
011100000000101111101000000011101010111011110100101101011011
Population: 2 
11000001101111100101011100001101010000110000110111011011100010010101
000101010101000010110010000000111001000101000001001111001010 
3.Формирование «потомка»
.
Потом формируется случайным разделением ключа в одной точке. 
При этом, как описано выше, д
ля того чтобы выбрать, какой из 
потомков будет получен, нужно выбрать, какой из родителей будет главным. 
Что также определятся случайным образом. 
В тестовом примере точка разделения была определена 18 битом. С 0 по 
18 бит включительно данные взяты от родителя Population: 0.
Потомок пары parents: 0, 2:
01100100101000100001011100001101010000110000110111011011100010010101
000101010101000010110010000000111001000101000001001111001010 
4.Мутация случайных генов.
В процессе мутации также происходит случайный выбор бит, которые 
будут инвертированы с учетом вероятности мутации 
mutation_rate, заданной в 
качестве параметра алгоритма, а также генерацией случайного числа: 
Случайность или право выбора муравья следовать определенному пути 
обеспечивается использованием генерации случайного числом от 0 до 
RAND_MAX (2147483647) и сравнения этого числа с величиной 
(int)(mutation_rate * RAND_MAX). Если получено случайное число меньше 
этой величины, то бит будет инвертирован. Значение параметра mutation_rate 
0,02 означает, что в среднем будет изменено два бита.


85 
Потомок пары parents: 0, 2:
До мутации 
01100100101000100001011100001101010000110000110111011011100010010101
000101010101000010110010000000111001000101000001001111001010
После мутации
01100100100000100001011100001101010000110000110111011011100010010101
000101011101000010110010000000111001000101000001001111001010 
5.Определение значений фитнесс-функции полученных потомков. 
По результатам первого поколения лучшим осталось значение фитнесс-
функции начальной популяции 
0,539062 (таблица 4.21). Лучшим ключом 
является потомок parents: 0, 1
11101101011111111010010111001111010000000111100010011001010110101111
011100000100111111101100001011101010111011110100101101011011


86 
Таблица 4.21
Значение фитнесс-функции для потомков
Популяция 
Число совпавших бит в 
тестовом и оригинальном 
шифртекстах (из всего бит) 
Фитнесс-
функция 
parents: 0, 2
67 (128)
0,523438
parents: 0, 1
69 (128)
0,539062
6.Формирование популяции следующего поколения.
При заданных параметрах на следующее поколение должны перейти 
потомки, а также два представителя текущего поколения с наилучшими 
значениями фитнесс-функции.
Результаты полученные в ходе тестирования соответствуют 
ожидаемым.
7.Фиксирование бит при условии достижении параметра delta.
Цель тестирования: убедиться, что при достижении параметра delta 
биты в ключе фиксируются, как найденные. 
Параметр delta для определения будет ли зафиксирован бит, как 
определенный, задан, как входные данные и для тестирования равен 0,6. Биты 
фиксируются по результатам всех особей в последней популяции.
Для определения будет ли зафиксирован бит используются 
соотношения (3-10) и (3-11) (таблица 4.22).
В результате работы алгоритма получено 4 ключа: 

Download 2,21 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   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