русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Модифіковані алгоритми блокового шифрування


Дата додавання: 2013-12-23; переглядів: 1758.


1.3.1 Необхідність у модифікації блокового

Шифрування

 

При формуванні криптограми з повідомлення той самий алгоритм шифрування може бути використаний у різноманітних модифікаціях. Дотепер розглядалося застосування блокового шифрування у вигляді кодової книги. Для роботи з електронною кодовою книгою повідомлення розбивається на блоки однакової довжини, що відповідає алгоритму шифрування, і кожний блок незалежно від інших перетвориться в блок криптограми. Дана модифікація має суттєві недоліки:

Протягом усього часу дії ключа ті самі блоки повідомлення завжди перетвориться в ті самі блоки криптограми. Це може бути використано опонентом для одержання деякої інформації про повідомлення навіть при відсутності знання ключа. Так, знайшовши вигляд криптограми для деякого повідомлення один разом, можна, зустрівши цю же криптограму в інший раз, безпомилково стверджувати без знання ключа, що передавалося те ж саме повідомлення .

Дана модифікація припускає підміну зашифрованого повідомлення на якесь інше, тобто нав'язування зловмисником без знання ключа помилкового повідомлення, причому факт підміни може бути не виявлений після дешифрування.

Як приклад розглянемо напад із вставкою на повідомлення про грошовий переказ. Саме повідомлення, що складається з окремих фрагментів, може виглядати так, як це показано в першому рядку таблиці.

Таблиця 3.2

Час відправлення Ім'я банку відправника Ім'я банку одержувача Ім'я вкладника Номер рахунку Розмір внеску
  6 байт 12 байт 12 байт 48 байт 16 байт 8 байт
        Цю частину повідомлення можна замінити в чужому переводі, і це не буде замічено при дешифруванні  

В другому рядку таблиці зазначене місце розташування і розміри блоків, відведених під окремі фрагменти.

Суть нападу з вставкою нескладна. Зловмисник спочатку переводить деяку суму на свій рахунок, що дозволяє йому одержати криптограму свого імені і свого рахунку, а потім заміняє криптограму імені і рахунки будь-якого вкладника на свої.

Для усунення зазначених хиб використовують модифіковані алгоритми (моди) блокового шифрування.

 

3.3.2. Модифікація з зачепленням блоків

 

Схема шифрування і дешифрування для цієї моди дана на мал.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.3.3. Модифікація зі зворотнім зв'язком по криптограмі

 

Схема шифрування і дешифрування для цієї моди дана на мал. 3.9.

 

Мал. 3.9. Шифрування зі зворотнім зв'язком по криптограмі.

 

Розглянуті дві попередні моди потребували для дешифрування точного знання меж блоків. У даному випадку необхідності в цьому немає, оскільки на відміну від попередніх мод шифрування проводиться побітно (побайтно або будь-якими іншими порціями) і немає необхідності чекати приходу всього блоку повідомлення (наприклад, для системи DES така довжина складає 64 біта) для того, щоб формувати символи криптограми. У попередніх модифікаціях блокового шифрування видача криптограми здійснювалася тільки при закінченні надходження всього блока повідомлення на шифратор.

Шифрування зі зворотнім зв'язком по криптограмі має властивість самосинхронізації. Це означає, що якщо на приймальній стороні загублені межі блоків, то вони автоматично відновляються після відновлення регістра зсуву не більш, ніж через n тактів, де n - довжина блока. Більш того, якщо приймальна сторона виключена на якийсь час або включається пізніше початку передачі, то через деякий проміжок часу, що відповідає проходженню символу через регістр зсуву, синхронізація автоматично відновляється і починається правильне дешифрування. Дана особливість аналізованої моди є особливо зручною при роботі в комп'ютерних мережах.

Помилка, що виникнула в криптограмі, розмножується в процесі дешифрування при проходженні по регістрі зсуву, але після того, як вона пройде по всім осередках пам'яті і вийде з регістра зсуву, розмноження помилки припиниться.

 

3.3.4. Модифікація зі зворотнім зв'язком по гамі

 

Мал. 3. 10. Шифрування зі зворотнім зв'язком по гамі.

Схема шифрування і дешифрування для цієї моди дана на мал. 3. 3. 10. Вона схожа на попередню.

При використанні даної моди шифрування, розмноження помилок цілком відсутнє. Тому дану моду доцільно застосовувати в тому випадку, коли при передачі не проводиться контроль помилок, тобто при шифруванні повідомлень із низькими вимогами по достовірності (оцифрована промова, фототелеграф, кодовий телеграф, цифрові теле зображення.)

Для правильного дешифрування в розглянутій модифікації необхідна синхронізація між гамами на передаючій та приймальній стороні з точністю до біта, інакше дешифрування навіть при цілком відомому ключі виявляється неможливим. Звичайно застосовується спеціальна система синхронізації.

При використанні даної моди шифрування на основі блокового шифру, по суті, утвориться потоковий шифр і, як при використанні будь-якого потокового шифру, необхідно виключити шифрування різних повідомлень однією і тією ж гамою g. У противному випадку можливо дешифрування цих повідомлень у реального часу без знання ключа.

Дійсно, нехай є різні криптограми і , у яких різні повідомлення і засекречені однією і тією ж , тоді4

, . (3.14)

Для дешифрування без знання ключа опонент робить підсумовування криптограм по модулю два

(3.15)

і одержує перше повідомлення, зашифроване другим повідомленням як різновидом гами. Відбувається засекречування одного повідомлення іншим. Це шифр Віженера, що може бути розшифрований в реальному часі.

Щоб виключити можливість розглянутої атаки , необхідно на кожному новому сеансі зв'язку, при кожному новому запуску, якщо не змінився ключ, змінювати початкове заповнення IV регістра зсуву, передаючи це заповнення на приймальну сторону. Зміни чинять детермінованим або випадковим способом, але так, щоб можливість їхнього збігу при різноманітних пусках була б достатньо малою.

Мода зі зворотнім зв'язком по гамі ( може бути використана, як відзначалося раніше, для систем передачі з низькими вимогами по достовірності (промова, фототелеграф, зображення, значеннєвий текст).

Як уже відзначалося, розглянута мода шифрування є ніщо інше, як одна з версій потокового шифру. Дана версія створена на основі використання блокового шифру. Можливі й інші версії побудови потокових шифрів.

 


<== попередня лекція | наступна лекція ==>
Найбільше відомих блокових шифрів. | Потокові шифри


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн