Хешування

Хешування — це процес перетворення будь-яких даних (наприклад, тексту, паролів, файлів) в унікальний набір символів фіксованої довжини за допомогою спеціальної математичної функції, яку називають хеш-функцією.
Як це приблизно працює?1. Ви подаєте на вхід дані будь-якої довжини.
2. Хеш-функція обробляє ці дані і видає унікальний код (хеш), який має фіксовану довжину.
3. Навіть якщо змінити вхідні дані на один символ, хеш зміниться кардинально.
4. Зворотне відновлення вихідних даних із хешу зазвичай неможливе.

Сфери використання

  • Збереження паролів – замість збереження паролів у відкритому вигляді, системи зберігають лише їх хеші.
  • Перевірка цілісності файлів – наприклад, коли ви завантажуєте файл і перевіряєте його контрольну суму (SHA-256).
  • Швидкий пошук даних – у базах даних або структурах типу хеш-таблиць.

SHA-256

SHA-256 — це криптографічна хеш-функція, яка приймає на вхід довільні дані і повертає хеш (контрольну суму) фіксованої довжини — 256 біт.
Основні властивості SHA-256Фіксована довжина – незалежно від розміру вхідних даних, вихід завжди 256 біт.
Односторонність – неможливо відновити вихідні дані за хешем.
Ефект лавини – навіть невелика зміна вхідних даних повністю змінює хеш.
Стійкість до колізій – дуже складно знайти два різні входи, які дають однаковий хеш.
Як приблизно працює SHA-256?1. Розбиття даних на блоки по 512 біт – якщо дані менші, додається спеціальне доповнення (padding).
2. Ініціалізація внутрішніх змінних – використовується вісім 32-бітних початкових значень, визначених у стандарті.
3. Основний цикл (64 раунди обчислень) – виконується серія логічних операцій (зсуви, додавання, побітові операції) з використанням 64 унікальних констант.
4. Фінальне хешування – вихідні значення змішуються та формують 256-бітний підсумковий хеш.
Приклад SHA-256
Вхід: “hello”
SHA-256 хеш: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Вхід: “Hello” (відрізняється лише однією великою літерою)
SHA-256 хеш: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

Дуже короткий огляд хеш-функцій

Сімейство SHASHA-1 (160-бітний хеш, вважається застарілим через вразливість до колізій).
SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) — сучасний стандарт.
SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) — нове покоління, засноване на алгоритмі Keccak.
Інші хеш-функціїMD5 (128-бітний, швидка, але небезпечниа для криптографії).
RIPEMD-160 (схожа на SHA-1, але більш стійка).
BLAKE2, BLAKE3 (швидші за SHA-256, використовується в криптовалюті).
Whirlpool (512-бітний, використовується в деяких криптографічних системах).

Хешування vs Шифрування

ХарактеристикаШифруванняХешування
ПризначенняЗахист інформації від сторонніхГенерація відбитка для перевірки даних
ПроцесДані перетворюються у зашифрований текст.Дані перетворюються у фіксований рядок за допомогою хеш-функції
ЗворотністьЗворотний процес можливий—дані можна розшифрувати за допомогою правильного ключа.Неможливо відновити оригінальні дані за отриманим хешем.
ЗастосуванняЗахист файлів, передача даних у мережах (HTTPS, VPN), шифрування жорстких дисків.Перевірка цілісності файлів, зберігання паролів, цифрові підписи.

Шифрування і хешування – це два різні методи обробки даних у сфері кібербезпеки.

Якщо потрібно приховати дані та згодом їх розшифрувати – використовуйте шифрування.

Якщо потрібно створити унікальний відбиток даних – використовуйте хешування.

В цьому відео поговоримо про:
00:00 Хешування
02:42 Сфери використання
03:15 SHA-256
08:46 Дуже короткий огляд хеш-функцій
11:37 Хешування vs Шифрування

Leave a Reply

Your email address will not be published. Required fields are marked *