Розвитком шифру простої заміни став шифр Блеза Віженера (XVI повік, Франція). У цьому шифрі ключем служить слово, т.е. послідовність з порядкових номерів букв ключа. Ключ, при необхідності повторюючись, підписується під повідомленням, після чого виконується складання по модулю m в кожному стовпці, що містить по одній букві повідомлення і ключа.
Криптографією займалася багато яка відома математика, така як Вієт, Кардано, Лейбніц і, нарешті, Френсіс Бекон, який запропонував двійкове кодування латинського алфавіту.
У Росії самостійна криптографічна служба була уперше організована Петром I, який під впливом спілкування з Лейбніцом заснував циферну палату для розвитку і використання криптографії.
Промислова революція в розвинених країнах привела до створення шифрувальних машин. У кінці XVIII століття Джефферсоном (майбутнім третьому президентом США) були винайдені шифруючі колеса. Першу практично працюючу шифрувальну машину запропонував в 1917 р. Вернам. У тому ж році була винайдена роторна шифрувальна машина, що згодом випускалася фірмою Сименс під назвою "Енігма" (загадка), - основний противник криптографів Союзних держав в роки Другої світової війни.
Неоцінимий внесок в криптографію вніс К. Шеннон, особливо своєю роботою "Математична теорія зв'язку" 1948 року. У 1978 році Діффі і Хеллман запропонували криптосистеми з відкритим ключем. У 1977 році США був введений відкритий Федеральний стандарт шифрування для несекретних повідомлень (DES). У 1992 році вводиться відкрита вітчизняна система шифрування ГОСТ (див. схему на мал. 1.3) [5,6,7].
Одночасно з вдосконаленням мистецтва шифрування йшов розвиток і криптоаналізу, предметом якого було розкриття криптограм без знання ключів. Хоч постійне змагання між шифруванням і криптоаналізом продовжується і в цей час, однак є ряд істотних відмінностей сучасного етапу від попереднього.
1. Широке використання математичних методів для доказу стійкості шифрів або для проведення криптоаналізу.
Використання коштів швидкодіючої, спеціалізованої обчислювальної техніки.
Відкриття нового вигляду криптографії з більш "прозорими" методами криптоаналізу (криптографія з відкритим ключем).
Поява нових додаткових функцій, крім шифрування і дешифрування.
Використання новітніх фізичних методів в криптографії (динамічний хаос, квантова криптографія, квантовий комп'ютер).
1.7. Стандартизація методів і засобів забезпечення інформаційної безпеки за кордономРозробка стандартів для забезпечення безпеки передачі інформації за кордоном почалася з нині широко відомого стандарту DES, що реалізує алгоритм захисту з ключем блокової структури. Потім були опубліковані й інші стандарти.
Міжнародна організація стандартизації ISO почала роботу з цієї проблеми в 1980 р. з утворення Робочої Групи WG1 Технічного Комітету ТС97, відповідального за питання обробки інформації. Пізніше WG1 перетворена в підкомітет під найменуванням TC97/SC20. Стандарти по безпеці передачі даних охоплюють декілька підрозділів: алгоритми, режими використання, удосконалення зв'язкових протоколів, керування ключами, аутентифікація і т.д. Стандарт DES, обумовлений як алгоритм криптографії, був перероблений у міжнародних термінах. Зберігши стару внутрішню логічну структуру, стандарт був поданий у якості міжнародного і відомий як алгоритм Data Encipherment Algorithm 1 (DEA1) із номером 8227 по класифікації ISO. Аналогічно, відомий стандарт на криптосистему з привселюдним ключем RSA був також перероблений ISO і зареєстрований під номером 9307.
У Європейському інституті стандартів по телекомунікаціях (ETS!) проводиться велика робота зі стандартизації методів забезпечення безпеки при передачі інформації з різноманітних каналів. Працює Консультативна Група по методах забезпечення безпеки (STAG Security Techniques Advisory Group), що разом з іншими консультативними групами готує технічні звіти і проекти стандартів. Видано докладний каталог стандартів, технічних звітів і оглядових документів ETSI. Нижче приводиться перелік технічних комітетів ETSI, стандартів і звітів, що стосуються проблем безпеки інформації при передачі по каналах зв'язку різноманітного призначення.
ETSS Memorandum М1Т06, т.1.2. Каталог вимог Європейських стандартів по системах забезпечення інформаційної безпеки.
ТС/ВТС Системи ділового зв'язку. Підкомітет STC/BTC4 підготовлює технічний протокол, що буде включати аспекти забезпечення безпеки в широкосмугових мережах. Документ DTR/BTC 04002: "Приватні мережі, широкосмугові. Аспекти експлуатації і міжз’єднань".
STC/NA6 Інтелектуальні мережі підготовлений документ DTR/NA 061201. "Інтелектуальні мережі. Вимоги по безпеці для глобальних інтелектуальних мереж". Схвалений у жовтні 1994 р.
STC/NA7 Універсальний персональний зв'язок.
Універсальний персональний зв'язок є службою електрозв'язку, що забезпечує користувачам можливість рухливого радіозв'язку для вхідних і вихідних викликів. Передбачається, що служба не буде залежати від типу термінала і використовуваної мережі. До кінця 1991 р. експертна група з питань безпеки ETSI заснувала робочу групу NA7 із метою визначити архітектуру і стандарти, що забезпечують безпеку на різноманітних стадіях розвитку системи персонального зв'язку. Хоча робота над проблемами універсального персонального зв'язку була розпочата у ИК1 МСЭ, проте питання безпеки там не торкалися. В даний час перша стадія роботи закінчена. Розроблено такі документи.
ETR 0554. Універсальний персональний зв'язок. Концепція служби. Частина 4: Вимоги служби по забезпеченню безпеки.
ETR 05511. Універсальний персональний зв'язок. Концепція служби. Частина 11: Вимоги служби по захисту інформації.
ETR 083. Універсальний персональний зв'язок. Загальна архітектура забезпечення безпеки.
NATR014. Універсальний персональний зв'язок. Алгоритм аутентифікації.
DTR/NA 072402. Універсальний персональний зв'язок. Специфікація вимог до алгоритмів забезпечення безпеки.
ETR 0554. Універсальний персональний зв'язок. Частина 4: Вимоги служб до механізмів забезпечення безпеки.
DE/NA072401. Універсальний персональний зв'язок. Реалізація архітектури по забезпеченню безпеки.
DE/NA072401. Універсальний персональний зв'язок. Тести для реалізації архітектури по забезпеченню безпеки.
STC NA/STAG Консультативна група по методах забезпечення безпеки.
Консультативна група організована для підтримки заходів щодо забезпечення безпеки в складі ETSI. Вона розробила робочу програму по реалізації політики стандартизації по забезпеченню безпеки. Розроблено документи:
DTR/NA002401, Посібник із стандартів ETSI позабезпеченню безпеки.
DTR/NA002501, Напрямок і методи для ідентифікації, аналізу і документування вимог по безпеці для систем і служб телекомунікації.
DTR/NA002502, Основні напрямки в стандартизації безпеки.
TCRTR028, Словник термінології по стандартизації.
DTR/NA002602, Методи керування безпекою.
DTR/NA002603, Напрямки інтеграції механізмів забезпечення безпеки в стандарти ETSI.
DTR/NA002604, Посібник із визначення вимог для криптографічних алгоритмів.
STC/RES3 Цифрові Європейські безпровідникові системи зв'язку. У структурі забезпечення безпеки група RES3 займається питаннями взаємної аутентифікації рухливої і фіксованої частин системи, а також забезпечення конфіденціальності користувачів і переданих даних. Визначаються алгоритми аутентифікації і криптозахисту. Розроблено документи:
ETS 3001757. Радіопристрої і системи. Цифрові Європейські безпровідникові системи зв'язку. Частина 7. Особливості забезпечення безпеки.
ETS 3001757. Цифрові Європейські безпровідникові системи зв'язку. Частина 7. Переваги забезпечення безпеки.
ETS 300331, Цифрові Європейські безпровідникові системи зв'язку. Модуль підтвердження ідентичності.
STC/RES6, Трансєвропейські транкінгові радіосистеми. У складі ETSI створений підкомітет RES6, організований як експертна група по безпеці зв'язку. На першому етапі визначена конфіденціальність трафіка по радіоканалам, аутентифікація користувачів, каналів керування віщанням і ін. Розроблено документи:
ETR 0863, Трансєвропейські транкінгові радіосистеми. Частина 3. Аспекти безпеки.
priETS 3003927. Трансєвропейські транкінгові радіосистеми.
Служби "промова+дані". Частина 7: Безпека.
priETS 3003927, Трансєвропейські транкінгові радіосистеми.
Оптимізовані системи пакетного зв'язку. Частина 7: Безпека.
SAGE Консультативна Група по алгоритмах забезпечення безпеки.
Група створена для розробки всіх криптографічних алгоритмів для стандартів ETSI, а також алгоритмів за межами ETS!. Група склала специфікації на алгоритми криптозахисту для GSM систем. В даний час група працює над алгоритмом аутентифікації ТЕ9 і над алгоритмом шифрування для стандарту ТЕ10. Розроблено документи:
SAGETR 001. Вимоги для криптоалгоритмів для використання в аудіовізуальних системах.
SAGETR 0012. Звіт "Розробка алгоритму шифрування А5/2 для систем GSM".
S1.1.2.2. Проектування безпечних систем методи криптографії.
TC/SMG Мобільні системи цифрового зв'язку.
Група визначає архітектуру забезпечення безпеки для загальноєвропейської системи первинного зв'язку GSM. Головною ціллю є забезпечення аутентифікації рухливих абонентів і забезпечення конфіденціальності передачі по радіоканалам. Передбачається розробити до семи стандартів криптозахисту для систем GSM. На першому етапі розроблено два стандарти. На другій фазі передбачається поліпшення якості інших служб, у першу чергу обміну даними. Розроблено документи:
prETS 300506. Аспекти забезпечення безпеки (GSM 02.09).
prETS 300509. Модуль ідентифікації абонента (GSM 02.17).
RTS/SMG 030408В. Сигнальна підтримка алгоритму повторного шифрування (GSM 04.08).
prETS 300534. Мережні функції, що відносяться до безпеки (GSM 03. 20).
prETS 300614. Керування безпекою (GSM 12.03).
Серед багатьох переваг цифрових методів передачі аналогових повідомлень важливим є можливість захисту інформації порівняно простими засобами. У системах мобільного зв'язку типу GSM захист здійснюється шифруванням переданого радіосигналу незалежно від виду переданого повідомлення (промова, дані, сигнали керування й ін). Шифрування по алгоритму А5 здійснюється накладенням ПСП на потік переданих даних. Загальна структура алгоритму А5 загальновідома, проте конкретний різновид і ключ змінюються від сеансу до сеансу. Є також додаткові рівні захисту, що не публікуються. Ними володіють лише ті європейські оператори GSM, що підписали спеціальну угоду. Алгоритм А5 достатньо простий і реалізується апаратно у вигляді одного чіпу ВІС. Конкретні відомості про засоби захисту інформації в системі GSM містяться в специфікаціях/19/.
ETS 300506 (GSM 02.09). Аспекти безпеки.
У наземній мережі первинного сотового радіозв'язку GSM як користувачі, так і оператор мережі повинні бути захищені від несанкціонованого втручання третіх осіб. Заходи для забезпечення безпеки зв'язку розглядаються як додаткові послуги, що вибираються користувачем або включаються у функції мережі при наданні загальних послуг зв'язку. Метою цього стандарту є визначення особливостей забезпечення безпеки і відповідних рівнів захисту.
ETS 300534 (GSM 03. 20). Функції мережі для забезпечення безпеки.
Стандарт визначає функції мережі GSM, необхідні для забезпечення безпеки служб і функцій, описаних у рекомендаціях GSM 02.09.
При розробці й експлуатації сучасних систем супутникового зв'язку особлива увага приділяється використанню технічних засобів захисту інформації. Найбільше часто використовується стандарт DES, у тому числі і для урядового зв'язку. Стандарт DES використовується також у недержавних структурах, у тому числі для обслуговування банків і інших служб обертання грошей. У ряді випадків знаходить застосування метод захисту з відкритим ключем RSA.
Поряд із багатоканальними системами супутникового зв'язку типу INTELSAT широко використовуються мережі зв'язку з малими станціями VSAT (Very Small Aperture Terminal термінал із малою апертурою антени), що забезпечують малоканальний (персональний) супутниковий зв'язок. Обмін даними через супутник ретранслятор забезпечується з застосуванням ефективних засобів технічного захисту. У мережах малих станцій, що впроваджуються в Росії, часто застосовується алгоритм, обумовлений стандартом ГОСТСТАНДАРТ 2814789 [5, 6, 7]. Він перевершує стандарт DES по ряду показників, проте потребує великих обчислювальних витрат.
2. Математичні основи шифрування-дешифрування діскретних повідомлень 2.1. Прийняті позначенняМ - алфавіт джерела повідомлення, - об’єм алфавіта джерела, - послідовність довжини n із символів алфавіта джерела повідомлення,
- послідовність із символів алфавіта джерела повідомлення,
М - символи алфавіта джерела повідомлення,
- численність усіх можливих послідовностей довжини n,
К - алфавіт ключів (ключових даних), - об’єм алфавіта ключа,
- послідовність довжини N із символів алфавіта ключа,
- послідовність із символів алфавіта ключа,
К - символ алфавіта ключа,
- численність усіх можливих послідовностей ключа довжиной N,
- об’єм численності усіх можливих послідовностей ключів довжини N,
- ключова послідовність, яку використовують для шифрування,
- ключова послідовність, яку використовують для дешифрування,
Е - алфавіт джерела кріптограми, - об’єм алфавіта кріптограми,
- послідовність довжини n із символів алфавіта Е,
- послідовність із символів алфавіта кріптограми,
Е - символ алфавіта кріптограми,
- численність усіх можливих послідовностей кріптограми довжиной n,
- об’єм численності усіх можливих послідовностей довжини n,
Å - додавання по модулю 2 (mod2).
2.2. Модель шифрування-дешифрування діскретних повідомленьБудемо далі, як правило, розглядати шифрування-дешифрування так званих діскретних повідомлень, які можуть бути представлені сигналами, які мають кінцеве число станів. Це дані, печатні тексти, а також речові сигнали та зображення, якщо вони попередньо перетворені у діскретні (цифрові) сигнали. У випадку аналогового сигнала (як правило) використовують інші методи, які будуть розглядатися далі.
Математичною моделлю системи шифрування-дешифрування називають пару функцій
(2.1)
які перетворюють повідомлення у кріптограму за допомогою ключа шифрування та навпаки, кріптограму у повідомлення за допомогою ключа дешифрування . Обидві функції, які задають кріптосистему, повинні задовольнити таким вимогам:
функція f(,) та g(,) при відомих аргементах розраховуються просто.
функція g(,?) при невідомому ключі розраховується складно.
Передбачається, що ключ дешифрування невідомий нелегальним користувачам, хоч вони і можуть знати функції f(,) та g(,), а також ключ шифрування . (Остання умова складає так званий принцип Казиски).
Слід розрізняти три основних вида нападу (атаки) опонентів на кріптограму:
Напад при відомій кріптограмі .
Напад при відомій частині кріптограми та повідомлення , яка відповідає певній частині криптограми, яку отримали при використанні того ж самого ключа (атака при частково відомому відкритому повідомлені).
Напад при відомій криптограмі та спеціально вибраній частині повідомлення, яка відповідає цій частині кріптограми, яку отримали на тому ж ключі (атака з частково вибраними відкритими повідомленнями).
Сучасні кріптосистеми важаються стійкими, якщо вони стійки до всіх трьох атак.
Для кріптосистем, які шифрують повідомлення з невисокими вимогами до ймовірності помилки при передачі (цифрова реч, цифрове зображення), необхідно дати четверту, додаткову вимогу.
Дешифрування після передачі кріптограми по каналам зі спотвореннями не повинно збільшувати число помилок у порівнянні з тим числом помилок, які виникли у каналі зв’язку внаслідок спотворень, іншими словами не повинно відбуватися розмноження помилок.
Пояснемо суть поняття розмноження помилок. Нехай при передачі кріптограми по каналу зв’язку виникли помилки (див. мал.2.1).
,t
Мал.2.1. Система шифрування-дешифрування.
Місцезнаходження та величина помилок визначаються вектором помилок . При двоїчній системі передачі прийнята криптограма буде мати вигляд , де знак Å означає побітне додавання по модуля два, а загальне число помилок t дорівнює нормі векторів помилок , тобто t=. Число помилок t’ у розшифрованому повідомлені підраховується як
(2.2)
Помилки не розмножуються при умові, що t’=t.
Якщо ключ шифрування дорівнює ключу дешифрування, тобто
==, (2.3)
то система називається сіметричною (одноключовою). Тоді у пункти шифрування та дешифрування повинні бути доставлені однакові ключі. Якщо ¹, то система шифрування називається несіметричною (двоключовою). У цьому випадку ключ доставляється у пункт шифрування, а - у пункт дешифрування. Оба ключа повинні бути зв’язані функціональною залежністю =j(), але такою, щоб відомому ключу шифрування неможливо було б відтворити ключ дешифрування. Для несиметричних систем шифрування j() повинна бути складно розрахуємою функцією. У такій системі є можливість секретним чином розподіляти серед законних користувачів тільки їх ключі дешифрування, а ключі шифрування зробити відкритими та оприлюднити, наприклад у загальнодоступному довіднику. Розглядаєма система тому називається системою з відкритим (загальнодоступним) ключом . Кріптосистема з загальнодоступним ключом (Public key criptosystem) була вперше запропанована Діффі та Хелманом у 1978р.
У цій частині курсу будуть розглядатися тільки одноключові системи.
2.3 Особливі крітерії стійкості кріптосистемІснують два основних класа стійкості кріптосистем:
Ідеально (безумовно) стійкі, або досконалі системи, для яких стійкість кріптоаналізу (дешифрування) без знання ключа не залежить від розрахункової потужності опонента. Ми будемо називати їх теоретично недешифруємими.
Розрахунково стійкі системи, у якіх стійкість кріптоаналізу залежить від розрахункової потужності опонента.
Система є теоретично недешифруємою, якщо будь-яка криптограма , отримана у ній, при відсутності знання про ключ , не містить ніяких відомостей про повідомлення , зашифроване у цю кріптограму. У відповідності з терією інформації це має місце, коли (при відсутності відомостей про ключ) дорівнює нулю взаємна інформація між численністю повідомлень М та численністю кріптограм Е, тобто І(Е, М) =0, де І(Е, М) =Н(М) - Н(М/Е), Н(м) - ентропія джерела повідомлень, Н(М/Е) - умовна ентропія численності повідомлень М при заданій численності криптограм Е.
При ідеальному шифруванні фактично виникає "обрив канала" від легальних користувачів до опонентів.
Равносильне визначення ідеального шифрування встановлює незалежність будь-якої пари та від численності повідомлень та численності кріптограм, тобто тоді, коли умовна ймовірність передачі визначеного повідомлення при отриманні визначеної криптограми залишається завжди рівною апріорній ймовірності передачі цього повідомлення.
(2.4)
З визначення ТНДШ видно, що найкращій засіб кріптоаналізу для такої системи при невідомому ключі дешифрування складається в ігноруванні кріптограми та в випадковому угадуванні повідомлень по відомій апріорно ймовірності.
Розглянемо приклад побудови теоретично недешифруємих систем (див. мал.2.2).
Припустимо, що повідомлення є двоїчною послідовністю довжини n. Тоді можна формувати кріптограму як двоїчну послідовність такої ж довжини n за наступним правилом:
(2.5)
використовуючи побітне додавання Å з ключем , який також є двоїчною послідовністю довжини n.
Наприклад,
011001101111010001110
Å
010011110101100110101
___________________________
001010011010110111011
При відомому ключі , який повинен бути переданий на сторону прийому будь-яким секретним чином, повідомлення легко відновлюється по тій же формулі, по якій прводилося шифрування
(2.6)
Покажемо, що якщо двоїчні елементи ключа вибираються взіємнонезалежними та равноймовірними, то цього достатньо, щоб описана вище система була ТНДШ.
Елементи ключа вибирають незалежно, тому достатньо довести рівність Р(М|Е) =Р(М) для одного елемента. По формулі Бейеса
(2.7)
Із графа, який представлено на мал.2.3. і який показує можливості шифрування при рівноймовірних символах ключа слідчить, що , .
Звідси р(Е) =р(М=0) р(Е|М=0) +р(М=1) р(Е|М=1) =0.5(р(М=0) +р(М=1)) = 0.5 і отимаємо
(2.8)
Останнє рівняння і є умовою теоретичної недешифруємості.
Відзначимо, що дана система має суттєвий недолік, який полягає у тому, що потрібна довжина ключа N повинна дорівнювати довжині повідомлення, тому необхідна генерація, передача у секреті, зберігання великого числа біт ключа, що робить розглядаєму систему дорогою та непридатною для масового використання, доступною лише для привілейованих користувачів. Але поки на доведено, що умова n=N є необхідною для побудови ТНДШ.
Доведемо: необхідна умова ТНДШ складається з того, що число можливих кодів, використовуємих у ТНДШ повинно бути не менш, ніж число повідомлень, які засекречуються на цих ключах. Дійсно, нехай є L можливих повідомлень . Виберемо фіксований ключ . При одному й тому ж ключі різні повідомлення переходять у різні кріптограми з ймовірністю (граф такої системи
Мал.2.5. Граф шифрування одним ключом. | Мал.2.6. Граф шифрування в одну криптограму. |
Оскільки передбачається, що система є ідеальною, то по визначенню для будь-якого повідомлення та кріптограми повинна виконуватися умова: , з якого, враховуючи, що
(2.9)
і виходить, що . Тоді для будь-якої обраної кріптограми (наприклад ) існують нульові ймовірності переходу у неї з будь-якого повідомлення , але оскільки різні повідомлення можуть переходити в одну й ту ж саму кріптограму тільки на різних ключах, то кожному такому переходу можуть відповідати різні ключі .
Відповідний граф для отримання кріптограми представлений на мал.2.6. Тоді ми отримаємо стільки ж ключів, скільки є повідомлень, тобто R.
Нехай ключ представляє собою послідовність довжиною N із алфавіта К об’ємом . Тоді загальне число ключів буде дорівнювати . Порівнюючи це число ключів з числом повідомлень , де m - об’єм алфавіта джерела, n - довжина повідомлення, отримаємо, що необхідна умова ТНДШ приймає вигляд
, або (2.10)
У частному випадку, коли L=m, отримаємо, що N=n, що співпадає з достатньою умовою, яку отримали вище для прикладу двоїчного кодування по модулю два.
Але нема необхідності шифрувати усі послідовності, які можна скласти із символів джерела повідомлень. У дійсності можна шифрувати тільки так звані "типічні" послідовності, які з’являються з ненульовою ймовірністю.
Із теорії інформації бачимо, що при число типових послідовностей ~, де H(M) - ентропія джерела повідомлення. Типові послідовності приблизно рівноймовірні, їх сумарна ймовірність збігається до одиниці. На підставі раніше доведеного твердження, шифруючи тільки типові послідовності, отримаємо необхідну умову ТНДШ:
, або (2.11)
Оскільки для будь-яких джерел Н(М) <logm, то (7) дає меньш жорсткі умови, ніж (6). Чим більше надлишок джерела, тим менше його ентропія. Таким чином для забезпечення найбільш економного з точки зору ключа ідеального шифра, необхідно попередньо стиснути повідомлення, а потім провести додавання по модулю два з ключовою послідовністю.
Таким чином, необхідною умовою ТНДШ є пропорційність довжини ключа довжині послідовності. Тільки коефіцієнт цієї пропорційності для надлишкових джерел може бути декілька зменшений в порівнянні з одиницею.
Приклад: нехай задані такі параметри джерела повідомлень та ключа: L=2, m=32, ентропія джерела Н(М) =0.5 біта на букву. Тоді при шифруванні усіх послідовностей джерела довжина ключа повинна бути N=5n, тоді як після стиснення повідомлення такого джерела вони можуть бути зменшені вдвічи.
2.4. Поняття про відстань єдиностіРозглянемо декілька інший підхід до поняття стійкості кріптосистеми, яка не залежить від розрахункової потужності опонента, який зв’язан з невизначеністю дешифрування при відомому ключі.
Будемо вважати, що опоненту відома кріптограма Е та опис системи шифрування-дешифрування симетричної кріптосистеми, тобто функції f(M,K) та g(E,K), але невідомий ключ К. Використовуючи до прийнятої кріптограми Е усі можливі ключі К, можна спробувати відновити повідомлення, коли серед численності ключів тільки один є вірним, тоді як інші - помилкові. Відбраковку ключів можна виконувати, використовуючи крітерій, який полягає у отриманні осмисленного текста. Однак може статися, що одній кріптограмі будуть відповідати декілька осмисленних розшифровок. У цьому випадку навіть при необмеженій розрахунковій потужності опонента немає засобу, щоб знайти істиний ключ та відновити дійсно зашифроване повідомлення.
- осмислених "типічних" повідомлень. - безглуздих повідомлень. |
Мал.2.7. Розшифровка кріптограми тотальним перебором ключів.
Нехай одній кріптограмі відповідає S осмислених розшифровок (мал.2.7). З них очевидно будуть помилкові, та одна істинна. Передбачемо також, що алфавіти повідомлень та кріптограм, а також довжини послідовностей повідомлень та кріптограм співпадають.
Якщо вдасться побудувати кріптосистему, яка для кожної кріптограми дає дуже велике число помилкових розшифровок, то її можна буде також важати стійкою, оскільки при будь-якій розрахунковій потужності стане неможливим визначити, яка з припущених розшифровок є істинною. Нижня межа для середнього числа помилкових розшифровок у випадку використання кріптосистеми з ключом довжини N, з об’ємом алфавіта ключових даних L, при шифруванні джерела повідомлення з ентропією Н(М) визначається теоремою Шеннона-Хелмна:
(2.15)
де m - об’єм алфавіта, n - довжина повідомлення (кріптограма). Із даного відношення видно, що якщо показник степені більше нуля та достатньо великий, то середнє число помилкових розшифровок буде дуже великим і систему шифрування можна вважати стійкою.
Але з ростом довжини прийнятої кріптограми та при фіксованому числі ключів, показник степені буде падати і коли він наблизиться до нуля, то можна важати, що помилкових розшифровок не буде, тобто нульове значення показника степені є критичним: при довжині кріптограми , де - довжина кріптограми, яка обертає в нуль показник степені, кожна кріптограма може бути розсекречена єдиним чином, а прі це не так. Величина дає ту мінімальну довжину кріптограми, починаючи з якої помилкові розшифровки будуть відсутні, отже, при переборі всіх ключів кожній кріптограмі буде відповідати єдине повідомлення, яке дійсно передавалося. Така довжина кріптограми називається відстанью єдиності . Знайдемо цю відстань, прирівнюючи до нуля показник степені у (2.15). Розв’язуючи отримане рівняння, знаходимо формулу Шеннона для відстані єдиності.
(2.16)
Важливий висновок, вірний для будь-яких кріптосистем, складається у тому, що якщо опонент перехватив кріптограму довжини , то він завжди зможе без знання ключа розшифрувати її єдиним правильним чином.
Аналіз формули для відстані єдиності показує, що чим менш надлишковим є джерело, тобто чим більше Н(М) до logm, тим більше відстань єдиності. Використовуючи дану формулу неважко побачити, що для дійсних повідомлень з надлишковістю та при відносно невеликій довжині ключа відстань єдиності є прийнятною для аналізу з боку опонента.
Пример. Пусть алфавит сообщения содержит 32 буквы, а энтропия сообщения H(M) = 1,5 (что примерно соответствует энтропии русского языка). Тогда при двоичном ключе длиною N = 128 символов, расстояние единственности составляет 40 букв.
Зазначимо, що хоча висновок для величини відстані єдиності був приблизним, практичний досвід свідчить, що відстань єдиності має величину того ж порядку, що дає формула Шеннона.
В заключение следует сделать общий вывод о том, что стойкие системы шифрования, криптоанализ которых не зависит от вычислительных или аппаратных возможностей оппонента, к сожалению не реализуемы на коротких ключах (N << n).
2.5. Вычислительно стойкие криптосистемыКриптосистема называется вычислительно стойкой, если наилучший алгоритм дешифрования требует времени (или оборудования) больше, чем имеется в распоряжении оппонента.
В частности может оказаться, что требуемое время криптоанализа превышает то время в течение которого рассматриваемое сообщение перестает быть актуальным, либо получение даже правильного сообщения не окупает затрат затраченных на процедуру криптоанализа.
Существенная сложность при разработке вычислительно стойких криптосистем возникает в связи с определением наилучшего алгоритма криптоанализа. В действительности эта задача не решена ни для одной мощной криптосистемы, т.е. для достаточно мощных шифров наилучшие такие алгоритмы просто не известны. Поэтому можно говорить лишь об известных в настоящее время наилучших методах криптоанализа, которые применимы к отдельным классам шифров или разработаны для конкретных шифров. (Обычно ограничиваются наилучшими известными в настоящее время алгоритмами криптоанализа и берут значительный запас на быстродействие и количество вычислительных средств) Поэтому теоретически всегда существует возможность, что будет найден некоторый новый метод криптоанализа, который позволит решить задачу "в реальном времени". Однако для современных шифров вероятность такого "прорыва" весьма мала, поскольку он требует решения весьма сложных, и обычно давно известных в математике задач. Это особенно верно для систем с открытым ключом, для которых задача криптоанализа может быть четко сформулирована как некоторая вполне конкретная математическая задача.
В современной математике существует область "Теория сложности алгоритмов", где различают "простые" и "сложные" задачи. Задачи полиномиальной сложности, для решения которых необходимое число элементарных операций является полиномиальной функцией от размерности задачи, относятся к простым. Время T(N) для их решения ~ N n, где N - размерность задачи. Наиболее сложные (трудные) задачи требуют для своего решения числа операций, которое экспоненциально зависит от размерности задачи, т.е. T(N) ~ abN, где aиb>0 некоторые постоянные, в силу чего весь класс таких задач называется EXPTIME.
Нужно избегать построения криптосистем с полиномиальным временем криптоанализа и стараться строить криптосистемы так, чтобы их вскрытие относилось к задачам второго класса сложности.
Рис.2.8. Граф для поиска Гамильтонова цикла
Имеется достаточно широкий класс известных NP-задач, имеющий многовековую историю попыток их полиномиального решения. Так, например, для заданного графа (см. рис 2.8) нужно найти путь (Гамильтонов путь) проходящий по всем вершинам графа только один раз. Не известен алгоритм нахождения Гамильтонова цикла полиномиальной сложности от числа вершин графа. Хотя, если такой цикл найден, то проверить правильность предлагаемого решения всегда можно с помощью алгоритма полиномиальной сложности.
Рис.2.9. Соотношение между задачами NP и NPC класса.
Таким образом, нужно стремиться строить такие криптографические системы, чтобы их криптоанализ при неизвестном ключе был бы эквивалентен решению NP трудной задачи, для которой существование полиномиального алгоритма означает существование полиномиального алгоритма для решения всех задач из NP класса (что, учитывая огромный список таких задач очень маловероятно).
Отметим, однако, что имеется важное, существенное отличие в подходе к оценке сложности произвольных алгоритмов и сложности криптоанализа. В классической теории сложности оценка производится для самой трудной задачи, т.е. при наихудших входных данных, тогда как во втором - при всех входных данных, в том числе и при наилучших, т.е. при наиболее благоприятных для криптоанализа ключах.
Помимо рассмотренных ранее классов детерминированных алгоритмов, существует еще класс так называемых рандомизированных полиномиальных алгоритмов. К нему принадлежат такие алгоритмы, которые имеют полиномиальную сложность, но дают правильный ответ на поставленную задачу лишь с некоторой вероятностью. Очевидно, что если эта вероятность близка к единице, то с практической точки зрения, рандомизированные алгоритмы не хуже детерминированных.
Поэтому необходимо также исключить такие криптографические схемы, которые имеют рандомизированный алгоритм криптоанализа с полиномиальной сложностью.
Таким образом, основные очевидные требования к вычислительно стойким криптосистемам можно сформулировать в следующем виде:
Число ключей LN должно быть непереборно большим, например при L = 2 нужно иметь N = 64, N = 128 и т.п., поскольку в противном случае, приняв криптограмму длиною больше расстояния единственности (n > nре) можно правильно дешифровать переданное сообщение путем полного перебора ключей.
Недопустимо использование какого - либо метода шифрования, который имел бы известный поліноміально сложный от длины ключа метод криптоанализа. Желательно, чтобы сложность была экспоненциальной. Тогда, увеличивая длину ключа всегда можно обеспечить невозможность дешифровки в реальном времени. В частности, из этого следует, что криптоанализ не должен сводить
Класифікація.
Класифікація сучасних методів шифрування і дешифрування може відбуватися по різних ознаках. По стійкості вони діляться на:
1. Ідеальні (досконалі або безумовно стійкі, ТНДШ).
2. Обчислювально стійкі при неозоро великому часі дешифрування, коли при відомих алгоритмах криптоаналізу необхідний час на дешифрування завжди переважає час "старіння" зашифрованої інформації.
3. Обчислювально стійкі з доступним для огляду часом дешифрування, але перевищуючі час старіння визначеної інформації.
По засобах формування криптограми з повідомлення розрізняють:
Блокові шифри.
Потокові шифри.
4. Шифри з відкритим ключем.
5. Маскуватори аналогових повідомлень.
З погляду використання ключа виділяють:
1. Двоключеві системи (несиметричні), .
2. Одноключеві (симетричні), = .
Розглянемо далі класифікацію криптосистем по способах формування криптосистем. Для утворення блокового шифру послідовність символів повідомлень розділяється на блоки однакової довжини n і кожний такий блок перетвориться в блок криптограми такої ж довжини по однаковому правилу, що залежить від ключа шифрування KШ, як показано на мал 3.1.
Мал. 3.1. Блокове шифрування.
При збереженні незмінним ключа Kш однакові блоки повідомлення, що появляються в різних місцях, дають однакові блоки криптограм криптограми. Звичайно такий засіб блокового шифрування називається шифруванням за допомогою кодової книги.
Мал. 3.2. Потокове шифрування.
Найбільше часто використовуваними потоковими шифрами є, так названі, шифри гаммування. У цьому випадку повідомлення представляється послідовністю двоїчних символів, а кожний символ криптограми формується додаванням по модулю два відповідні символи повідомлення і спеціально формованої двоїчної послідовності (гама), що залежить від ключа:
,(3.1)
де - i-ий символ гами залежачий функціонально від ключа K Відновлення повідомлення відбувається по аналогічному прийомі:
(3.2)
де гама збігається з гамою в (3.1) оскільки вони формуються за допомогою того ж самого ключа, що повинний бути доставлений для цього секретною способом на приймальну сторону (мал 3.3).
Мал. 3.3. Потокове шифрування гамуванням.
Різноманітні варіанти потокових шифрів визначаються різноманітними варіантами датчиків гами. Один із варіантів датчика гами заснований на блоковому шифрі заданим у вигляді кодової книги. Блокові і потокові шифри в дійсності можуть реалізовуватися тим самим пристроєм або програмою, але при використанні різноманітних модифікацій (мод) методів шифрування. Інший відомий спосіб побудови датчиків гами використовують лінійні рекурентні регістри.
Маскуватор аналогових мовних сигналів використовується для їхнього шифрування без перетворення в цифрову форму. У процесі шифрування спектр сигналу S(f) звичайно ділиться на ряд частотних смуг, після чого відбувається перестановка смуг, інверсія спектра (мал.3.4) і затримка смугових сигналів.
Дані перетворення виконуються достатньо швидко, що створює вихідний сигнал, що не дає можливість на слух визначити зміст мовних сигналів. На приймальній стороні відбуваються зворотні перетворення і відбувається відбудова сигналу, оскільки керування процесами шифрування і дешифрування реалізується однією і тією ж функцією гама Г(), де -
Мал. 3.4. Перетворення спектра: а) інверсія б) перестановка смуг.
На жаль, даний метод шифрування є недостатньо стійким через ту обставину, що розмова мае велику надмірність. При наявності достатньої кількості технічних засобів можна робити дешифрування таких сигналів навіть без знання ключа і за невеликий час. Тому дане перетворення називається звичайно не шифруванням, а маскуванням. Другий недолік даного методу складається в значному погіршенні якості прийнятого мовного повідомлення при великому числі переприйомів.
Використання маскуваторів не є стійким стосовно технічно озброєного опонента, проте може використовуватися при невисоких вимогах до стійкості повідомлення. Прикладом серійно випускаємої апаратури шифрування мовних сигналів є "Орех".
Для надійного шифрування мовного сигналу його потрібно перетворити в цифрову форму, потім використовувати стійкі шифри пристосовані для шифрування для дискретних повідомлень, наприклад потокові шифри. Проте при перетворенні розмови в цифрову форму за допомогою імпульсно-кодової модуляції або дельта-модуляції істотно розширюється необхідна смуга частот каналу зв'язку, що призводить до необхідності використовувати більш широкополосні канали. Для того щоб передати зашифрований сигнал у тієї ж смузі частот (0,3-3,4 kГц), що використовується звичайно для передачі вихідного мовного сигналу, застосовуються спеціальні мовоперетворюючі пристрої - вокодери. Ці пристрої вимагають невеликої швидкості передачі, порядку 1200–2400 біт/c, завдяки чому зашифрований сигнал також може бути переданий по каналі ТЧ.
Проте, при використанні вокодера порушується натуральність і взнаваємість голосу. Крім того, це досить дорогий пристрій, тому він застосовується тільки тоді, коли стійкість шифрування повинна бути високою, навіть на шкоду натуральності й взнаваємості голосу промовця.
Конкретні засоби побудови блокових і потокових шифрів розглянемо в наступних розділах.
Блокові симетричні шифри.
Основні принципи побудови блокових симетричних шифрів.
Ще в роботі Шенона "Таємність і терміновість" були сформульовані такі основні принципи перетворення повідомлень, що можуть забезпечити високу стійкість блокового шифрування (мал.3.5):
Переплутування (нелінійне перетворення підстановка) символів.
Перемішування (розосередження, перестановка) символів.
Ітерування (повторення пунктів 1 і 2 багаторазово).
Достатньо складно задати загальне нелінійне перетворення для блоків великої довжини n. У той же час, якщо вибирати короткі блоки, то в криптограмі збережеться статистика повідомлення, що опонент може використовувати для ефективного криптоаналізу, як, наприклад, це реалізується при криптоаналізі шифру простої заміни. Для вирішення цього протиріччя звичайно вибираються підблоки помірної довжини n, потім до кожного підблоку застосовуються нелінійні перетворення і, нарешті, виконуються перестановки символів підблоків у межах усього блока довжини n.
Нелінійні перетворення повинні залежати від використовуваного секретного ключа, що при повторенні перетворення (при виконанні нової ітерації) звичайно заміняється на новий, отриманий перетворенням вихідного ключа.
Найпростішим засобом завдання нелінійного перетворення є табличний засіб, коли двоїчний блок спочатку перетвориться в число, потім це число по таблиці перетвориться в інше і, нарешті, отримане число знову по таблиці перетвориться в двоїчний блок. Наприклад, шифруються блоки довжиною n = 3, яким зіставлені такі числа: 000 - 0, 001 - 1, 010 - 2,..., 111 - 7. Тоді таблиця підстановок може бути задана в такий спосіб:
{0, 1, 2, 3, 4, 5, 6, 7}®{4, 2, 6, 7, 0, 5, 1, 3}.
Це означає, що, наприклад, вхідний блок 011 буде перетворений у вихідний блок 111. Складність такого перетворення залежить від довжини таблиці, що дорівнює 2n, де n - довжина блока.
Вигляд нелінійного перетворення звичайно залежить від певних біт розширеного ключа, що виробляється з вихідного ключа. Наприклад, нелінійне перетворення, що залежить від біт розширеного ключа = (K1,K2,K3), може мати вигляд
f(,) = f((K1,K2,K3), (M1,M2,M3)) = = (E1, E2, E3).
E1 = K1K2M1M2, E2 = K2K3M2M3,
E3 = (K1Å K2) M1M3, = (E1, E2, E3). (3.3)
Якщо криптограма і повідомлення = (M1, M2, M3) відомі, то при виконанні криптоаналізу можна скласти рівняння щодо елементів розширеного ключа . Це буде система нелінійних рівнянь із невідомими K1, K2, K3, де дії виконуються по модулю два.
У процесі шифрування часто виконується декілька перетворень із двоїчними блоками, при чому, крім лінійної операції додавання по модулю два, використовуються, наприклад, операції додавання по модулю 2n, 2n+1 або множення по модулю 2n+1, де n - довжина блока і т.п. Тому криптоаналіз гарного блокового шифру не зводиться до відомих поліноміальних задач.
Мал.3.6. Підготовка блоків для шифрування на основі структури Файстеля.
Далі структура Файстеля припускає такий засіб перетворення блоків. Спочатку послідовність двоїчних символів повідомлення розбивається на блоки довжиною n=2n0 (мал.3.6).
Кожний з отриманих блоків шифрується однаково з використанням такого рекурентного співвідношення, що на i-му кроці має вигляд
,
i=2,3,...,d, (3.4)
де 0 і 1 - підблоки першого блока вихідного повідомлення, f(,) - детермінована відкрита нелінійна функція, i-1 - елементи послідовності розширених ключів, сформовані детермінованим способом з основного секретного ключа даної криптосистеми. Криптограма, сформована на останній ітерації d, приймає вигляд
= ( d - 1, d). (3.5)
Наприклад, якщо дано = ( 0, 1), то обчислюємо
2 = 0 Å f(1, 1),
складаємо (1,2), знову обчисляємо
3 = 1 Å f( 2, 2),
складаємо (2,3) і т.д.,..., до отримання послідовностей d - 1 і d, із котрих і формується криптограма = (d - 1,d).
Перевага такої структури складається в тому, що по-перше, для неї виконується принцип перемішування між підблоками, по-друге, дуже просто реалізується алгоритм дешифрування при ключі, відомому законному користувачу. При цьому важливо те, що функція f(,) навіть не обов'язково повинна мати обернену! Дійсно, коректне дешифрування в даній структурі виконується по тому ж алгоритмі, що і шифрування: Нехай = ( 0, 1) = ( d - 1, d).
Тоді
,..., ,...,
1 = 3 Å f( 2, 2), 0 = 2 Å f( 1, 1),
= ( 0, 1), що, як очевидно і збігається з вихідним повідомленням.
Є багато різноманітних блокових шифрів, заснованих на структурі Файстеля, що відрізняються вибором функції f і засобом формування розширених ключів i i=1,2,…,d з основного ключа . Нехай на такий шифр відбувається напад із відомим повідомленням. Тоді, знаючи опис функції f і засіб побудови підключей по основному ключу, опонент може скласти систему нелінійних рівнянь і спробувати її вирішити щодо ключа як невідомого. Стійкість даного типу шифрів грунтується на складності рішення системи нелінійних рівнянь із діями по модулі два. Доведено, що в загальному випадку ця задача відноситься до класу NP - важких задач.
Багатократне шифрування блоків.
На перший погляд представляється очевидним, що можна значно підвищити стійкість шифру, якщо криптограму, отриману за допомогою ключа 1, зашифрувати ще раз за допомогою іншого ключа2, тобто реалізувати процедури шифрування-дешифрування в такий спосіб:
, . (3.6)
Проте, нескладно показати, що якщо довжина ключа дорівнює N, те фактично застосування дворазового шифрування збільшує число операцій, необхідних при криптоаналізі за допомогою тотального перебору ключів від 2N до . Іншими словами, обсяг перебору збільшується тільки в два рази і, отже, дворазове шифрування не є ефективним.
Метод, що у даному випадку використовується для дешифрування, називається "зустріччю в центрі". Нехай є криптограма , отримана шляхом повторного шифрування.
(3.7)
Для криптоаналізу використовуємо напад із відомим повідомленням, рахуючи, що відомо не менше двох блоків повідомлення і відповідні їм блоки криптограми, наприклад,
1®1 і 2®2. (3.8)
Рішення задачі будемо шукати шляхом перебору всіх можливих двоїчних ключів довжини N. Варіанти ключа помістимо в перший рядок заздалегідь складеної таблиці. В другий рядок таблиці помістимо результати шифрування першого відомого блока повідомлення відповідними варіантами ключів, а в третю - результати дешифрування першого блока криптограми, отримані як .
Варіант ключа K | K1 | K2 | Km | Kn | ||||||
E1 | E2 | Em | ||||||||
M1 | M2 | Mn |
З співвідношення очевидно, що для дійсно використаних ключів 1 або 2 якийсь елемент Em другого рядка повинний обов'язково співпасти з яким-небудь елементом Mn третього рядка. У такий спосіб достатньо знайти збіжні елементи в другому і третьому рядках і вибрати відповідні їм ключі Km і Kn у якості кандидатів у дійсні ключі 1 і 2. Проте збіги можливі і не тільки для істинних ключів, тобто кандидатів може виявитися декілька. Тому потрібно спробувати застосувати знайдені ключі до іншої пари повідомлення-криптограми для перевірки другого співвідношення
. (3.9)
Якщо виповниться і ця рівність то, як правило, знайдені ключі називаються істинними.
Для підвищення стійкості шифрування використовують не подвійне, а потрійне шифрування на трьох різноманітних ключах, тобто формують криптограму по такому правилу
, . (3.10)
Доводиться, що найкращий можливий метод криптоаналізу за допомогою тотального перебору ключів зажадає в цьому випадку 22N кроків, тобто стійкість криптограми істотно збільшується.
Основні параметри і принципи побудови найбільше відомих блокових шифрів.
В даний час розроблено багато різноманітних блокових шифрів, частина з яких є державними (федеральними), інші інтернаціональними. До них насамперед відносяться:
Шифр DES (Федеральний стандарт США).
IDEA - (міжнародний стандарт шифрування).
GOST - (стандарт Російської Федерації).
DES - Федеральний стандарт шифрування для несекретних повідомлень у США. Є першим у світі цілком відкритим алгоритмом. Повсюдно використовується для шифрування даних.
DES являє собою блоковий шифр, заснований на структурі Файстеля з довжиною блоків рівної 64-м бітам і такою же довжиною блока криптограми. Для шифрування використовується ключ довжиною 56 біт + 8 перевірочних біт. Алгоритм реалізується 16-ма ітераціями. На кожній ітерації ключ виробляється з вихідного ключа за допомогою вибірки визначених елементів ключа і їхніх перестановок. Нелінійна функція в кожній ітерації задається за допомогою коротких нелінійних перетворень, так названих S - блоків, і перестановок. Всі перетворення задаються таблицями, що опубліковані у відкритій літературі. Алгоритм виробляє зашифровані дані, кожний біт яких є функцією від усіх біт відкритих даних і від усіх біт ключа. Зміна лише одного біта даних дає рівні можливості зміни для кожного біта криптограми.
Спочатку DES був розроблений фірмою IBM для своїх цілей. Тест по безпеці даної системи шифрування був проведений Агентством Національної Безпеки США, що не виявило в ньому статистичних або математичних вад. Після цього з 1976 DES став стандартом шифрування для несекретних повідомлень у США. Алгоритм опублікований. Вартість апаратної реалізації зі швидкістю шифрування 500 кбіт/c складає 100$. При програмній реалізації швидкість перетворення складає 20-140 кбіт/с.
Основний метод нападу на DES - повний перебір усіх ключів, число яких складає 256. На ПК можна перебрати всі ключі за 2300 років. Якщо сконструювати спеціальну дешифровальную машину, то систему DES можна розкрити протягом 1-го тижня. Це буде коштувати 3,3 млн. $ за даними на 1995 рік. До 2000 року вартість може знизиться до 830 тис. $, а до 2005 року - до 100 тис. $.
Слід зазначити, що якщо повний перебір ключа для якогось шифру потребує визначеного часу, то це не означає неможливість знаходження істинного ключа за менший час, але з визначеною, не одиничною, можливістю (див. таблицю нижче).
Наприклад, якщо повний час перебору складає 1 рік, то з можливістю рівної 0,0833 можна знайти ключ за 1 місяць, а з можливістю 0,0192 за тиждень.
Таблиця 3.1. Можливості перебування істинних ключів.
Гарантоване | Можливість знайти ключ за | ||||
час знайти ключ | час | день | Тиждень | місяць | Рік |
день | 0,0417 | 1,0 | 1,0 | 1,0 | 1,0 |
Тиждень | 0,006 | 0,1429 | 1,0 | 1,0 | 1,0 |
Місяць | 0,0014 | 0,0329 | 0,2308 | 1,0 | 1,0 |
Рік | 0,0001 | 0,0027 | 0,0192 | 0,0832 | 1,0 |
Існували спроби непереборного дешифрування DES на основі диференціального (різницевого), лінійного і статистичного криптоаналізу. Для повного алгоритму DES ці методи виявилися практично негожими. Проте, якщо використовується спрощений алгоритм DES (наприклад, замість 16-ти циклів реалізується тільки 4), то непереборні методи дозволяють розкривати спрощений "DES" без знання ключа за невеликий час.
Таким чином, можна думати, що DES є достатньо стійкою при шифруванні повідомлень, що мають короткочасну таємність порядку тижня або місяця в припущенні, що криптоаналіз будуть проводити недержавні або не занадто заможні комерційні структури, Дана система не є стійкою для державних або заможних громадських організацій. Проте, якщо для підвищення стійкості застосовується триразове шифрування на трьох різних ключах, то система DES надається стійкою навіть щодо самих потужних засобів дешифрування, включаючи державні. Принципово новий метод криптоаналізу, що використовує цілеспрямоване внесення помилок в елементи схеми шифрування, дозволяє успішно дешифрувати і потрійний DES. Проте, технічно такий вплив на шифратор реалізується достатньо складно.
IDEA - міжнародний стандарт шифрування. Це блоковий шифр із довжиною блока рівний 64-м бітам. Довжина ключа складає 128 біт. У якості нелінійних перетворень використовуються такі операції: додавання по модулю два і по модулю 216, а також і множення по модулю 216+1. Загальне число циклів 8. Табличні перестановки не використовуються.
Зручний у програмній реалізації для 16 бітового процесора. Швидкість: при програмній реалізації на 386 процесорі - 880 кбіт/с, при апаратній - 55 Mбіт/c.
Переборний алгоритм дешифрування до цього шифру не застосовується. Проводився аналіз стійкості при інших методах криптоаналізу (різницевого, лінійного). Повний алгоритм дешифруванню не піддається. Проте при скороченні числа циклів до трьох або чотирьох він може бути розкритий у реального часу.
Реалізований у програмі PGP для захисту повідомлень електронної пошти Internet. Рекомендується для шифрування в комп'ютерних мережах, зокрема в електронній пошті.
GOST (ДЕРЖСТАНДАРТ 28-147-89) - державний стандарт шифрування Російської Федерації. Обов'язковий для застосування у всіх державних і відомчих структурах і у всіх організаціях, пов'язаних із ними.
Має також відкрито опублікований алгоритм шифрування. Перетворює блоки повідомлення довжиною 64 біта в блоки криптограми такої ж довжини. Ключ складається з 256-ти біт, число циклів дорівнює 32. У якості перетворень використовуються нелінійні табличні підстановки і додавання по модулю 232. Крім ключа довжиною в 256 біт є і довгостроковий ключ із 512-ти біт. Цей ключ декілька змінює структуру алгоритму, тобто структуру S блоків (нелінійних перетворень).
Реалізований у програмному й апаратному виконанні. Основна перевага апаратної реалізації складається в тому, що вона гарантує неможливість зміни програми або введення яких-небудь програмних закладань. У випадку програмного виконання секретний ключ зберігається у визначеному секторі пам'яті.
Програмна реалізація забезпечує швидкості порядку 600-800 кбіт/c. Апаратна реалізація - до 1 Мбіт/с.
Про стійкість даного методу шифрування можна судити по тому, що перебір усіх ключів нереальний при використанні будь-яких технічних засобів. Дані по різницевому або лінійному криптоаналізу не опубліковані.
Модифіковані алгоритми блокового шифрування.
Необхідність у модифікації блокового шифрування.
При формуванні криптограми з повідомлення той самий алгоритм шифрування може бути використаний у різноманітних модифікаціях. Дотепер розглядалося застосування блокового шифрування у вигляді кодової книги. Для роботи з електронною кодовою книгою повідомлення розбивається на блоки однакової довжини, що відповідає алгоритму шифрування, і кожний блок незалежно від інших перетвориться в блок криптограми. Дана модифікація має суттєві недоліки:
Протягом усього часу дії ключа ті самі блоки повідомлення завжди перетвориться в ті самі блоки криптограми. Це може бути використано опонентом для одержання деякої інформації про повідомлення навіть при відсутності знання ключа. Так, знайшовши вигляд криптограми для деякого повідомлення один разом, можна, зустрівши цю же криптограму в інший раз, безпомилково стверджувати без знання ключа, що передавалося те ж саме повідомлення.
Дана модифікація припускає підміну зашифрованого повідомлення на якесь інше, тобто нав'язування зловмисником без знання ключа помилкового повідомлення, причому факт підміни може бути не виявлений після дешифрування.
Як приклад розглянемо напад із вставкою на повідомлення про грошовий переказ. Саме повідомлення, що складається з окремих фрагментів, може виглядати так, як це показано в першому рядку таблиці.
Таблиця 3.2.
Час відправлення | Ім'я банку відправника | Ім'я банку одержувача | Ім'я вкладника | Номер рахунку | Розмір внеску | |
6 байт | 12 байт | 12 байт | 48 байт | 16 байт | 8 байт | |
Цю частину повідомлення можна замінити в чужому переводі, і це не буде замічено при дешифруванні |
В другому рядку таблиці зазначене місце розташування і розміри блоків, відведених під окремі фрагменти.
Суть нападу з вставкою нескладна. Зловмисник спочатку переводить деяку суму на свій рахунок, що дозволяє йому одержати криптограму свого імені і свого рахунку, а потім заміняє криптограму імені і рахунки будь-якого вкладника на свої.
Для усунення зазначених хиб використовують модифіковані алгоритми (моди) блокового шифрування.
Модифікація з зачепленням блоків.
Схема шифрування і дешифрування для цієї моди подана на мал. 3.7.
Мал. 3.7. Шифрування з зачепленням блоків.
У цьому випадку повідомлення також розбивається на блоки довжини n, після чого відповідні блоки криптограми формуються за правилом:
, (3.11)
для дешифрування використовується співвідношення:
i=1,2,…,S... (3.12)
Тут E0 = IV - деякі початкові дані (Initial Value) - блок довжини n із двоїчних символів, що вибираються випадково і не секретні.
Дана модифікація передбачає, по-перше, що при кожному новому запуску проводиться відновлення відкритих початкових даних IV, і, по-друге, що зміна будь-якого блока повідомлення призводить до зміни не тільки відповідного блока криптограми, але і наступних. У результаті з'являється безглуздий, нечитаємий текст і напад із вставкою виявляється неефективним.
Порівняємо вплив помилок у криптограмі (початкових стосовно процесу дешифрування) на результати дешифрування при використанні моди електронної кодової книги і моди з зачепленням блоків.
При використанні моди у виді кодової книги одиночні помилки в криптограмі будуть розмножуватися тільки в межах того блока криптограми, де ця помилка розташовувалася. На інші блоки дешифрованого повідомлення дана помилка впливати не буде.
При використанні моди з зачепленням блоків формули дешифрування, у яких бере участь блок криптограми Ei-1 мають вигляд:
,. (3.13)
З них слідує висновок, що при появі помилок у блоці Ei-1 помилки на блоці повідомлення Mi-1 розмножуються так само, як і у випадку попередньої моди, а на блоці повідомлення Mi розмноження помилок не відбувається, вони виявляються тільки на тих місцях, де відбулися в блоці криптограми Ei-1.
Всі моди блокового шифрування призводять до розмноження помилок після дешифрування, якщо такі помилки з'явилися в криптограмі. ? Фактично дана властивість є позитивною, тому що забезпечує ефективне шифрування. ? Розмноження помилок виявляється негативним явищем у тому випадку, коли шифрується повідомлення з низькими вимогами по достовірності (оцифрована промова і зображення). Навпроти, при передачі даних воно не грає ролі, оскільки необхідно усунення всіх помилок. Досягається це застосуванням при передачі повідомлень кодування з виправленням помилок.
Розглянемо дві основні схеми (мал.3.8) взаємодії контролю помилок і шифрування, де під контролем помилок розуміється їхнє виявлення і (або) виправлення.
а)
б)
Мал. 3.8. Взаємодія контролю помилок і шифрування.
Оскільки при розглянутих вище модах блокового шифрування виникає розмноження помилок, то другий метод, поданий на мал.3.8б виявляється раціональнішим при використанні контролю помилок у вигляді виправлення помилок. Проте, якщо використовується контроль помилок тільки з виявленням помилок і, можливо, із перезапитом перекручених блоків, то кращим є перший метод, оскільки виявлення великого числа помилок більш надійно, чим малого.
Модифікація зі зворотнім зв'язком по криптограмі.
Схема шифрування і дешифрування для цієї моди дана на мал.3.9.
Мал. 3.9. Шифрування зі зворотнім зв'язком по криптограмі.
Розглянуті дві попередні моди потребували для дешифрування точного знання меж блоків. У даному випадку необхідності в цьому немає, оскільки на відміну від попередніх мод шифрування проводиться побітно (побайтно або будь-якими іншими порціями) і немає необхідності чекати приходу всього блоку повідомлення (наприклад, для системи DES така довжина складає 64 біта) для того, щоб формувати символи криптограми. У попередніх модифікаціях блокового шифрування видача криптограми здійснювалася тільки при закінченні надходження всього блока повідомлення на шифратор.
Шифрування зі зворотнім зв'язком по криптограмі має властивість самосинхронізації. Це означає, що якщо на приймальній стороні загублені межі блоків, то вони автоматично відновляються після відновлення регістра зсуву не більш, ніж через n тактів, де n - довжина блока. Більш того, якщо приймальна сторона виключена на якийсь час або включається пізніше початку передачі, то через деякий проміжок часу, що відповідає проходженню символу через регістр зсуву, синхронізація автоматично відновляється і починається правильне дешифрування. Дана особливість аналізованої моди є особливо зручною при роботі в комп'ютерних мережах.
Помилка, що виникнула в криптограмі, розмножується в процесі дешифрування при проходженні по регістрі зсуву, але після того, як вона пройде по всім осередках пам'яті і вийде з регістра зсуву, розмноження помилки припиниться.
Модифікація зі зворотнім зв'язком по гамі.
Мал. 3.10. Шифрування зі зворотнім зв'язком по гамі.
Схема шифрування і дешифрування для цієї моди дана на мал.3.3.10. Вона схожа на попередню.
При використанні даної моди шифрування, розмноження помилок цілком відсутнє. Тому дану моду доцільно застосовувати в тому випадку, коли при передачі не проводиться контроль помилок, тобто при шифруванні повідомлень із низькими вимогами по достовірності (оцифрована промова, фототелеграф, кодовий телеграф, цифрові телезображення)
Для правильного дешифрування в розглянутій модифікації необхідна синхронізація між гамами на передаючій та приймальній стороні з точністю до біта, інакше дешифрування навіть при цілком відомому ключі виявляється неможливим. Звичайно застосовується спеціальна система синхронізації.
При використанні даної моди шифрування на основі блокового шифру, по суті, утвориться потоковий шифр і, як при використанні будь-якого потокового шифру, необхідно виключити шифрування різних повідомлень однією і тією ж гамою g. У противному випадку можливо дешифрування цих повідомлень у реального часу без знання ключа.
Дійсно, нехай є різні криптограми і , у яких різні повідомлення і засекречені однією і тією ж , тоді4
, . (3.14)
Для дешифрування без знання ключа опонент робить підсумовування криптограм по модулю два
(3.15)
і одержує перше повідомлення, зашифроване другим повідомленням як різновидом гами. Відбувається засекречування одного повідомлення іншим. Це шифр Віженера, що може бути розшифрований в реальному часі.
Щоб виключити можливість розглянутої атаки, необхідно на кожному новому сеансі зв'язку, при кожному новому запуску, якщо не змінився ключ, змінювати початкове заповнення IV регістра зсуву, передаючи це заповнення на приймальну сторону. Зміни чинять детермінованим або випадковим способом, але так, щоб можливість їхнього збігу при різноманітних пусках була б достатньо малою.
Мода зі зворотнім зв'язком по гамі (може бути використана, як відзначалося раніше, для систем передачі з низькими вимогами по достовірності (промова, фототелеграф, зображення, значеннєвий текст).
Як уже відзначалося, розглянута мода шифрування є ніщо інше, як одна з версій потокового шифру. Дана версія створена на основі використання блокового шифру. Можливі й інші версії побудови потокових шифрів.
Потокові шифриПотокові шифри на основі генераторів псевдовипадкових послідовностей.
На відміну від потокового шифрування на основі блокового зі зворотнім зв'язком по гамі (мал.3.10) для одержання потокового шифру на основі використання генераторів псевдовипадкових послідовностей (ГПВП) використовується схема, подана на мал.3.11.
У якості ГПВП застосовується добре відомий із різноманітних технічних додатків рекурентний метод формування гами на основі
лінійного рекурентного регістра зсуву зі зворотнім зв'язком (ЛРР, LFSR).
Мал. 3.11. Лінійний рекурентний регістр зсуву зі зворотнім зв'язком.
Схема апаратної реалізації лінійного рекурентного регістра зсуву зі зворотнім зв'язком дана на мал.3.12.
Лінійний рекурентний регістр зсуву працює по такій програмі:
при j=0,1,…,n-1,
при j=n,n+1,…, (3.16)
сума по mod2., n - число осередків пам'яті, довжина ЛРР,
hi,{0,1}, i = 0, 1,..., n - 1, - коефіцієнти, що визначають структуру ЛРР, aj, {0,1}, j = 0, 1,..., n - 1, - початкові стани осередків пам'яті, bj,{0,1}, - символ на виході ЛРР.
Спочатку провадиться заповнення осередків пам'яті ЛРР елементами початкової двоїчної послідовності a0, a1,..., an-1. Потім під дією тактових імпульсів, що надходять, (ТІ) виконуються всі зазначені підсумовування по mod2 і посимвольне просування вмісту осередків на вихід. В результаті утвориться вихідна послідовність з символів bj. Відводи підключені не до всіх суматорів, а тільки до тих, для котрих hi = 1. Двоїчна послідовність h1,..., hn, визначає індивідуальні властивості конкретного ЛРР.
Кожному ЛРР можна зіставити степеневий поліном зворотного зв'язку
h(x) = xn + hn-1xn-1 + hn-2xn-2 +... + h1x + 1, (3.17)
з двоїчними коефіцієнтами hi, де h0 = hn = 1, і, навпаки, по заданому степеневому поліному можна побудувати ЛРР. Наприклад, поліном
h(x) = x4 + x +1
Мал. 3.13. ЛРР, що відповідає поліному
h(x) = x4 + x +1.
відповідає лінійний рекурентний регістр зсуву з чотирьох осередків пам'яті, (довжиною n = 4), приведений на мал.3.13.
З властивостей ЛРР відзначимо такі:
Період T вихідної послідовності лінійного рекурентного регістра зсуву довжиною n обмежений нерівністю T £ 2n - 1.
Період T вихідної послідовності лінійного рекурентного регістра зсуву довжиною n визначається рівністю T = 2n - 1 тоді і тільки тоді, коли поліном зворотного зв'язку h(x) є так називаним примітивним поліномом.
Визначення. Поліном h(x) ступеня n c двоїчними коефіцієнтами називається примітивним, якщо він, по-перше, є неприводимим (тобто не представимий у вигляді добутку двох або більш багаточленів із двоїчними коефіцієнтами) і, по-друге, коли поліном ділиться на поліном h(x) без залишку. При цьому всі дії виконуються по модулю 2.
Прикладом примітивного полінома є поліном x4+x+1.
Для будь-якого n, а, отже, і для ЛРР будь-якої довжини існують примітивне поліном, причому число N таких поліномів визначається формулою
N(n) = j(2n-1) /n, (3.18)
де j(x) - функція Ейлера, що визначає число цілих чисел із проміжку від 1 до x-1 взаємно простих із x. Якщо 2n-1 просте число (таке просте число називають числами Мерсена) то,
N(n) = (2n-2) /n, (3. 19)
З даних співвідношень очевидно, що при великих значеннях ступеня n число примітивних поліномів дуже велике. В даний час є докладні таблиці примітивних поліномів до великих ступенів включно. Є також регулярні алгоритми, що дозволяють перевірити чи є даний поліном, навіть дуже високого ступеня, примітивним. Таким чином, не існує проблема вибору поліному зворотного зв'язку h(x) для ЛРР достатньо великої довжини n на основі примітивного полінома, що забезпечує період вихідної послідовності T = 2n - 1 для будь-якого початкового заповнення.
Вихідна послідовність лінійного рекурентного регістра зсуву, реалізованого на примітивному поліномі, крім того, що має найбільший період повторення T = 2n – 1 має властивість "балансу", що полягає в тому, що число нулів на періоді T в точності дорівнює 2n - 1 - 1, тоді як число одиниць у точності дорівнює 2n - 1, і властивістю "вікна", яка гарантує, що у всіх 2n - 1 вікнах із n символів, послідовно розташованих в періоді, усі можливі 2n - 1 ненульові двоїчні послідовності з'являться рівно по разу.
Перераховані властивості ЛРР, а також деякі інші призводять до того, що спостерігаючи послідовність на виході ЛРР, цю послідовність можна прийняти за чисто випадкову, що може бути отримана при незалежних киданнях симетричної монети. Проте в дійсності вихідна послідовність ЛРР є суворо детермінована, оскільки вона однозначно задається початковим заповненням aj,{0,1}, j = 0, 1,..., n - 1, і поліномом зворотного зв'язку h(x), у силу чого її називають псевдовипадковою послідовністю (ПВС).
Мал. 3.14. До обговорення придатності ЛРР для потокового шифрування.
Проте відповідь на нього заперечна, оскільки ЛРР має таку властивість: якщо відома вихідна послідовність ЛРР довжиною 2n, то однозначно можна обчислити як початкове заповнення, так і поліном зворотного зв'язку, причому складність вирішення цієї задачі має порядок O (n3), тобто потребує n3 операцій. Після цього стає можливим обчислити ключ K для даного типу шифратора, якщо відомо відкрите повідомлення довжиною 2n біт дана властивість є наслідком лінійності ЛРР, що дозволяє звести вирішення даної задачі до розв'язання системи лінійних рівнянь.
Мал. 3.15. Основні типи нелінійних вузлів ускладнення:
а) схема "і" та б) генератор Джеффа.
Щоб уникнути описаної атаки необхідно порушити лінійність датчика гами. Виконується це за допомогою нелінійних вузлів, прикладами яких є вузол множення (схема "і") і генератор Джеффа (мал. 3.15)
На відміну від простого перемножника, генератор Джеффа має ту позитивну властивість, що він не порушує баланс нулів і одиниць у вихідній послідовності, якщо такий баланс був на вході.
Використовуючи рiз - номанітні нелінійні вузли і комбінуючи їх багаторазово, одержують можливість виконати складні нелінійні перетворення. Сукупність таких вузлів називають нелінійними вузлами ускладнення (НВУ). Входи НВУ підключають до виходів осередків пам'яті ЛРР, після чого нелінійний вузол ускладнення на своєму виході формує гаму. В результаті структурна схема шифратора на ЛРР може мати вид, поданий на мал.3.16. Як усяка цифрова система передачі потоковий шифратор потребує синхронізації між передаючою та прийомною гамою з точністю до біта. Крім того, при кожному черговому запуску необхідно змінювати початковий стан ЛРР, що звичайно досягається використанням випадкової послідовності, що щораз повинна бути передана на приймальну сторону.
Мал. 3.16. Шифратор на ЛРР із нелінійними вузлами ускладнення.
Ще одним прикладом нелінійного перетворення є використання двох ЛРР, причому перший ЛРР служить для другого генератором тактових імпульсів (мал.3.16). Використання відразу декількох ЛРР і нелінійного вузла ускладнення показане на мал.3.17.
Мал. 3.16. Формування гами з використанням двох ЛРР. | Мал. 3.17. Потоковий шифратор. |
Розглянутий тип шифрування має перевагу при апаратній реалізації, особливо для високих швидкостей передачі. Він використовується звичайно для шифрування мовних сигналів, попередньо перетворених до цифрового вигляду за допомогою імпульсно-кодової або дельта-модуляції.
Поняття про криптостійкість потокових шифрів.
Визначення. Двоїчна послідовність довжини n має лінійну еквівалентну складність d, якщо існує ЛРР довжина d, що може згенерувати цю послідовність при деякому початковому заповненні і при виборі деякого полінома зворотного зв'язку.
Тому нелінійний вузол ускладнення конструюється так, щоб забезпечити велику еквівалентну складність. Наприклад, якщо в якості НВУ вибирається генератор Джеффа з залученими до нього трьома ЛРР, що мають такі довжини: 84 осередки в ЛРР-1, 107 осередків у ЛРР-2 і 61 осередок у ЛРР-3, то лінійна еквівалентна складність d = 109, а число операцій d3 = 1027.
Крім розглянутого вище методу аналізу криптостійкості потокових шифрів, заснованого на застосуванні еквівалентного ЛРР і рішенні відповідної лінійної системи рівнянь, необхідно враховувати й інші методи криптоаналізу, наприклад, статистичні, засновані на тому, що в дійсні елементи гами, обрані шифратором не є в дійсними рівноможливими і незалежними. Проте слід зазначити що, існують також методи, що дозволяють зменшити ступінь цієї залежності і тим самим забезпечити стійкість потокового шифру і щодо статистичного методу криптоаналізу.
В даний час криптоаналіз потокових шифрів розвинений навіть у більшому ступені, чим криптоаналіз блокових шифрів, і запропонований ряд схем потокових шифрів на основі використання ЕОМ, що при відомих зараз методах криптоаналізу не можуть бути розкриті в реальному часі.
Крім більш простого криптоаналізу, потокові шифри мають такі переваги перед блоковими:
Простіша апаратна реалізація потокових шифрів.
Відсутнє розмноження помилок, що виникають у каналах зв'язку.
Ці переваги призвели до того, що потокові шифри одержали найбільше поширення при шифруванні оцифрованих мовних сигналів.
Проте потокові шифри мають недоліки, і при їхній експлуатації потрібна суттєва увага до слабкостей таких шифрів.
Як було відзначено раніше, при використанні потокового шифру необхідно категорично виключити можливість шифрування однією і тією ж гамою різноманітних повідомлень, оскільки це призводить до швидкого дешифрування без знання ключа. Для того, щоб забезпечити виконання цієї вимоги, потрібно при шифруванні кожного нового повідомлення, при кожному черговому запуску шифратора вибирати від випадкового датчика нове початкове заповнення ЛРР, що повинно передаватися по відкритому каналі на приймальну сторону. Якщо ж початкове заповнення ЛРР визначається ключем K, то при кожному новому пуску потрібно з цим ключем побітно скласти по модулю дві послідовності, отримані від випадкового датчика, і їхню суму взяти як початкове заповнення. Тоді схема потокового шифрування прийме вигляд, поданий на мал.3.18.
На закінчення розглянемо ефективну атаку з вставкою на систему потокового шифрування, яка виявляється можливою, якщо шифрування здійснюється з порушенням вимоги на неповторювання гами.
Мал. 3.18. Схема потокового шифрування.
Для її виконання достатньо нав'язати законному користувачу хоча б один додатковий біт, вставлений у його попереднє повідомлення. Нехай відповідно повідомлення, гама і криптограма мають вигляд:
M: M1,M2,..., g: g1,g2,..., E: E1,E2,... .
Після вставки відомого повідомлення M' ці ж послідовності змінюються в такий спосіб: M: M1, M', M2,..., g: g1,g2,..., E: E1,E'2,E'3...,
і вся криптограма за вставкою розкривається за допомогою обчислень:
, (3. 20)
Таким чином, потокові шифри на основі ЛРР мають визначені переваги перед блоковими:
Мають більш розроблений криптоаналіз.
Легше реалізуються апаратно.
Не розмножує помилки, що виникнули в каналі зв'язку.
Зручні для засекречування оцифрованої промови.
Проте, потокові шифри мають і свої недоліки:
1. Незручні для програмної реалізації.
2. Потребують суворої бітової синхронізації між передачею і прийомом.
3. Потребує зміни гами при кожному новому шифруванні.
Щоб виключити другий і третій недолік потокове шифрування може бути використане для побудови блокових шифрів.
... 7. Розробка організаційно-технічних заходів щодо захисту інформації і їхня реалізація. 8. Організація й проведення контролю стану захисту інформації. РОЗДІЛ ІІ. Суб'єкти системи захисту інформації у Російській федерації Російська Федерація має розгалужену централізовану систему суб’єктів захисту інформації, одні з яких безпосередньо здійснюють захист інформації, інші – контролюють їх ...
... паперовий wed- центр База даних філії Облік зп Звіт по зп Електронний паперовий філії База даних, місцеві архіви wed-центр Облік зп II. Впровадження захисту інформації в комп’ютерній мережі і інформаційній системі підприємства “WED” Захист інформації на підприємстві грає велику роль для забезпечення стабільної роботи всього корпоративного підприємства та філій зокрема. Тож ...
... по торгових операціях банку, а також по облікових операціях, тобто можна стверджувати, що в банку існувала неефективна система управління. 2 “Організація та сучасні методи здійснення захисту інформації”. За загальною редакцією С.А. Дієва. Концерн “Банківський діловий центр”. М. 1998 р. с. 6-7 В 1994 році покладено край діяльності злочинної організації із співробітників Центробанку Росії в ...
... захисту необхідно виявити можливі погрози безпеці інформації, оцінити їх наслідки, визначити необхідні заходи і засоби захисту і оцінити їх ефективність. [25] 1.3 Криптографічні методи захисту інформації Криптографічний захист інформації — вид захисту інформації, що реалізується за допомогою перетворень інформації з використанням спеціальних даних (ключових даних) з метою приховування (або ...
0 комментариев