🔐 Шифрование и хэширование: Защита данных изнутри

💡 Представьте: шифрование — это сейф с секретным кодом, а хэширование — уникальный отпечаток пальца для данных. Оба защищают информацию, но совершенно разными способами.

🔒 Шифрование: Искусство тайнописи

Основные принципы:

ТипКак работаетПримеры
СимметричноеОдин ключ для шифрования и дешифровкиAES-256, DES
АсимметричноеПара ключей: публичный и приватныйRSA, ECC

🔑 Пример RSA-шифрования:



Публичный ключ:
(n=3233, e=17)

Приватный ключ:
(n=3233, d=2753)

Шифрование:
Сообщение "65" → 65¹⁷ mod 3233 = 2790

Дешифровка:
2790²⁷⁵³ mod 3233 = 65

🖨️ Хэширование: Цифровые отпечатки

Свойства идеального хэша:

  • Детерминированность: одинаковый вход → одинаковый выход
  • Необратимость: нельзя получить исходные данные
  • Устойчивость к коллизиям: разный вход → разный выход

Примеры хэшей SHA-256:

"hello" → 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e730...
"hello1" → 91e9240f415223982edc345532630710e94a7c52a48c42a5b5...

🔹 Изменение одного символа полностью меняет хэш

🆚 Ключевые различия

ПараметрШифрованиеХэширование
ОбратимостьДа (с ключом)Нет
ИспользованиеПередача секретных данныхПроверка целостности
ПримерыSSL/TLS, PGPХранение паролей, блокчейн

🔧 Где применяются?

Шифрование в действии:

  • HTTPS-соединения (SSL/TLS)
  • Шифрование дисков (BitLocker)
  • Мессенджеры (Signal, WhatsApp)

Хэширование в работе:

  • Хранение паролей в БД
  • Цифровые подписи документов
  • Проверка целостности файлов

⚠️ Опасные ошибки

  • Использование MD5/SHA-1 для важных данных
  • Хранение ключей шифрования вместе с данными
  • Отсутствие "соли" для хэшей паролей

🚀 Современные стандарты

  • Шифрование: AES-256, ChaCha20
  • Хэширование: SHA-256, bcrypt
  • Ключевой обмен: ECDH, X25519

🔗 Ресурсы: OWASP Cryptographic Cheat Sheet, NIST Special Publication 800-175B