🍋
Menu
Security

AES

AES (Advanced Encryption Standard)

Наиболее распространённый алгоритм симметричного шифрования, принятый в качестве стандарта правительством США (NIST) в 2001 году. AES шифрует данные фиксированными 128-битными блоками с использованием ключей длиной 128, 192 или 256 бит.

Техническая деталь

AES выполняет несколько раундов подстановки (S-box), сдвига строк, перемешивания столбцов и сложения с ключом (10/12/14 раундов для ключей 128/192/256 бит). Режимы блочного шифрования определяют порядок обработки нескольких блоков: ECB (небезопасный, раскрывает закономерности), CBC (цепочка блоков, требует IV), CTR (счётчиковый режим, допускает параллелизм) и GCM (Galois/Counter Mode — обеспечивает и шифрование, и аутентификацию). Web Crypto API поддерживает AES-GCM, AES-CBC, AES-CTR и AES-KW. AES-256-GCM — стандарт для TLS 1.3, шифрования файлов и дисков (BitLocker, FileVault).

Пример

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

Связанные инструменты

Связанные термины