1. Міністерство освіти і науки, молоді та спорту України
Чернівецький національний університет
імені Юрія Федьковича
Кафедра радіотехніки та інформаційної безпеки
Круліковський Олег Валерійович
Ледвінський Станіслав Сергійович
Науковий керівник: Політанський Леонід Францевич
Шифрування зображення за
допомогою трьох одномірних
хаотичних відображень
2. Біфуркаційні діаграми
Рис. 1. Діаграма біфуркацій логістичного Рис. 2. Діаграма біфуркацій квадратичного
відображення відображення
(1) 2
xn 1
rxn 1 xn xn 1
1 xn (2)
Рис. 3. Діаграма біфуркацій кубічного відображення
3
xn 1 a bxn xn (3)
4. Кроки алгоритму шифрування
1. Зображення складається з пікселів (N M m) як показано на рис. 5. Кожен
піксель складається з трьох компонент кольору червоної зеленої синьої,
кожна компонента приймає ціле значення в межах 0 255 . Таким
чином ми розбиваємо піксель на три складові, кожну з яких перетворюємо за
допомогою рівняння (4) в значення змінних відображення та
використовуємо їх в якості початкових умов для одномірних відображень.
(4)
Рис. 5. Розбиття зображення на пікселі
5. m
2. Значення кольору xC останнього пікселя використовується як початкова
1 m
x0 xC
умова для шифрування першого пікселя , тобто .
3. Після n ітерацій першого відображення, ми визначаємо змінну
1 1
відображення xn та додаємо до нього значення кольору пікселя xC і отримуємо
зашифроване значення першого пікселя. Сумарне значення використовуються як
початкова умови для наступного відображення, тобто x0 xn xC .
2 1 1
4. Ітеруємо всі відображення послідовно стартуючи з першого до останнього і
i i
шифруємо всі пікселі зображення. Крім того, якщо сума, xn xC xmax ми
віднімаємо, x тобто, x0 1 xn xC x .
i i i
5. Повторюємо кроки 3 та 4 і робимо кілька циклів j. Для наступного
m m m
циклу, нове значення кольору останнього відображення xn j xC j
xC j ( j-
номер циклу) використовуються як початкова умова для першого відображення
1 m
щоб запустити наступний цикл, тобто, 1 xC j
x0 j .
6. Після декількох циклів ми отримаємо відображення сітки (рис. 6) та
візуалізуємо зашифроване зображення з використанням рівняння (5).
(5)
6. Рис. 6. Зашифрована червона складова зображення
7. Повторюємо всі кроки для трьох компонент кольору (червона, зелена, синя).
Накладаємо три складові одна на одну та отримуємо зашифроване зображення.
В загальному алгоритм шифрування може бути описаний наступними
формулами:
i m
x0 j xC j 1 if i 1 (6) x0 1 j xc j if i 1 (7)
i i
i i i i i
xc j xn j 1 xc j 1 if xn j 1 xc j 1 xmax (8)
i i i i i
xC j xn j 1 xc j 1 x if xn j 1 xc j 1 xmax (9)
7. Алгоритм дешифрування
Для дешифрування, необхідно відтворити оригінальний цикл зображення в
зворотному напрямку, стартуючи з останнього відображення, та ідучи до першого
відображення здійснюючи ту саму кількість ітерацій для кожного відображення
як і при шифруванні.
1. Спочатку ми повинні відновити зображення циклу , Шифроване
значення передостаннього відображення в циклі це початковий умова для
останнього відображення в циклі , тобто, . Починаючи з цих початкових
умов ітеруємо останнє відображення n разів і отримаємо значення .
Віднімаючи ці значення від значення кольору останнього відображення в j циклі,
, отримаємо значення кольору останнього відображення в
циклі .
2. Потім беремо зашифроване значення відображення як початкову
умову для відображення і знаходимо значення кольору останнього
відображення в циклі і так далі.
3. Повторюємо крок 2 для кожного відображення в зворотному напрямку з
останнього відображення до першого відображення та відтворюємо зображення
циклу .
8. 4. Для відновлення значення кольору першого відображення в циклі
використовуємо розшифроване значення кольору останнього відображення m в
циклі, , як початкову умову для першого відображення. Ітеруємо
необхідну кількість разів та віднімаємо від зашифрованого значення першого
пікселя.
5. Повторюємо всі попередні кроки j разів та отримаємо відображення сітки
, що конвертується рівнянням (5) в значення кольорів .
6. Повторюємо всі кроки для кожної компоненти кольору (червона, зелена,
синя) та накладаючи три складові отримаємо оригінальне зображення.
В загальному алгоритм дешифрування може бути описаний наступними
формулами:
(10)
(11)
(12)
(13)
9. Приклад шифрування зеленої складової за допомогою
квадратичного відображення, та
-0,810588 -0,385882 0,00156863
12 69 121
0,627451 -0,728627 -0,557255
205 23 46
-0,795686 -0,0878431 0,895686
14 109 241
Значення зеленої складової Перетворене значення за
оригінального зображення допомогою формули (4)
-0,100445 -0,6839 0,881486 107 29 239
0,647199 0,110808 0,8798 208 136 239
-0,863713 -0,829499 0,51699 5 9 190
Зашифроване значення Візуалізоване значення зашифрованої
зеленої складової складової за допомогою рівняння (5)
10. Приклад дешифрування зеленої складової
107 29 239 -0,100445 -0,6839 0,881486
208 136 239 0,647199 0,110808 0,8798
5 9 190 -0,863713 -0,829499 0,51699
Перетворене зашифроване значення
Зашифроване значення
за допомогою формули (4)
-0,810588 -0,385882 0,00156863 12 69 121
0,627451 -0,728627 -0,557255 205 23 46
-0,795686 -0,0878431 0,895686 14 109 241
Відтворене оригінальне зображення Візуалізоване оригінальне зображення
11. Приклад програмної реалізації алгоритму
шифрування зображення
Рис. 7. Вікно програми шифрування з оригінальним зображенням
12. Рис. 8. Вікно програми шифрування з зашифрованим зображенням
15. Висновки:
1. Алгоритму шифрування/дешифрування властива висока чутливість до
початкових умов та параметрів.
2. Шифрування кожної складової пікселя окремим одномірним відображенням
дає більш нерівномірний розподіл кольорів ніж використання одного відображення.
3. Використання трьох одномірних відображень збільшило кількість ключів
шифрування до семи, що забезпечує підвищення стійкості алгоритму до різного
роду криптографічних атак.
4. Зміна параметрів одномірних відображень та кількості ітерацій забезпечує
маскування контурів кольорового зображення
5. Кількість ітерацій є не на стільки критичною до часу
шифрування/дешифрування, як кількість циклів.
Даний алгоритм може бути використаний в галузі інформаційної безпеки для
передачі таємної інформації.