Вступ до симетричних алгоритмів

Симетричні алгоритми, також відомі як алгоритми секретного ключа, широко використовуються при шифруванні об'ємних даних або потоку даних. Це тип криптографічного алгоритму, який шифрує та розшифровує дані, використовуючи той самий ключ (що робить цей алгоритм симетричним). Він називається секретним ключем, оскільки ключ, який використовується, зберігається в секреті системами, які беруть участь у процесі шифрування та дешифрування. Шифрування, здійснене за допомогою цього алгоритму, нелегко розірвати, якщо особа, яка намагається розшифрувати, не має секретного ключа, їм доведеться використовувати передові методи, щоб його зламати. Ці алгоритми, як правило, дуже швидкі за своєю суттю, і це тим більше, що вони використовуються, коли існує потреба в шифруванні великих обсягів даних. Fig1.a зображує основне симетричне шифрування ключа:

Рисунок1.а Шифрування симетричного ключа

Види симетричних алгоритмів

Широко симетричні алгоритми класифікуються на два

  • Блок
  • Потік

Блоковані алгоритми

Алгоритми блокування шифрують блок даних за блоком (багато байтів). Блок посилається на вказаний набір бітів, і ці біти змінюються / шифруються за допомогою секретного ключа. Існує недолік з алгоритмами блоків, тобто, припустимо, що ми збираємось шифрувати дані мережевого потоку, ці дані зберігаються системою шифрування в компонентах пам'яті. Таке збереження даних здійснюється тоді, коли система насправді чекає повних блоків даних. Цей час очікування може призвести до розриву в безпеці, який може поставити під загрозу безпеку та цілісність даних. Щоб уникнути цієї загрози, ми можемо зменшити блок і об'єднати дані з раніше зашифрованим блоком даних, поки не будуть отримані подальші блоки, просто кажучи, ця методика називається зворотним зв'язком. Цей алгоритм буде шифруватися лише у випадку, якщо буде отримано повний блок.

Алгоритми потоку

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

Крім того, це кілька типів алгоритмів шифрування, з цих кількох перераховані нижче

  • DES & Triple DES
  • RC2
  • Сипуха

DES & Triple DES

DES означає стандарт шифрування даних, який приймає 64-розрядний звичайний текст і шифрується в 64-розрядний шифротекст і дешифрує назад за допомогою 56-бітного ключа. У DES процес шифрування починається з початкової стадії перестановки, де він буде приймати вхідні дані як 64-бітні дані та перестановляти їх заздалегідь визначеним чином. Слідом за початковою перестановкою слід зазначити, що 16 шифрів фейстелю (шифр Фейстеля приймає вхід і ділить його на дві частини і робить шифрування лише на одній частині), де кожен раунд буде використовувати різні 48-бітовий ключ шифру. Для шифрування та розшифровки він використовує шифр і обертає алгоритм шифрування. Нарешті, дані проходять остаточну стадію перестановки, щоб отримати шифротекст. Подібно до DES Triple DES - це не що інше, як шифр DES, повторюваний 3 рази. Фиг.22а показує загальну архітектуру алгоритму DES.

Загальна архітектура алгоритму DES

RC2

Це алгоритм блочного шифрування, де спочатку дані діляться на розмір блоку в 8 байт і ці блоки обробляються окремо. Цей алгоритм широко застосовувався в 90-х. Шифр Rc2 використовує секретний користувацький ключ, розмір якого може варіюватися від одного байта до 128 байт. Він бере цей секретний ключ користувача та використовує алгоритм розширення ключа та шифрує дані. Цей алгоритм розроблений таким чином, щоб його можна було легко реалізувати в 16-бітових мікропроцесорах. Тут немає жодних раундів Feistel, натомість дані проходять 18 раундів змішування та розмелювання. Фіг.22.b показує загальну архітектуру алгоритму RC2.

Загальна архітектура алгоритму RC2

Сипуха

Це асиметричний алгоритм, який замінює DES. Тут використовується розмір блоку - 64 біта, а розмір ключів - від 32 до 448 біт. Шифрування за допомогою мухоловки складається, головним чином, з двох етапів

  • Кругла функція
  • Вихідна операція

Кругла функція виконує наступні дії

  1. Ключове відбілювання, де береться ліва частина вхідних даних та виконується ексклюзивна операція АБО.
  2. На другому кроці він використовує S-бокси, ці S-бокси відображають 8-бітові дані в 32-бітові, а вихід береться для поєднання з комбінацією операцій додавання та XOR
  3. Вищеописані два етапи, разом поєднані як F-функція. З виведенням функції F і правою стороною вхідних даних виконується операція XOR.
  4. Заключний крок включає заміну результатів.

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

Застосування симетричних алгоритмів

Деякі місця, де використовується алгоритм симетричного шифрування, є

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

Висновок - Симетричні алгоритми

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

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

Це посібник із симетричних алгоритмів. Тут ми обговорюємо Вступ та типи симетричних алгоритмів разом із DES & Triple DES. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке WebSocket?
  2. Безпека веб-додатків
  3. Кар'єра в веб-розробці
  4. Кар'єра в веб-дизайні
  5. Блокувати шифрові режими роботи
  6. Приклади алгоритму С ++