Student
Professional
- Messages
- 1,691
- Reaction score
- 1,566
- Points
- 113
Алгоритмы шифрования в криптографии и компьютерной безопасности: полный подробный обзор, классификация, актуальные стандарты, математические основы и лучшие практики
1. Введение в криптографию и цели шифрования
Криптография (от греч. kryptos — тайный и graphein — писать) — это наука о методах обеспечения конфиденциальности, целостности, аутентичности и неотказуемости информации. Алгоритмы шифрования — её核心, позволяющие преобразовывать открытый текст (plaintext) в шифротекст (ciphertext) так, чтобы без секретного ключа восстановить данные было вычислительно невозможно.Основные принципы (принцип Керкгоффса, 1883): безопасность алгоритма должна зависеть только от секретности ключа, а не от секретности самого алгоритма. Это позволяет открыто анализировать и стандартизировать алгоритмы.
Цели криптографии (CIA + Auth + Non-repudiation):
- Confidentiality (конфиденциальность) — только авторизованные лица читают данные.
- Integrity (целостность) — данные не изменены.
- Availability (доступность) — данные доступны при необходимости.
- Authentication (аутентификация) — подтверждение источника.
- Non-repudiation (неотказуемость) — отправитель не может отрицать факт отправки.
Краткая история (для контекста): От шифра Цезаря (сдвиг на 3 позиции) через Enigma (WWII) к DES (1977), AES (2001) и современным постквантовым схемам. Сегодня криптография защищает всё: от банковских транзакций и мессенджеров до государственных систем и квантовых угроз.
2. Классификация алгоритмов шифрования
Алгоритмы делятся на:- Симметричные (один ключ): быстрое шифрование больших данных.
- Асимметричные (пара ключей: публичный + приватный): обмен ключами, подписи.
- Хэш-функции (односторонние): целостность, пароли (не шифрование в прямом смысле).
- Гибридные (комбинация): стандарт для TLS/HTTPS.
Дополнительно: AEAD (Authenticated Encryption with Associated Data) — современный стандарт, сочетающий шифрование + аутентификацию (например, AES-GCM).
3. Симметричные алгоритмы шифрования
Самые быстрые, используются для данных в покое и в транзите. Работают в режимах: ECB (опасен!), CBC, CTR, GCM (рекомендуется), XTS (для дисков).Расширенная таблица актуальных алгоритмов (2026):
| Алгоритм | Тип | Длина ключа / блока | Уровень безопасности (классический / квантовый) | Применение и статус (2026) | Преимущества / Недостатки / Атаки |
|---|---|---|---|---|---|
| AES (Rijndael) | Блочный | 128/192/256 бит / 128 бит | 256 бит / ~128 бит (Grover) | Стандарт NIST, TLS 1.3, BitLocker, LUKS | Аппаратная ускорение (AES-NI); очень быстрый. Устойчив к известным атакам. |
| ChaCha20-Poly1305 | Поточный | 256 бит / 512 бит | 256 бит / ~128 бит | Google, Signal, WireGuard, TLS (мобильные) | Быстрый без hardware AES; устойчив к timing-атакам. Poly1305 — MAC. |
| Twofish / Serpent | Блочный | 256 бит / 128 бит | Высокий | Финалисты AES; редко в production | Высокая маржа безопасности. Медленнее AES. |
| 3DES | Блочный | 168 бит | Устарел | Запрещён в новых системах | Уязвим к meet-in-the-middle. |
Режимы работы (критически важно!):
- GCM (Galois/Counter Mode) — AEAD: шифрование + аутентификация. Формула: Ci=Pi⊕E(K,IV∣∣i) C_i = P_i \oplus E(K, IV || i) Ci=Pi⊕E(K,IV∣∣i), аутентификация через GHASH.
- XTS — для дисков (AES-XTS).
- Избегайте: ECB (видна структура данных), CBC с padding oracle.
Математика AES (кратко): 10/12/14 раундов (для 128/192/256 бит). Каждый раунд: SubBytes, ShiftRows, MixColumns, AddRoundKey. S-box — нелинейная подстановка.
4. Асимметричные алгоритмы
Используются для Key Exchange (обмен ключами) и Digital Signatures.- RSA (Rivest–Shamir–Adleman): Основан на факторизации.
Генерация: n=p⋅q n = p \cdot q n=p⋅q (большие простые), ϕ
=(p−1)(q−1) \phi
= (p-1)(q-1) ϕ
=(p−1)(q−1), e (публичный), d=e−1mod ϕ
d = e^{-1} \mod \phi
d=e−1modϕ
.
Шифрование: c=memod n c = m^e \mod n c=memodn.
Расшифровка: m=cdmod n m = c^d \mod n m=cdmodn.
Ключи: минимум 4096 бит в 2026 (2048 уже маргинально). Медленный. - ECC (Elliptic Curve Cryptography): На эллиптических кривых над конечным полем.
Кривая: y2=x3+ax+bmod p y^2 = x^3 + ax + b \mod p y2=x3+ax+bmodp.
Популярные: NIST P-256, Curve25519 (X25519 для ECDH), Ed25519 (для подписей).
Преимущества: короткие ключи (256 бит ≈ 3072 бит RSA), быстрее. - Diffie-Hellman / ECDH: Только обмен ключами. gabmod p g^{ab} \mod p gabmodp (классический) или точка на кривой.
Уязвимости: Logjam (слабый DH), ROCA (RSA в чипах).
5. Хэш-функции и KDF
Односторонние: H(m) легко вычислить, невозможно обратить или найти коллизии.- SHA-256 / SHA-3 (NIST).
- Стрибог (ГОСТ Р 34.11-2012 / 2018): 256/512 бит, российский стандарт.
- Применение: Пароли (с солью + Argon2id — победитель Password Hashing Competition; устойчив к GPU/ASIC), HMAC, цифровые подписи.
Цифровые подписи: EdDSA (быстрее RSA-PSS), ML-DSA (постквантовая).
6. Постквантовая криптография (самое актуальное в 2026)
Квантовые компьютеры (алгоритм Шора) ломают RSA/ECC/DH. Алгоритм Гровера ослабляет симметричные в 2 раза (AES-256 → ~128 бит — всё ещё безопасно).NIST стандарты (финализированы 2024, миграция в 2026):
- FIPS 203: ML-KEM (бывший CRYSTALS-Kyber) — Key Encapsulation Mechanism на решётках (lattice-based). Параметр sets: 512/768/1024 (рекомендуется 768).
- FIPS 204: ML-DSA (CRYSTALS-Dilithium) — подписи.
- FIPS 205: SLH-DSA (SPHINCS+) — хеш-based резерв (устойчив к любым атакам на решётки).
- FIPS 206 (в разработке): Falcon.
Гибридные схемы (классика + PQC) — стандарт перехода (Google ускоряет до 2029). В России — пилоты QApp и Криптонит.
Угрозы: "Harvest Now, Decrypt Later" — уже собирают зашифрованные данные.
7. Применение в реальных системах
- TLS 1.3 / HTTPS: ECDHE + AES-256-GCM / ChaCha20-Poly1305 + ML-KEM (гибрид).
- VPN: WireGuard (ChaCha20), OpenVPN (AES-GCM).
- Дисковое шифрование: BitLocker (AES-XTS), VeraCrypt (AES + Kuznyechik).
- Мессенджеры: Signal Protocol (Double Ratchet + X3DH + AES).
- ЭЦП и почта: S/MIME + ГОСТ в России (КриптоАРМ).
8. Лучшие практики, управление ключами и распространённые уязвимости
Рекомендации 2026:- Симметрия: минимум AES-256-GCM или ChaCha20-Poly1305.
- Асимметрия: ECC + переход на ML-KEM/ML-DSA (гибрид).
- Ключи: HSM (Hardware Security Modules), KMS (AWS, Yandex).
- Пароли: Argon2id + pepper.
- Side-channel атаки (timing, power, cache): используйте constant-time реализации (libsodium).
- Quantum threats: Migrate now — данные с долгим сроком хранения.
- Библиотеки: OpenSSL 3.2+, libsodium, КриптоПро, liboqs (PQC).
Общие ошибки: Слабые ключи, ECB-режим, hardcoded keys, отсутствие forward secrecy, игнор обновлений.
Атаки: Brute-force (редко), Differential cryptanalysis (устранены в современных), Quantum (Shor/Grover), Side-channel.
9. Будущие тренды
- Homomorphic Encryption (вычисления над зашифрованными данными).
- Quantum Key Distribution (QKD) — физическая квантовая связь.
- Zero-Knowledge Proofs (zk-SNARKs в блокчейне).
- Полная миграция на PQC к 2030 (CNSA 2.0 в США).
Если нужно: реализация на Python (с sympy или cryptography lib), разбор конкретного алгоритма с кодом, анализ уязвимости или сравнение производительности — напишите! Рекомендую начинать миграцию на постквантовые гибриды уже сейчас.
