AES
AES (Advanced Encryption Standard)
Thuật toán mã hóa đối xứng được sử dụng rộng rãi nhất, được chính phủ Hoa Kỳ (NIST) chấp nhận làm tiêu chuẩn vào năm 2001. AES mã hóa dữ liệu theo khối 128-bit cố định sử dụng khóa 128, 192 hoặc 256 bit.
Chi tiết kỹ thuật
AES hoạt động qua nhiều vòng gồm thay thế (S-box), dịch hàng, trộn cột và cộng khóa (10/12/14 vòng cho khóa 128/192/256-bit). Các chế độ block cipher xác định cách xử lý nhiều khối: ECB (không an toàn, lộ mẫu), CBC (xâu chuỗi khối, yêu cầu IV), CTR (chế độ bộ đếm, có thể song song hóa), và GCM (Galois/Counter Mode, cung cấp cả mã hóa và xác thực). Web Crypto API hỗ trợ AES-GCM, AES-CBC, AES-CTR, và AES-KW. AES-256-GCM là tiêu chuẩn cho TLS 1.3, mã hóa tệp và mã hóa ổ đĩa (BitLocker, FileVault).
Ví dụ
```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')
);
```