AES
AES (Advanced Encryption Standard)
Algoritma enkripsi simetris yang paling banyak digunakan, diadopsi sebagai standar oleh pemerintah AS (NIST) pada tahun 2001. AES mengenkripsi data dalam blok tetap 128-bit menggunakan kunci 128, 192, atau 256 bit.
Detail Teknis
AES beroperasi melalui beberapa putaran substitusi (S-box), pergeseran baris, pencampuran kolom, dan transformasi penambahan kunci (10/12/14 putaran untuk kunci 128/192/256-bit). Mode block cipher menentukan bagaimana beberapa blok diproses: ECB (tidak aman, mengungkap pola), CBC (merantai blok, membutuhkan IV), CTR (mode counter, dapat diparalelkan), dan GCM (Galois/Counter Mode, menyediakan enkripsi dan autentikasi). Web Crypto API mendukung AES-GCM, AES-CBC, AES-CTR, dan AES-KW. AES-256-GCM adalah standar untuk TLS 1.3, enkripsi file, dan enkripsi disk (BitLocker, FileVault).
Contoh
```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')
);
```