Криптография — наука о защите информации математическими методами, обеспечивающая её конфиденциальность, целостность и подлинность даже при хранении или передаче по недоверенным каналам.
Как работает криптография
Современная криптография строится из нескольких базовых примитивов:
- Симметричное шифрование — один и тот же секретный ключ шифрует и расшифровывает данные; стандарты — AES (FIPS 197) и ChaCha20.
- Криптография с открытым ключом — пара из открытого и закрытого ключей для обмена ключами и цифровых подписей (RSA, эллиптические кривые).
- Хеш-функции — односторонние «отпечатки» данных, например SHA-256, для проверки целостности и хранения паролей.
- Коды аутентификации сообщений и генераторы случайных чисел — подтверждают, что данные пришли от владельца ключа, и создают непредсказуемые ключи.
Протоколы комбинируют эти примитивы: TLS защищает сайты, Signal — переписку, шифрование дисков — потерянные ноутбуки. Согласно принципу Керкгоффса, хорошие алгоритмы публичны, а секретен только ключ.
Почему криптография важна
На криптографии держатся онлайн-банкинг, обновления ПО, VPN, пароли и криптовалюты. Большинство реальных провалов связано не со взломом математики, а с ошибками реализации и применения:
- Heartbleed (2014) — ошибка в OpenSSL приводила к утечке памяти сервера, включая закрытые ключи;
- изменение в Debian в 2008 году испортило генератор случайных чисел OpenSSL, и ключи стали предсказуемыми;
- устаревшие алгоритмы — MD5, SHA-1, DES и RC4 — остаются в унаследованных системах (CWE-327).
Квантовые компьютеры угрожают нынешним алгоритмам с открытым ключом, поэтому в 2024 году NIST опубликовал первые стандарты постквантовой криптографии (FIPS 203–205).
Рекомендации
- Никогда не изобретать собственные алгоритмы; использовать проверенные библиотеки и стандартные протоколы.
- Отказываться от устаревших алгоритмов и закладывать криптографическую гибкость (crypto-agility).
- Защищать ключи так же тщательно, как и данные, которые они охраняют.