ГоловнаСтаттіComputer Science

Криптографія

Криптографія - це наука про захист інформації шляхом перетворення її в форму, яка незрозуміла для несанкціонованих осіб. Вона включає методи шифрування, хешування, цифрових підписів та інші техніки забезпечення безпеки даних в цифровому світі.

mysimulator teamОновлено — липень 2026≈ 3 хв читання▶ Відкрити симуляцію

🎯 Вступ до криптографії

Криптографія - це наука про захист інформації шляхом перетворення її в форму, яка незрозуміла для несанкціонованих осіб. Вона включає методи шифрування, хешування, цифрових підписів та інші техніки забезпечення безпеки даних в цифровому світі.

🔑 Основні принципи:

Конфіденційність: Захист від несанкціонованого доступу

Цілісність: Захист від несанкціонованих змін

Аутентифікація: Підтвердження особи

Неспростовність: Неможливість відмови від дій

🔒 Симетричне шифрування

🔑 Принципи симетричного шифрування

Основна ідея

Один і той же ключ використовується як для шифрування, так і для розшифрування повідомлень.

📊 Типи симетричних алгоритмів

56-бітний ключ, 64-бітні блоки

Статус: Застарілий, небезпечний

Замінений на: 3DES, AES

128/192/256-бітні ключі, 128-бітні блоки

Статус: Стандартний, безпечний

Режими: ECB, CBC, CFB, OFB, CTR

256-бітний ключ, потоковий шифр

Переваги: Швидкий, безпечний

Застосування: TLS, VPN

🔄 Режими роботи блочних шифрів

Кожен блок шифрується незалежно

Проблема: Однакові блоки дають однаковий результат

Кожен блок XOR з попереднім зашифрованим блоком

Переваги: Вирішує проблему ECB

Недолік: Послідовне шифрування

Генерує ключовий потік з лічильника

Переваги: Паралельне шифрування, випадковий доступ

// Процес симетричного шифрування: Повідомлення + Ключ = Зашифроване повідомлення Зашифроване повідомлення + Ключ = Розшифроване повідомлення // Приклад: "Hello" + "secret_key" = "X8k2m" "X8k2m" + "secret_key" = "Hello"

🔓 Асиметричне шифрування

🔑 Принципи асиметричного шифрування

Основна ідея

Використовується пара ключів: відкритий (public) та закритий (private). Повідомлення, зашифроване відкритим ключем, може бути розшифроване тільки закритим ключем.

🧮 RSA (Rivest-Shamir-Adleman)

Генерація ключів RSA

Вибір двох великих простих чисел p та q

Обчислення n = p × q

Обчислення φ(n) = (p-1)(q-1)

Вибір e так, що gcd(e, φ(n)) = 1

Обчислення d так, що e × d ≡ 1 (mod φ(n))

Відкритий ключ: (e, n), Закритий ключ: (d, n)

// Шифрування RSA: c = m^e mod n // Розшифрування RSA: m = c^d mod n // Де: // m - повідомлення // c - зашифроване повідомлення // (e,n) - відкритий ключ // (d,n) - закритий ключ

🔮 Еліптична криптографія (ECC)

Переваги ECC

Менші ключі: 256-бітний ECC ключ ≈ 3072-бітний RSA ключ

Швидкість: Швидше шифрування та розшифрування

Ефективність: Менше обчислень

Застосування: Мобільні пристрої, IoT

// Еліптична крива: y² = x³ + ax + b (mod p) // Приклад кривої (secp256k1): y² = x³ + 7 (mod 2²⁵⁶ - 2³² - 2⁹ - 2⁸ - 2⁷ - 2⁶ - 2⁴ - 1) // Використовується в Bitcoin та Ethereum

// Процес асиметричного шифрування: Повідомлення + Відкритий ключ = Зашифроване повідомлення Зашифроване повідомлення + Закритий ключ = Розшифроване повідомлення // Ключі генеруються парами: (Відкритий ключ, Закритий ключ) = generate_key_pair()

🔐 Хешування

📊 Принципи хешування

Хеш-функція

Функція, що перетворює довільні дані у фіксованої довжини рядок (хеш).

Детермінованість: Однакові дані завжди дають однаковий хеш

Швидкість: Швидке обчислення хешу

Аваланчний ефект: Невелика зміна в даних кардинально змінює хеш

Стійкість до колізій: Важко знайти два різних входи з однаковим хешем

🛡️ Криптографічні хеш-функції

256-бітний хеш, частина сімейства SHA-2

