Шифрование простыми словами
Два разных механизма решают две разные задачи. Понимание разницы объясняет, почему HTTPS работает без паролей и почему сквозное шифрование устроено сложнее.
Шифрование — это преобразование данных в вид, который нельзя прочитать без ключа. Есть два подхода, и они дополняют друг друга.
Симметричное: один ключ
Один и тот же ключ и шифрует, и расшифровывает. Как замок, к которому есть одинаковые ключи у двоих.
Быстро и надёжно. Проблема одна и большая: как передать ключ собеседнику, если канал связи небезопасен? Отправить ключ по тому же каналу — значит отдать его тому, от кого защищаетесь.
Асимметричное: пара ключей
У каждого участника два связанных ключа. Открытый ключ можно раздавать всем — им только шифруют. Закрытый остаётся у владельца и только им расшифровывают.
Это как почтовый ящик с прорезью: бросить письмо может любой, достать — только владелец ключа.
Задача передачи ключа решена: открытый ключ не секрет. Но вычисления тяжёлые, для больших объёмов не годится.
Как их совмещают
Практически везде используется комбинация. Асимметричным шифрованием договариваются об одноразовом симметричном ключе, а дальше весь обмен идёт быстрым симметричным.
Именно так работает HTTPS: при установлении соединения браузер и сервер договариваются о сеансовом ключе, а затем шифруют им весь обмен.
Подпись — та же математика наоборот
Если зашифровать закрытым ключом, расшифровать сможет любой обладатель открытого. Читать это бессмысленно — зато доказывает, что сообщение создано владельцем закрытого ключа.
На этом работают электронные подписи и сертификаты сайтов.
Где с этим сталкиваетесь
- HTTPS — при каждом открытии сайта.
- Сквозное шифрование в мессенджерах.
- Шифрование диска телефона и компьютера.
- Менеджер паролей — хранилище зашифровано ключом из мастер-пароля.
- Ключи безопасности для входа в аккаунты.
Главное практическое следствие
Надёжность шифрования почти никогда не ограничена математикой. Она ограничена ключом. Длинный уникальный пароль даёт сильную защиту, короткий — слабую, при одном и том же алгоритме.
Поэтому разговоры о том, какой алгоритм лучше, для обычного человека менее важны, чем вопрос, какой у него пароль.