Введення в режими блокових шифрів

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

Блокуйте шифрові режими роботи

У блочному шифрі є 5 режимів роботи.

1. Режим ЄЦБ

  • Режим ECB означає режим електронного блоку коду. Це один з найпростіших режимів роботи. У цьому режимі звичайний текст поділяється на блок, де кожен блок має 64 біти. Потім кожен блок шифрується окремо. Той самий ключ використовується для шифрування всіх блоків. Кожен блок шифрується за допомогою ключа і робить блок шифротексту.
  • На стороні приймача дані поділяються на блок, кожен з 64 біт. Той самий ключ, який використовується для шифрування, використовується для дешифрування. Він займає 64-розрядний шифротекст і за допомогою ключа перетворює шифротекст у звичайний текст.
  • Оскільки той самий ключ використовується для шифрування всіх блоків, якщо блок простого тексту повторюється у вихідному повідомленні, то відповідний блок шифротексту також повториться. Оскільки той самий ключ, який використовується для блоку tor all, для уникнення повторення блоку в режимі ECB використовується для лише невеликого повідомлення, де повторення простого текстового блоку менше.

2. Режим CBC

  • Режим CBC означає режим Cipher block Mode на стороні відправника, звичайний текст розділений на блоки. У цьому режимі використовується IV (Вектор ініціалізації), який може бути випадковим блоком тексту. IV використовується для того, щоб зробити шифротекст кожного блоку унікальним.
  • Перший блок простого тексту та IV об'єднують за допомогою операції XOR, а потім шифрують отримане повідомлення за допомогою ключа та формують перший блок шифротексту. перший блок шифротексту використовується як IV для другого блоку простого тексту. така ж процедура буде дотримана для всіх блоків простого тексту.
  • На стороні приймача шифротекст розділений на блоки. Перший блок шифротексту розшифровується за допомогою того ж ключа, який використовується для шифрування. Розшифрований результат буде XOR з IV і утворюватиме перший блок простого тексту. Другий блок шифротексту також розшифровується за допомогою того ж ключа, і результатом дешифрування буде XOR з першим блоком шифротексту і утворюватиме другий блок простого тексту. Ця ж процедура використовується для всіх блоків.
  • Режим CBC гарантує, що якщо блок простого тексту повториться у вихідному повідомленні, він створить різний шифротекст для відповідних блоків.
    Зауважте, що ключ, який використовується в режимі CBC, той самий, лише IV є іншим, який ініціалізується на початковій точці.

3. Режим CFB

  • Режим CFB означає режим Cipher Feedback Mode. У цьому режимі дані шифруються у вигляді одиниць, де кожна одиниця має 8 біт.
  • Як і режим ланцюгового блоку шифрів, ініціалізується IV. IV зберігається в регістрі змін. Він шифрується за допомогою ключа і утворює шифротекст.
  • Тепер найбільш ліві j біти зашифрованого IV - це XOR з першими j бітами простого тексту. цей процес буде формувати першу частину шифротексту, і цей шифротекст буде переданий приймачу.
  • Тепер біти IV зміщені вліво на j біт. для цього найправіший j-позиція регістра зсуву тепер має непередбачувані дані. ці найправіші j-позиції тепер подаються з шифротекстом. процес повториться для всіх простих текстових одиниць.

4. Режим OFB

  • OFB Mode - режим вихідного зворотного зв'язку. Режим OFB аналогічний режиму CDB, різниця полягає лише в CFB, шифротекст використовується для наступної стадії процесу шифрування, тоді як в OFB вихід IV-шифрування використовується для наступного етапу процесу шифрування.
  • IV шифрується за допомогою ключа, а форма зашифрована IV. Звичайний текст і ліві 8 біт зашифрованого IV поєднуються за допомогою XOR і створюють шифротекст.
  • Для наступного етапу шифротекст, який формується на попередній стадії, використовується як IV для наступної ітерації. однакова процедура дотримується для всіх блоків.

5. Режим CTR

  • Режим CTR означає режим лічильника. Оскільки ім'я є лічильником, воно використовує послідовність чисел як вхід для алгоритму. коли блок зашифрований, для заповнення наступного регістра використовується наступне лічильне значення.
    Примітка: значення лічильника збільшується на 1.
  • Для шифрування перший лічильник шифрується за допомогою ключа, а потім простим текстом є XOR із зашифрованим результатом для формування шифротексту.
  • Для наступного етапу лічильник збільшуватиметься на 1, та ж процедура буде дотримуватися всіх блоків. Для дешифрування буде використана та сама послідовність. Тут для перетворення шифротексту у звичайний текст кожен шифротекст є XOR із зашифрованим лічильником. На наступному етапі лічильник буде нарощений тим самим і повториться для всіх блоків Ciphertext.

Рекомендовані статті

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

  1. Види шифру
  2. Симетричні алгоритми
  3. Методи криптографії
  4. Алгоритм шифрування