Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Захищені системи Лекції.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
38.58 Кб
Скачать

19.02.13 Лекція 6

Режими шифрування (стосовно блочних алгоритмів).

Використовуються для забезпечення необхідних властивостей блочних крипто алгоритмів, наприклад: випадковість, можливість вирівнювання вхідних повідомлень до довільного розміру, контроль за розповсюдженням помилок і т.д.

Існує 5 загальноприйнятих режимів шифрування:

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

  2. CBCcipher block chaining (зчеплення блоків/конкатенація).

Шифрування в режимі CBC:

Введення: iv, P1,...,Pm – сегменти вхідного повідомлення (відкритого тексту);

Вивід: IV, C1,…,Cm

C0 <- IV

Ci <- E(Pi XOR Ci-1), i=1,…,m

Розшифровування:

Введення: IV, C1,...,Cm

Вивід: IV, P1,..Pm

C0 <-IV

Pi <-D(Ci) XOR Ci-1

Вектор ініціалізації (синхропосылка) – представляє собою випадковий n бітовий блок. В кожному сеансі шифрування повинен застосовуватись новий випадковий вектор ініціалізації. Говорять що блок C1 рандомізується за допомогою вектора ініціалізації. Вектор ініціалізації служить для конкатенації першого блоку. В результаті шифрування режимом СВС отримуємо N+1 блоків, перший з яких є вектором ініціалізації.

  1. OFBoutput feedback. Тут також застосовується вектор ініціалізації. Цей режим передбачає повернення послідовних результуючих блоків на вхід застосовуваного блочного алгоритму шифрування. Ці блоки (які повертаються на вхід) утворюють строку бітів, яка використовується як руховий ключ (бегущий ключ) – ключ шифра Вернама. До цього рухомого ключа і блоків вихідного повідомлення застосовується операція XOR. В режимі OFB вектор ініціалізації є N-бітовим вхідних блоком.

  2. CFBcipher feedback. Передбачає повернення послідовних сегментів результуючого зашифрованого тексту на вхід застосовуваного алгоритму шифрування . При шифруванні і розшифруванні одного і того самого блоку використовується одна і та сама функція шифрування. В якості такої функції можна використовувати будь яке одностороннє перетворення (легко обчислити Y(x) але не X(y)), наприклад односторонню хешфункцію. Цей режим використовує також вектор ініціалізації. Сегмент шифрованого тексту залежить від вектору ініціалізації і всіх попередніх зашифрованих сегментів.

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