1. Симметричне Шифрування
AES (Advanced Encryption Standard): блочний шифр Rijндайла, блоки по 128 біт, ключі з довжиною 128/192/256 біт. SubBytes (S-box), ShiftRows, MixColumns, AddRoundKey — 10/12/14 раундів. Режими: CBC (ланцюговий, потріб IV), CTR (лічильник, паралелізація), GCM (аутентифіковане шифрування, AEAD). ChaCha20-Poly1305: потоковий шифр + MAC, використовується в TLS 1.3, швидший на платформах без AES-NI. Рівні безпеки: AES-128 ≈ рівень безпеки 128 біт, AES-256 ≈ рівень безпеки 256 біт. Атаки з використанням бокового каналу: часові атаки, аналіз потужності, атаки на кеш — пом’якшуються за допомогою реалізацій постійної тривалості та апаратних інструкцій AES-NI. Управління ключами: HKDF для деривації, генерація випадкових чисел з високою безпекою (CSPRNG), політики ротації ключів.
2. Асиметричне Шифрування
RSA: розв’язування задачі з розкладання на прості множники, n = p·q (великі прості числа). Шифрування: c = m^e mod n, Дешифрування: m = c^d mod n, де d ≡ 1 (mod φ(n)). Розміри ключів: мінімум 2048 біт (NIST), рекомендовано 4096 біт. OAEP заповнення (не PKCS#1 v1.5 через атаку Bleichenbacher). Еліптичне Криптографічне Шифрування (ЕКШ): точки на y² = x³ + ax + b у конечному поле. ECDLP (Задача про дискретний логарифм по еліптичній кривій). Curve25519: x² = x³ + 486662x² + x над F_p, p = 2²⁵⁵-19. ЕДСА для підписів, ЕДХ для обміну ключами. 256-бітне ЕКШ ≈ безпека 3072-бітного RSA. EdDSA (Ed25519): детерміновані підписи, швидке перевірка. X25519: обмін ключами ЕДХ, що використовується в TLS 1.3, Signal Protocol.
3. Hash Функції та MAC
SHA-256: Конструкція Меркла-Дамгарда, вихід 256 біт, 64 раунди. SHA-3 (Keccak): конструкція «випоті», r=1088/c=512 для SHA3-256. BLAKE2/BLAKE3: швидші за SHA-3, широко використовуються на практиці. Властивості: стійкість до атаки Дженніфер (задано h, знайти m), стійкість до другої підробки, стійкість до зіткнень. Атака Дженніфер: O(2^{n/2}) для хешу n-біт. Хешування паролів: bcrypt (коефіцієнт вартості), scrypt (пам'ять-орієнтований), Argon2id (переможець PHC, пам’ять + час важкий). HMAC: захешоване повідомлення для автентифікації, HMAC-SHA256. HKDF: видобуток та розширення ключа. Дерева Меркла: ланцюги хешів для цілісності даних (блокчейн, прозорість сертифікатів).
4. TLS та Протокольна Безпека
TLS 1.3 (RFC 8446): 1-RTT рукоздавання, 0-RTT відновлення. Набори шифрів: TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256. Обмін ключами: X25519 або P-256 ECDHE лише (статичний RSA/DH вилучено). Забезпечення прохідності: ефемеритні ключі забезпечують безпеку попередніх сесій, якщо довгостроковий ключ скомпрометовано. Прозорість сертифікатів: публічні журнали всіх сертифікатів. Прикріплення OCSP: ефективна перевірка анулювання. HSTS: змушує використовувати HTTPS, список префіксів. Фіксація сертифікатів: застаріла через операційний ризик. PKI: сертифікати X.509, ієрархія CA, Let's Encrypt (безкоштовні автоматизовані сертифікати, понад 300 мільйонів активних). Протокол ACME для автоматичного управління сертифікатами.
5. Постквантова криптографія
Загроза квантового рівня: алгоритм Шора розкладає цілі в поліномночасному режимі → порушує RSA, ECC. Алгоритм Грувера: пошук O(√N) → подвоює вимоги до довжини ключа симетричного шифрування (AES-256 залишається безпечним). Стандартизація NIST PQC (2024): ML-KEM (Kyber, ключове заповнення на основі Module-LWE, латтесний метод), ML-DSA (Dilithium, підписи на основі латтесного методу), SLH-DSA (SPHINCS+, підписи на основі хешування без стану), FN-DSA (Falcon, латтесний метод, компактні підписи). Гібридні підходи: поєднують класичний + постквантову криптографію (наприклад, X25519 + ML-KEM-768 у Chrome/Firefox). Графік міграції: NIST рекомендує перехід до 2035 року. «Збирай зараз, розшифруй пізніше»: зловмисники можуть зберігати зашифрований трафік для майбутнього квантового розшифрування — терміновість впровадження постквантової криптографії у чутликому зв’язку.
Спробуйте онлайн
Все вище працює у вашому браузері – відкрийте Public-Key Exchange Network і змініть параметри під час роботи. Не встановлюється нічого, не завантажується нічого, весь модель живе в одному вікні.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Public-Key Exchange Network і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Public-Key Exchange Network