Алгоритмы шифрования в криптографии и компьютерной безопасности

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 (большие простые), ϕ(n)=(p−1)(q−1) \phi(n) = (p-1)(q-1) ϕ(n)=(p−1)(q−1), e (публичный), d=e−1mod  ϕ(n) d = e^{-1} \mod \phi(n) d=e−1modϕ(n).
    Шифрование: 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), разбор конкретного алгоритма с кодом, анализ уязвимости или сравнение производительности — напишите! Рекомендую начинать миграцию на постквантовые гибриды уже сейчас.
 
Top