При використанні моди у виді кодової книги одиночні помилки в криптограмі будуть розмножуватися тільки в межах того блока криптограми, де ця помилка розташовувалася. На інші блоки дешифрованого повідомлення дана помилка впливати не буде.
При використанні моди з зачепленням блоків формули дешифрування, у яких бере участь блок криптограми 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.