Шифрование — математическое преобразование данных так, что без ключа расшифровки они выглядят случайным шумом. Те же данные можно преобразовать обратно (расшифровать) тому, у кого есть ключ.
Что делает
Если шифруешь сообщение перед отправкой, любой перехвативший увидит непонятность. Только получатель с подходящим ключом может вернуть из непонятности оригинал.
Так работает почти каждая безопасная система в интернете. HTTPS шифрует трафик к сайтам. Мессенджеры типа Signal и WhatsApp шифруют сообщения. Менеджеры паролей шифруют хранимые пароли. ВПН шифруют сетевой трафик.
Симметричное vs асимметричное
Симметричное: тот же ключ шифрует и расшифровывает. Быстро. Примеры: AES-256, ChaCha20. Проблема — надо безопасно поделиться ключом с получателем сначала.
Асимметричное: пара ключей — public, которым любой может зашифровать тебе, и private, который только у тебя для расшифровки. Медленнее, но решает проблему обмена ключами. Примеры: RSA, ECDSA, X25519.
Современные системы юзают оба: асимметричное чтобы безопасно поделиться симметричным ключом, потом симметричное для самих данных (быстрее).
Почему "256-бит" важно
Цифра — размер ключа. 128-бит ключ имеет 2^128 значений; 256-бит — 2^256. Оба — невообразимо большие числа, далеко за пределами того, что любой компьютер, существующий или теоретически возможный, может brute-force.
256-бит — практический максимум в mainstream криптографии. AES-128 и AES-256 оба сегодня неломаемы; 256 просто больше запас против будущих криптоаналитических продвижений.
Чего шифрование не делает
Защищает данные в транзите и at rest. Не защищает от:
- Скомпрометированных endpoints (если устройство или цель хакнуты, атакующий видит данные до/после шифрования).
- Украденных ключей (если кто-то получит твой private ключ — расшифрует всё что зашифровано тебе).
- Утечки метаданных (шифрование скрывает содержимое, но не обязательно факт коммуникации).
- Багов имплементации (кривая крипто-библиотека может сливать данные несмотря на сильные алгоритмы).