Модель шифрування-дешифрування
Прийняті позначення
М - алфавіт джерела повідомлення,
- об’єм алфавіта джерела,
- послідовність довжини n із символів алфавіта джерела повідомлення,
- послідовність із символів алфавіта джерела повідомлення,
М - символи алфавіта джерела повідомлення,
- численність усіх можливих послідовностей довжини n,
К - алфавіт ключів (ключових даних),
- об’єм алфавіта ключа,
- послідовність довжини N із символів алфавіта ключа,
- послідовність із символів алфавіта ключа,
К - символ алфавіта ключа,
- численність усіх можливих послідовностей ключа довжиной N,
- об’єм численності усіх можливих послідовностей ключів довжини N,
- ключова послідовність, яку використовують для шифрування,
- ключова послідовність, яку використовують для дешифрування,
Е - алфавіт джерела кріптограми,
- об’єм алфавіта кріптограми,
- послідовність довжини n із символів алфавіта Е,
- послідовність із символів алфавіта кріптограми,
Е - символ алфавіта кріптограми,
- численність усіх можливих послідовностей кріптограми довжиной n,
- об’єм численності усіх можливих послідовностей довжини n,
Å - додавання по модулю 2 (mod2).
Будемо далі, як правило, розглядати шифрування-дешифрування так званих діскретних повідомлень, які можуть бути представлені сигналами, які мають кінцеве число станів. Це дані, печатні тексти, а також речові сигнали та зображення, якщо вони попередньо перетворені у діскретні (цифрові) сигнали. У випадку аналогового сигнала (як правило) використовують інші методи, які будуть розглядатися далі.
Математичною моделлю системи шифрування-дешифрування називають пару функцій
(2.1)
які перетворюють повідомлення
у кріптограму
за допомогою ключа шифрування
та навпаки, кріптограму
у повідомлення
за допомогою ключа дешифрування
. Обидві функції, які задають кріптосистему, повинні задовольнити таким вимогам:
1. функція f(,) та g(,)при відомих аргементах розраховуються просто.
2. функція g(
,?) при невідомому ключі
розраховується складно.
Передбачається, що ключ дешифрування
невідомий нелегальним користувачам, хоч вони і можуть знати функції f(,) та g(,), а також ключ шифрування
. (Остання умова складає так званий принцип Казиски).
Слід розрізняти три основних вида нападу (атаки) опонентів на кріптограму:
1. Напад при відомій кріптограмі
.
2. Напад при відомій частині кріптограми
та повідомлення
, яка відповідає певній частині криптограми, яку отримали при використанні того ж самого ключа (атака при частково відомому відкритому повідомлені).
3. Напад при відомій криптограмі та спеціально вибраній частині повідомлення, яка відповідає цій частині кріптограми, яку отримали на тому ж ключі (атака з частково вибраними відкритими повідомленнями).
Сучасні кріптосистеми важаються стійкими, якщо вони стійки до всіх трьох атак.
Для кріптосистем, які шифрують повідомлення з невисокими вимогами до ймовірності помилки при передачі (цифрова реч, цифрове зображення), необхідно дати четверту, додаткову вимогу.
4. Дешифрування після передачі кріптограми по каналам зі спотвореннями не повинно збільшувати число помилок у порівнянні з тим числом помилок, які виникли у каналі зв’язку внаслідок спотворень, іншими словами не повинно відбуватися розмноження помилок.
Пояснемо суть поняття розмноження помилок. Нехай при передачі кріптограми
по каналу зв’язку виникли помилки (див. мал. 2.1).
,t
![](http://ok-t.ru/life-prog/baza1/1559895904814.files/image058.jpg)
![](http://ok-t.ru/life-prog/baza1/1559895904814.files/image032.gif)
Мал. 2.1. Система шифрування-дешифрування
Місцезнаходження та величина помилок виначаються вектором помилок
. При двоїчній системі передачі прийнята криптограма буде мати вигляд
, де знак Å означає побітне додавання по модуля два, а загальне число помилок t дорвінює нормі векторів помилок
, тобто t=
. Число помилок t’ у розшифрованому повідомлені
підраховується як
(2.2)
Помилки не розмножуються при умові, що t’=t.
Якщо ключ шифрування дорівнює ключу дешифрування, тобто
=
=
, (2.3)
то система називається сіметрічною (одноключовою). Тоді у пункти шифрування та дешифрування повинні бути доставлені однакові ключі. Якщо
¹
, то система шифрування називається несіметрічною (двоключовою). У цьому випадку ключ
доставляється у пункт шифрування, а
- у пункт дешифрування. Оба ключа повинні бути зв’язані функціональною залежністю
=j(
), але такою, щоб відомому ключу шифрування неможливо було б відтворити ключ дешифрування. Для несіметрічних систем шифрування j() повинна бути складно розрахуємою функцією. У такій системі є можливість секретним чином розподіляти серед законних користувачів тільки їх ключі дешифрування, а ключі шифрування зробити відкритими та оприлюднити, наприклад у загальнодоступному довіднику. Розглядаєма система тому називається системою з відкритим (загальнодоступним) ключом
. Кріптосистема з загальнодоступним ключом (Public key criptosystem) була вперше запропанована Діффі та Хелманом у 1978р.
У цій частині курсу будуть розглядатися тільки одноключові системи.