4.2.1 Тестирование реализации муравьиного алгоритма для AES
1. Тестирование функции распределения начального значения
феромонов.
Цель тестирования: убедиться в корректности инициализации уровня
феромонов.
Генерируется 4 случайных ключа
65
011010000001010110000100111111001110110101011101001011110011000
10010000101011110100101010101101001100010011110001100111110001100
010011111000110101111000010111101101000010010010111010110010101
00101111001001111001010011010000100100110011011000001010001011110
111110111001001001011101011010011100000001110101110001000001000
11001010000110011010001111111011011010111101010110000010110111011
011000010111110100011010100010011110000011110100101001111000000
11000010010011110111000000110000100001101111101000000000011110001
Величина увеличения феромона определяется по формуле (3-1)
Так как генерируется 4 ключа, то величина increment должна быть 0,25.
В результате тестирования получена ожидаемая величина.
Так как размер ключа значительный, то рассмотрим первые 8 бит
(таблица 4.2)
Таблица 4.2
Первые 8 бит случайных ключей для инициализации значения феромонов
Бит/
ключ
0 1 2 3 4 5 6 7
1
0 1 1 0 1 0 0 0
2
0 1 0 0 1 1 1 1
3
1 1 1 1 1 0 1 1
4
0 1 1 0 0 0 0 1
В результате сумма значения феромонов по всем возможным переходам
в следующий бит должно быть равно 1.
Результаты начального распределения феромонов, подтверждающие
ожидаемый результат, приведены в таблицах 4.4 и 4.5
66
Таблица 4.4
Распределение начального значения феромонов по «пути» муравьев
Переход/
ключ
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
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
-1 - 0
0,25 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
-
Таблица 4.5
Итоговое распределение начального значения феромонов по «пути» муравьев
Переход в
области поиска
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,75
0,25
-
-
0 - 1
-
0,75
-
0,25
1 - 2
-
-
0,25
0,75
2 - 3
0,25
-
0,50
0,25
3 - 4
0,25
0,50
-
0,25
4 - 5
0,25
-
0,50
0,25
5 - 6
0,50
0,25
-
0,25
6 - 7
0,25
0,25
-
0,50
2. Проверка расчета фитнесс-функции.
Цель тестирования: убедиться в корректности реализованных расчетов.
На начальном этапе: 0 раунд, 0 итерация, 0 муравей - значения фитнес-
функции приравнены 1.
В качестве тестового ключа берется оптимальный ключ, полученный на
предыдущей итерации. Для каждого бита по порядку определяется фитнесс-
67
функция при изменении данного бита на 0 или 1, при этом последующие после
этого бита данные остаются. Оригинальный текст шифруется с помощью
тестового ключа и полученный шифротекст сравнивается с оригинальным
шифротекстом. Суммируются совпадающие биты и определяется отношение
количества совпа12дающих бит к длине ключа.
Для дальнейших итераций фитнесс-функция рассчитывается для бита, в
который осуществляется переход.
Тестовый ключ:
01111011100100100000010001101101110100000101010100100111001000011001
110101001110110001111011000100100011111010000000010010011001
Оригинальный зашифрованный текст:
00100010100110100101000000001001101110110100100101100000000001111000
110001001110011011110110001111110010001001011011110001010000
Текст зашифрованный тестовым ключом:
01010011101001001010100001011010011000000110011011000111101011101111
111011100111110000101000000000110101110011101001111010000010
Количество совпадающих бит в оригинальном шифрованном тексте и
тексте, зашифрованном тестовым ключом 55 бит. При длине ключа 128 бит
ожидается получение значения фитнесс функции 0, 429688. Результат
полученный при тестировании соответствует ожидаемому значению.
3. Тестирование расчета параметров для определения вероятности
перехода подтверждается и расчета вероятности перехода в бит со значением 0.
Цель тестирования: убедиться в корректности реализованных расчетов.
Первый тестовый ключ будет формироваться с учетом полученных
начальных значений феромонов tau с вероятностями переходов определенными
по формуле (3-2).
На первой итерации для первого муравья параметры eta0 = eta1 = 1. Для
следующего муравья и на следующих итерациях коэффициент определяется
равным значению фитнесс-функции перехода в значение 0 (eta0) и в значение 1
(eta1).
68
Вероятность нахождения в 0 бите со значением 0:
alpha = 1.500000 – параметр задан
beta = 1.000000 – параметр задан
eta0
= 1.000000 – переход в значение 0
eta0
beta
= 1.000000
tau-0
= 0.750000 – величина феромона полученная при
начальной инициализации
tau0
alfa
= 0.649519
eta1
= 1.000000 – переход в значение 1
eta1
beta
= 1.000000
tau-1
= 0.250000– величина феромона полученная при
начальной инициализации
tau1
alfa
= 0.125000
Вероятность перехода в бит со значением 0 должна быть получена
равной 0.838610
Тестирование расчета параметров для определения вероятности
перехода подтверждается.
4. Проверка изменения уровня феромонов.
Цель тестирования: убедиться в корректности расчетов изменения
уровня феромонов.
После получения на итерации и для отдельного муравья полного
тестового ключа, определяется величина увеличения феромонов, исходя из
лучшей фитнесс-функции итерации по формулам (3-4) и (3-5).
Увеличение значения феромонов происходит только для тех переходов,
которые присутствуют в ключе.
Тестовые данные.
Тестовый ключ:
Do'stlaringiz bilan baham: |