AES
AES (Advanced Encryption Standard)
2001 yılında ABD hükümeti (NIST) tarafından standart olarak benimsenen en yaygın kullanılan simetrik şifreleme algoritmasıdır. AES, 128, 192 veya 256 bit anahtarlar kullanarak verileri sabit 128 bit bloklar halinde şifreler.
Teknik Detay
AES, ikame (S-box), satır kaydırma, sütun karıştırma ve anahtar ekleme dönüşümlerinin birden fazla turunda çalışır (128/192/256 bit anahtarlar için 10/12/14 tur). Blok şifre modları birden fazla bloğun nasıl işleneceğini belirler: ECB (güvensiz, kalıpları açığa çıkarır), CBC (blokları zincirler, IV gerektirir), CTR (sayaç modu, paralelleştirilebilir) ve GCM (Galois/Counter Mode, hem şifreleme hem kimlik doğrulama sağlar). Web Crypto API, AES-GCM, AES-CBC, AES-CTR ve AES-KW'yi destekler. AES-256-GCM, TLS 1.3, dosya şifreleme ve disk şifreleme (BitLocker, FileVault) için standarttır.
Ornek
```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')
);
```