Застосування: Bitcoin, блокчейн

Статус: Безпечний, широко використовується

Нове покоління хеш-функцій (Keccak)

Переваги: Інша математична основа

Статус: Стандарт NIST, безпечний

Швидка та безпечна хеш-функція

Переваги: Паралелізм, швидкість

Застосування: Git, IPFS

🔍 Застосування хешування

Перевірка, чи не були дані пошкоджені

Приклад: MD5/SHA1 суми файлів

Хешування паролів з сіллю (salt)

Алгоритми: bcrypt, scrypt, Argon2

Хешування блоків для створення ланцюга

Приклад: Bitcoin, Ethereum

✍️ Цифрові підписи

🔏 Принципи цифрових підписів

Процес створення цифрового підпису

Хешування повідомлення

Шифрування хешу закритим ключем

Результат - цифровий підпис

Процес перевірки цифрового підпису

Хешування отриманого повідомлення

Розшифрування підпису відкритим ключем

Порівняння двох хешів

🔐 Алгоритми цифрових підписів

RSA з Probabilistic Signature Scheme

Переваги: Стойкість до атак

Elliptic Curve Digital Signature Algorithm

Переваги: Менші ключі, швидкість

Edwards Curve Digital Signature Algorithm

Переваги: Швидкість, безпека

жива демонстрація · пов'язана симуляція● LIVE

🔐 Ключові обміни

🤝 Diffie-Hellman

Процес обміну ключами

Аліса та Боб домовляються про параметри (p, g)

Аліса вибирає секретне число a, Боб - b

Аліса обчислює A = g^a mod p, Боб - B = g^b mod p

Обмін значеннями A та B

Спільний ключ: K = B^a mod p = A^b mod p

🔮 ECDH (Elliptic Curve Diffie-Hellman)

Переваги ECDH

Менші ключі: Еквівалентна безпека з меншими ключами

Швидкість: Швидші обчислення

Ефективність: Менше споживання ресурсів

// Diffie-Hellman Key Exchange: // Параметри: p = 23 // просте число g = 5 // примітивний корінь // Аліса: a = 6 // секретний ключ Аліси A = g^a mod p = 5^6 mod 23 = 8 // Боб: b = 15 // секретний ключ Боба B = g^b mod p = 5^15 mod 23 = 19 // Обмін A=8 та B=19 // Спільний ключ: K = B^a mod p = 19^6 mod 23 = 2 K = A^b mod p = 8^15 mod 23 = 2

🔐 Протоколи безпеки

🌐 TLS/SSL

Етапи TLS рукостискання

Client Hello: Клієнт надсилає підтримувані шифри

Server Hello: Сервер вибирає шифри та надсилає сертифікат

Key Exchange: Обмін ключами (RSA, ECDHE)

Finished: Підтвердження завершення

🔐 IPSec

Компоненти IPSec

AH (Authentication Header): Аутентифікація та цілісність

ESP (Encapsulating Security Payload): Шифрування, аутентифікація

IKE (Internet Key Exchange): Обмін ключами

🛡️ Пост-квантова криптографія

⚛️ Загроза квантових комп'ютерів

Алгоритм Шора

Квантовий алгоритм, що може розв'язати задачу факторизації та дискретного логарифму, що зламає RSA та ECC.

Алгоритм Гровера

Квантовий алгоритм, що зменшує складність пошуку з O(N) до O(√N), що вплине на симетричні шифри.

🔮 Пост-квантові алгоритми

Криптографія на основі решіток

Приклади: NTRU, LWE

Переваги: Швидкість, гнучкість

Криптографія на основі кодів виправлення помилок

Приклад: McEliece

Переваги: Довга історія використання

Криптографія на основі системи поліноміальних рівнянь

Переваги: Швидкість, малі ключі

🎯 Практичні застосування

🌐 Веб-безпека

HTTPS, SSL/TLS, цифрові сертифікати

💰 Криптовалюти

Bitcoin, Ethereum, блокчейн технології

📧 Електронна пошта

PGP, S/MIME, шифрування листів

📱 Мобільна безпека

End-to-end шифрування, безпечні месенджери

📚 Рекомендована література

"Cryptography and Network Security" - William Stallings

"Applied Cryptography" - Bruce Schneier

"Introduction to Modern Cryptography" - Jonathan Katz, Yehuda Lindell

"The Code Book" - Simon Singh

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Hash Function Avalanche Visualizer і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Hash Function Avalanche Visualizer

Що ви знайшли?

Додати кроки відтворення (опційно)