Криптографія — наука про захист інформації математичними методами, що забезпечує її конфіденційність, цілісність і справжність навіть під час зберігання чи передавання недовіреними каналами.
Як працює криптографія
Сучасна криптографія будується з кількох базових примітивів:
- Симетричне шифрування — той самий секретний ключ шифрує й розшифровує дані; стандарти — 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).
- Захищати ключі так само ретельно, як і дані, які вони оберігають.