Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних
Розглянуто можливість використання алгоритму Blowfish з метою передачі інформації каналами зв’язку як у межах приватних корпоративних мереж, так і у глобальній мережі. Запропоновано методику вдосконалення даного алгоритму та його реалізацію у вигляді програми, яка є Mapi-клієнтом поштового серверу E...
Gespeichert in:
Datum: | 2005 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | Ukrainian |
Veröffentlicht: |
Інститут проблем реєстрації інформації НАН України
2005
|
Schriftenreihe: | Реєстрація, зберігання і обробка даних |
Schlagworte: | |
Online Zugang: | http://dspace.nbuv.gov.ua/handle/123456789/50726 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Zitieren: | Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних / С.М. Білан, І.М. Шварц // Реєстрація, зберігання і оброб. даних. — 2005. — Т. 7, № 1. — С. 97-102. — Бібліогр.: 5 назв. — укр. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-50726 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-507262013-10-30T03:07:47Z Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних Білан, С.М. Шварц, І.М. Методи захисту інформації в комп’ютерних системах і мережах Розглянуто можливість використання алгоритму Blowfish з метою передачі інформації каналами зв’язку як у межах приватних корпоративних мереж, так і у глобальній мережі. Запропоновано методику вдосконалення даного алгоритму та його реалізацію у вигляді програми, яка є Mapi-клієнтом поштового серверу Exchange. Рассмотрена возможность использования алгоритма Blowfish с целью передачи информации по каналам связи как в частных корпоративных сетях, так и в глобальной сети. Предложена методика усовершенствования данного алгоритма и его реализация в виде программы, которая является Mapi-клиентом почтового сервера Exchange. The possibility of using the Blowfish algorithm to transmit information over communication channels in private corporate nets as well as in Global net is considered. The method of improving the algorithm and its realization as a program, which is the Mapi-client of the Exchange mail server are proposed. 2005 Article Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних / С.М. Білан, І.М. Шварц // Реєстрація, зберігання і оброб. даних. — 2005. — Т. 7, № 1. — С. 97-102. — Бібліогр.: 5 назв. — укр. 1560-9189 http://dspace.nbuv.gov.ua/handle/123456789/50726 681.322 uk Реєстрація, зберігання і обробка даних Інститут проблем реєстрації інформації НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Ukrainian |
topic |
Методи захисту інформації в комп’ютерних системах і мережах Методи захисту інформації в комп’ютерних системах і мережах |
spellingShingle |
Методи захисту інформації в комп’ютерних системах і мережах Методи захисту інформації в комп’ютерних системах і мережах Білан, С.М. Шварц, І.М. Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних Реєстрація, зберігання і обробка даних |
description |
Розглянуто можливість використання алгоритму Blowfish з метою передачі інформації каналами зв’язку як у межах приватних корпоративних мереж, так і у глобальній мережі. Запропоновано методику вдосконалення даного алгоритму та його реалізацію у вигляді програми, яка є Mapi-клієнтом поштового серверу Exchange. |
format |
Article |
author |
Білан, С.М. Шварц, І.М. |
author_facet |
Білан, С.М. Шварц, І.М. |
author_sort |
Білан, С.М. |
title |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних |
title_short |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних |
title_full |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних |
title_fullStr |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних |
title_full_unstemmed |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних |
title_sort |
підвищення криптостійкості та швидкодії алгоритму blowfish у каналах передачі даних |
publisher |
Інститут проблем реєстрації інформації НАН України |
publishDate |
2005 |
topic_facet |
Методи захисту інформації в комп’ютерних системах і мережах |
url |
http://dspace.nbuv.gov.ua/handle/123456789/50726 |
citation_txt |
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних / С.М. Білан, І.М. Шварц // Реєстрація, зберігання і оброб. даних. — 2005. — Т. 7, № 1. — С. 97-102. — Бібліогр.: 5 назв. — укр. |
series |
Реєстрація, зберігання і обробка даних |
work_keys_str_mv |
AT bílansm pídviŝennâkriptostíjkostítašvidkodííalgoritmublowfishukanalahperedačídanih AT švarcím pídviŝennâkriptostíjkostítašvidkodííalgoritmublowfishukanalahperedačídanih |
first_indexed |
2025-07-04T12:31:09Z |
last_indexed |
2025-07-04T12:31:09Z |
_version_ |
1836719559225114624 |
fulltext |
Методи захисту інформації в комп’ютерних
системах і мережах
ISSN 1560-9189 Реєстрація, зберігання і обробка даних, 2005, Т. 7, № 1 97
УДК 681.322
С. М. Білан, І. М. Шварц
Підвищення криптостійкості та швидкодії алгоритму
Blowfish у каналах передачі даних
Розглянуто можливість використання алгоритму Blowfish з метою
передачі інформації каналами зв’язку як у межах приватних корпора-
тивних мереж, так і у глобальній мережі. Запропоновано методику
вдосконалення даного алгоритму та його реалізацію у вигляді програ-
ми, яка є Mapi-клієнтом поштового серверу Exchange.
Ключові слова: захист інформації, криптографічний алгоритм, по-
штовий сервер, шифрування.
Актуальність проблеми захисту інформації пов’язана зі зростанням можливо-
стей обчислювальної техніки. Розвиток засобів, методів і форм автоматизації про-
цесів обробки інформації та масове застосування персональних комп’ютерів роб-
лять інформацію дуже вразливою.
Державна інформація представляє великий інтерес для кримінальних елемен-
тів. Сьогодні у керівництва більшості державних організацій немає сумнівів щодо
необхідності серйозно піклуватися про інформаційну безпеку (у збереженні дер-
жавних таємниць, забезпеченні безпеки електронних документів). Застосування
сучасних інформаційних технологій у державних системах розширює можливості
для різних зловживань, пов’язаних із використанням обчислювальної техніки (так
званих комп’ютерних злочинів).
Щорічні втрати від злочинів у цій сфері складають у світі, за різними оцінка-
ми, від 170 млн. до 10 млрд. дол. За деякими даними, в промислово розвинених
країнах середній збиток від одного комп’ютерного злочину (а значну частку таких
злочинів складають зловживання в фінансовій сфері) близький до 450 тис. дол., а
щорічні сумарні втрати в США і Західній Європі досягають 100 млрд. і 35 млрд.
дол. відповідно [1]. В останні десятиріччя зберігалася стійка тенденція до зрос-
тання збитків, пов’язаних з комп’ютерною злочинністю і в Україні.
Для протидії комп’ютерним злочинам або зменшення збитку від них необхід-
но грамотно вибирати заходи і засоби забезпечення захисту інформації від навми-
сного руйнування, крадіжки і несанкціонованого доступу. Тому у нашому випад-
ку будемо використовувати блочний шифр із секретним ключем, а саме крипто-
графічний алгоритм Blowfish. Він оптимізований для тих задач, у яких немає час-
© С. М. Білан, І. М. Шварц
С. М. Білан, І. М. Шварц
98
тої зміни ключів, таких, як поштовий клієнт, а також є мережею Фейстела
(Feistel), у якої кількість ітерацій становить 16. Довжина блоку дорівнює 64 бітам,
ключ може мати будь-яку довжину у межах 448 біт [2]. Перед початком будь-
якого шифрування виконується складна фаза, і алгоритм складається з двох час-
тин: розширення ключа та шифрування даних. Розширення ключа перетворює
ключ довжиною щонайменше 448 біт у кілька масивів підключів загальною дов-
жиною 4168 байт [2].
В основі алгоритму покладено мережу Фейстела (Feistel) з 16 ітераціями. Ко-
жна ітерація складається з перестановки, що залежить від ключа, та підстановки,
що залежить від ключа та даних. Операціями є XOR та складання 32-бітних слів.
Blowfish використовує велику кількість підключів. Ці ключі повинні бути обчис-
лені заздалегідь, до початку будь-якого шифрування або дешифрування даних.
Саме шифрування відбувається достатньо швидко [3].
У даній статті ставиться задача підвищення надійності та швидкості при пе-
редачі інформації комп’ютерними мережами з використанням модифікованого
криптографічного алгоритму шифрування Blowfish та програмна реалізація цього
алгоритму у вигляді Mapi-клієнта поштового сервера.
Алгоритм шифрування
Данні шифруються на 32-бітових мікропроцесорах, і після ініціалізації у
пам’яті розміщуються два масиви, якими шифруються дані.
Алгоритм використовує тільки прості операції: додавання, XOR та вибірку з
таблиці по 32-бітному операнду. Аналіз його схеми не складний, що зменшує кі-
лькість помилок при реалізації алгоритму.
Довжина ключа є змінною та може досягати 448 біт.
Ключ для шифрування створюється за
допомогою двох частин: перша — пароль-
масив із символів; друга — час, який перево-
диться в комп’ютерний формат. У результаті
отримуємо два 32-бітних числа, що беруть
участь в ініціалізації ключа (рис. 1).
Алгоритм оптимізований для тих задач, в
яких немає частої зміни ключів, таких, як поштовий клієнт. Данні кодуються по
32 біта, і тому у 32-розрядній системі алгоритм працює дуже швидко, набагато
швидше за DES. Він не придатний для використання у задачах з частою зміною
ключів, наприклад, при комутації пакетів, чи для використання у якості єдино
спрямованої хеш-функції [4].
Ключ є 64-бітним блочним шифром з ключем змінної довжини. Алгоритм
складається з двох частин: розгортання ключа та шифрування даних. Розгортання
ключа перетворює ключ довжиною до 448 біт у кілька масивів підключів, загаль-
ним обсягом 4168 байт .
Шифрування даних базується на простій функції, що виконується послідовно
16 раз. Кожен етап складається з залежної від ключа перестановки та залежної від
ключа та даних підстановки. Використовуються тільки додавання та XOR 32-
Рис. 1. Два 32-бітних числа
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних
ISSN 1560-9189 Реєстрація, зберігання і обробка даних, 2005, Т. 7, № 1 99
бітових слів. Єдиними додатковими операціями на кожному етапі є чотири вилу-
чення даних з індексованого масиву.
Створення ключа
1. Р-масив ініціалізується фіксова-
ною строкою (рис. 2).
2. Чотири S-блоки ініціалізуються
фіксованою строкою.
3. Виконується операція XOR Р1 з
непарними 32 бітами ключа, XOR Р2 з
непарними другими 32 бітами ключа та
старшою 32-бітною частиною часу, і так
далі для всіх бітів ключа (до Р18).
4. Операція 2 виконується циклічно,
доки для усього Р-масиву не буде вико-
нана операція XOR з бітами ключа.
5. Використовуючи підключі, отри-
мані на етапах 1, 2 і 3 алгоритмом шиф-
рування, шифрується значення з часу. P1 і
Р2 замінюються цими результатами, а ре-
зультат шифрування часу шифрується за
допомогою алгоритму та змінених підк-
лючів.
6. Значення Р3 і Р4 замінюються зна-
ченнями, обчисленими у п. 4.
7. Під час процесу усі елементи Р-
масиву і потім поступово усі чотири S-блоки замінюються виходом алгоритму, що
постійно змінюється.
Підключі зберігаються для кодування чи декодування даних.
Шифрування (дешифрування)
даних
Дані повинні бути кратні 4 байтам,
тому, якщо ця умова не виконується,
додаємо додаткові нульові біти до роз-
міру, який кратний чотирьом. Наприк-
лад, Р-масив дорівнює 12 байт, або три
32-бітних числа (рис. 3).
У функцію шифрування передають-
ся два 32-бітних числа, обираються спо-
чатку перше і останнє, поступово напра-
вляючись до середини:
Рис. 3. Вхідна інформація, або
1,2,3,4,…20,21,22…38,39,40,41. три 32-бітних числа
Рис. 2. Подання Р-масиву
С. М. Білан, І. М. Шварц
100
Якщо залишається одне число, то воно кодується разом з наступним елемен-
том масиву після нього. Так, у наведеному прикладі, 21 буде кодуватися з 41. При
обраній операції ці числа будуть кодуватися першими. Це дає можливість кодува-
ти як парну кількість подвійних слів, так і непарну.
Процес кодування двох 32-бітних чисел
XL, і XR складається з наступних етапів (рис. 4).
1. Послідуючі операції виконуються у ци-
клі 16 раз.
1.1. xL = xLÅxR — числа додаються за мо-
дулем 2.
Строка коду: «X1 = X1 ^ c–>P[i]».
1.2. xR = Func(xL)ÅxR — число xR додаєть-
ся за модулем 2 з F(xL), де F(xL) — це функція,
яка виконує наступні дії.
1.2.1. Розділяємо хL на чотири 8-бітних частини: a, b, c, d, що здійснюється
зсувом цього числа праворуч на 8 біт (рис. 5).
1.2.2. Функція обчислюється як ((S1,a + S2,b mod 232) Å S3,c) + S4,d mod 232.
Строка коду: «Xr = Func(c, X1) ^ Xr».
1.3. Переставляємо xL та XR.
Строки коду: «temp = X1; X1 = Xr; Xr = temp».
2. Переставляємо xL та XR: «temp = X1; X1 = Xr; Xr = temp».
3. xR = xR ÅP17 — числа додаються за модулем 2 з елементом ключа P17.
Строки коду: «Xr = Xr ^ c–>P[N]».
4. xR = xRÅ P18 — число додається за модулем 2 з елементом ключа P18.
Строки коду: «X1 = X1 ^ c–>P[N + 1]».
Ми отримали закодоване повідомлення, а результат в 32-бітних числах.
Рис. 5. Вихідна інформація у 8-бітних значеннях
Дешифрування виконується аналогічно шифруванню, але Р1, Р2, ..., P18 вико-
ристовуються у зворотному порядку.
Даний алгоритм був змодульований програмними засобами Мathcad (рис. 6).
Рис. 4. Вихідна інформація
або три 32-бітних числа
Підвищення криптостійкості та швидкодії алгоритму Blowfish у каналах передачі даних
ISSN 1560-9189 Реєстрація, зберігання і обробка даних, 2005, Т. 7, № 1 101
Рис. 6. Графік залежності вхідної та вихідної інформації
Як бачимо з графіка, зашифровані дані не мають лінійних властивостей. Це
вказує на те, що в даному криптографічному методі не має чітко виражених логі-
чних дій, що в свою чергу, свідчить про криптографічну стійкість цього методу.
Для слабких ключів, які генерують погані S-блоки, додавання двох додатко-
вих 32-бітних ключів (з часу) підвищує захищеність ключа, що підвищує якість
шифрування. При невідомих S-блоках ми можемо виявити використання слабкого
ключа, але не можемо визначити сам ключ (S-блоки та Р-масив). Тому цей метод
ефективний тільки проти варіантів зі зменшеною кількістю етапів та абсолютно
недієвий проти 16-етапного.
Короткий опис програми
Підготовка до пересилання даних на поштовий сервер складається з таких
етапів:
1) створюється ключ кодування: перший ключ — пароль доступу до пошти,
другий — час створення повідомлення;
2) дані, що містяться у повідомленні, шифруються нашим алгоритмом;
3) вкладені дані завантажуються у пам’ять і сереалізуються в архів, у резуль-
таті якого отримуємо байтовий масив;
4) байтовий масив шифрується за допомогою алгоритму кодування як 32-
бітний (якщо кількість байт у масиві не кратна 4 байтам, то масив розширюється
до потрібного розміру);
5) усе повідомлення перетворюється у 7-бітний код за допомогою алгоритму
base 64 та відправляється [5];
6) при отриманні перевіряється, кому відправлене кожне повідомлення, воно
розшифровується у зворотній послідовності;
7) усі дані у скриньках користувача зберігаються у зашифрованому вигляді.
0 2 4 6 8 10 12
0
100
200
300
Data1i
Datai
i
Datai
158
30
19
85
247
120
112
237
229
163
34
24
:= Data1i
0
0
0
0
6
207
240
232
226
179
242
0
:=
С. М. Білан, І. М. Шварц
102
Висновки
У даній статті був проаналізований криптографічний метод Blowfish, запро-
поновано спосіб його вдосконалення, що підвищує загальну криптостійкість сис-
теми. Цей метод був впроваджений у поштовій програмі, яка є клієнтом поштово-
го серверу Microsoft Exchange. Розроблена програма дає можливість не тільки об-
мінюватися секретними даними електронною поштою, використовуючи принци-
пово новий метод їх шифрування, але й введення власних користувачів, як з одно-
го боку мережі, так і з іншого, тобто дає можливість умовного поділу однієї пош-
тової скриньки та використання її багатьма користувачами з власними паролями
доступу. Основними перевагами запропонованого алгоритму є поліпшена крипос-
тійкість за рахунок створення більш надійного ключа, а також підвищення швид-
кодії за рахунок шифрування по два 32-бітних числа.
1. Организация и современные методы защиты информации. — М.: Концерн «Банковский
Деловой центр», 1998. — 465 с.
2. Брюс Шнайер. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на
языке С. 2-е издание. — М.: Дело, 2003. — 524 с.
3. Smith J.L. The Design of Lucifer. A Cryptographic Device for Data Communication, RC 3326,
White Plains: IBM Research.
4. Горбенко И.Д., Долгов В.И., Рублинецкий В.И. Мифы и реальность // Безопасность инфор-
мации. — 1996. — № 2. — С. 17–25.
5. Biham E. and Shamir A. Differential Cryptanalysis of the Data Encryption Standard. — Springer-
Verlag, 1993.
Надійшла до редакції 18.01.2005
|