ВСТУП
Стрімкий розвиток сучасних інформаційних технологій в Україні, що почалося в кінці XX століття, не знижує своїх темпів і на початку XXI століття. Комп'ютерні технології роблять все більший вплив на всі сфери людської діяльності. Постійне збільшення швидкості і обсягу переданих в інформаційних системах даних підвищує ефективність виробничих процесів, сприяє розширенню ділових операцій.
Саме тому посилюються вимоги до інформаційної безпеки. Під нею розуміється захищеність інформації і підтримуючої інфраструктури від випадкових і навмисних впливів, які можуть нанести збиток власникам або користувачам інформації. Забезпечення безпеки інформаційної системи є одним з найважливіших завдань при експлуатації даної системи, так як від збереження конфіденційності, цілісності та доступності інформаційних ресурсів багато в чому залежить швидкість прийняття рішень, ефективність і надійність роботи [1]. Розробка та аналіз блокових шифрів, є дуже актуальною і необхідною завданням, яка повинна бути реалізована на державному рівні, оскільки від цього залежить державна безпека України. Україні необхідно мати свій БСШ.
Одним з основоположних елементів в загальному комплексі засобів і методів забезпечення інформаційної безпеки є криптографічні методи захисту інформації [2]. На даному етапі розвитку застосовується як симетричні, так і несиметричні криптографічні методи захисту. Це обумовлюється тим, що перші здатні забезпечити високу швидкість шифрування, а другі - модель взаємної недовіри і захисту, тобто ситуацію, коли користувачі інформаційних систем не хочуть нікому довіряти свої особисті ключі та параметри, але при цьому хочуть мати гарантію компенсації втрат, якщо їх обдурять.
Широке використання симетричної криптографії визначає необхідність дослідження стійкості симетричних шифрів до існуючих методів криптоаналізу.
Одним з найбільш ефективних, на сьогоднішній день, є інтегральний метод криптоаналізу.
Метою даної роботи є вивчення теоретичних основ і реалізація інтегральної атаки на практиці для усіченої моделі блокового симетричного шифру Сrypton, а також вивчення особливостей і обмежень застосування атаки.
Для досягнення цієї мети необхідно вирішити наступні завдання:
- Вивчити методику застосування інтегральної атаки проти блокового симетричного шифру Crypton.
- Адаптувати методику застосування інтегральної атаки для використання проти усіченого варіанта блокового симетричного шифру Crypton.
- Виконати програмну реалізацію інтегральної атаки проти усіченого варіанта блокового симетричного шифру Crypton.
У даній дипломній роботі розраховується економічна ефективність розробки методики визначення стійкості блокового симетричного шифру Сrypton проти інтегральної атаки.
У розділі "Безпека життєдіяльності" дипломного проекту необхідно розробити питання БЖД при виконанні робіт по розробці інтегральної атаки на шифр Crypton, які виконуються в науково-дослідній лабораторії (НДЛ). У розділі слід виконати аналіз умов праці, розробити питання техніки безпеки, виробничої санітарії та гігієни праці, пожежної профілактики.
1. Блоковий Симетричних шифрів ТА ЇХ МІСЦЕ В СУЧАСНИХ ІНФОРМАЦІЙНИХ СИСТЕМАХ
1.1 Основні вимоги до БСШ як до механізму забезпечує конфіденційність
На сьогоднішній день розроблено досить багато стійких блокових шифрів. Практично всі алгоритми використовують для перетворень певний набір биективное (Оборотних) математичних перетворень.
Характерною особливістю блокових криптоалгоритмів є той факт, що в ході своєї роботи вони виробляють перетворення блоку вхідної інформації фіксованої довжини і отримують результуючий блок того ж обсягу, але недоступний для прочитання стороннім особам, які не володіють ключем. Таким чином, схему роботи блокового шифру можна описати функціями
Z = EnCrypt (X, Key) і X = DeCrypt (Z, Key) [3]
Ключ Key є параметром блокового криптоалгоритму і представляє собою деякий блок двійкової інформації фіксованого розміру. Вихідний (X) і зашифрований (Z) блоки даних також мають фіксовану розрядність, рівну між собою, але необов'язково рівну довжині ключа.
Блокові шифри є основою, на якій реалізовані практично всі криптосистеми [4]. Методика створення ланцюжків із зашифрованих блоковими алгоритмами байт дозволяє шифрувати ними пакети інформації необмеженої довжини. Така властивість блокових шифрів, як швидкість роботи, використовується асиметричними криптоалгоритмами, повільними за своєю природою. Відсутність статистичної кореляції між битами вихідного потоку блочного шифру використовується для обчислення контрольних сум пакетів даних і в хешуванні паролів.
Стійкість криптоалгоритмів описана в [5], [6]. Криптоалгоритм іменується ідеально стійким, якщо прочитати зашифрований блок даних можна тільки перебравши всі можливі ключі, до тих пір, поки повідомлення не виявиться осмисленим. Так як з теорії ймовірності шуканий ключ буде знайдено з ймовірністю 1/2 після перебору половини всіх ключів, то на злом ідеально стійкого криптоалгоритму з ключем довжини N потрібно в середньому 2N-1 перевірок. Таким чином, у загальному випадку стійкість блокового шифру залежить тільки від довжини ключа і зростає експоненціально з її ростом. Навіть припустивши, що перебір ключів проводиться на спеціально створеній багатопроцесорної системі, в якій завдяки диагональному паралелізму на перевірку 1 ключа йде тільки 1 такт, то на взлом 128 бітного ключа сучасній техніці буде потрібно не менше 1021 років. Природно, все сказане відноситься тільки до ідеально стійким шифрам, якими, наприклад, з великою часткою впевненості є наведені у таблиці вище алгоритми.
Крім цього умови до ідеально стійких криптоалгоритмів застосовується ще одна дуже важлива вимога, якій вони повинні обов'язково відповідати. При відомих вихідному і зашифрованому значеннях блоку ключ, яким вироблено це перетворення, можна дізнатися також лише повним перебором. Ситуації, в яких сторонньому спостерігачеві відома частина вихідного тексту зустрічаються повсюдно. Це можуть бути стандартні написи в електронних бланках, фіксовані заголовки форматів файлів, досить часто зустрічаються в тексті довгі слова або послідовності байт. У світлі цієї проблеми описане вище вимога не є нічим надмірним і також строго виконується стійкими криптоалгоритмами, як і перше.
Таким чином, на функцію стійкого блочного шифру Z = EnCrypt (X, Key) накладаються наступні умови:
- функція EnCrypt повинна бути оборотної.
- не повинно існувати інших методів прочитання повідомлення X за відомим блоку Z, крім як повним перебором ключів Key.
- не повинно існувати інших методів визначення яким ключем Key було вироблено перетворення відомого повідомлення X в повідомлення Z, окрім як повним перебором ключів.
Давайте розглянемо методи, за допомогою яких розробники блокових криптоалгоритмів домагаються одночасного виконання цих трьох умов з дуже великою часткою достовірності. Всі дії, вироблені над даними блоковим криптоалгоритмом, засновані на тому факті, що перетворюваний блок може бути представлений у вигляді цілого невід'ємне числа з діапазону, відповідного його розрядності. Так, наприклад, 32-бітовий блок даних можна інтерпретувати як число з діапазону 0 .. 4'294'967'295. Крім того, блок, розрядність якого зазвичай є "ступенем двійки", можна трактувати як кілька незалежних невід'ємних чисел з меншого діапазону (розглянутий вище 32-бітний блок можна також представити у вигляді 2 незалежних чисел з діапазону 0 .. 65535 або у вигляді 4 незалежних чисел з діапазону 0 .. 255). Над цими числами блоковим криптоалгоритмом і виробляються за певною схемою показань на Таб 1.1 (зліва дані умовні позначення цих операцій на графічних схемах алгоритмів):
В якості параметра V для будь-якого з цих перетворень може використовуватися: