İçeriğe geç

Simetrik Şifreleme ve AES Nedir?

Güncellendi: Son kontrol: Eylül 2026 6 dk okuma

Kısaca cevap

Simetrik şifreleme, veriyi şifrelemek ve çözmek için aynı gizli anahtarın kullanıldığı yöntemdir. Bugün en yaygın örneği AES şifreleme algoritmasıdır: Belçikalı kriptograflar Joan Daemen ve Vincent Rijmen'in tasarladığı Rijndael algoritmasına dayanır, 2000 yılında NIST'in açık yarışmasını kazanmış ve FIPS 197 standardıyla yayımlanmıştır. Wi-Fi şifrelemesinden BitLocker'a ve HTTPS'e kadar pek çok yerde veriyi AES korur; DES gibi eski algoritmalar ise artık kullanılmamalıdır.

Bu sayfada

Simetrik şifreleme nedir?

Simetrik şifreleme, bir veriyi okunamaz hâle getirmek (şifrelemek) ve tekrar okunur hâle getirmek (çözmek) için aynı anahtarın kullanıldığı kriptografi türüdür. Anahtarı bilen herkes veriyi çözebilir, bilmeyen ise yalnızca anlamsız görünen bir bayt dizisi görür. Bu yüzden simetrik şifrelemede güvenliğin tamamı anahtarın gizli kalmasına bağlıdır.

AES şifreleme bu ailenin bugünkü standardıdır. Günlük hayatta çoğu zaman farkına bile varmadan kullanırsınız: ev modeminizin Wi-Fi bağlantısı, dizüstü bilgisayarınızın disk şifrelemesi ve tarayıcınızın adres çubuğundaki kilit simgesinin arkasındaki bağlantı, veriyi simetrik bir algoritmayla şifreler. Şifrelemenin genel kavramlarını ve tarihçesini Şifrelemenin Temelleri yazısında bulabilirsiniz.

Anahtar paylaşma sorunu

Simetrik şifrelemenin en büyük zorluğu, aynı anahtarın iki tarafta da bulunması gerektiğidir. İnternette hiç tanışmadığınız bir sunucuyla gizli bir anahtarı nasıl paylaşırsınız? Anahtarı açık bir kanaldan gönderirseniz, yolda dinleyen biri de onu öğrenir ve bütün şifreleme boşa gider.

Bu sorunu asimetrik şifreleme çözer. HTTPS'te tarayıcı ve sunucu önce asimetrik yöntemlerle, dinleyen birinin öğrenemeyeceği ortak bir oturum anahtarı üzerinde anlaşır; ardından asıl veri bu anahtarla hızlı bir simetrik algoritmayla şifrelenir. Yani iki yöntem birbirinin rakibi değil, tamamlayıcısıdır.

Blok şifreleme ve akış şifreleme

Simetrik şifreleme algoritmaları veriyi işleme biçimine göre iki gruba ayrılır:

  • Blok şifreleme: Veri sabit boyutlu bloklara bölünür ve her blok anahtarla dönüştürülür. AES bir blok şifreleme algoritmasıdır ve her seferinde 128 bitlik (16 baytlık) bir bloğu işler.
  • Akış şifreleme: Anahtardan uzun bir rastgele görünen bayt akışı üretilir ve bu akış veriyle bayt bayt birleştirilir. Günümüzün en bilinen örneği ChaCha20'dir.

Uzun bir mesajı blok şifreleme algoritmasıyla şifrelemek için blokların birbirine nasıl bağlanacağını belirleyen bir çalışma modu gerekir. Aşağıda göreceğiniz gibi mod seçimi, algoritma seçimi kadar önemlidir.

AES nedir, nasıl çalışır?

AES (Advanced Encryption Standard, Gelişmiş Şifreleme Standardı), ABD standartlar kurumu NIST'in 1997'de başlattığı açık ve uluslararası bir yarışmanın sonucunda seçildi. Ekim 2000'de kazanan olarak Belçikalı kriptograflar Joan Daemen ve Vincent Rijmen'in tasarladığı Rijndael algoritması açıklandı. Standart, Kasım 2001'de FIPS 197 adıyla yayımlandı; 2023'te yapılan güncelleme yalnızca biçimsel düzenlemeler içerir, algoritmayı değiştirmez.

Eski bazı Türkçe kaynaklarda AES'in "Belçika'nın ulusal güvenlik kuruluşu" tarafından geliştirildiği yazar; bu doğru değildir. Rijndael'i bir devlet kurumu değil, iki bağımsız araştırmacı tasarlamıştır; NIST ise onu açık bir yarışmayla standart olarak seçmiştir.

AES her zaman 128 bitlik bloklarla çalışır ve üç anahtar uzunluğu vardır. Algoritma, bloğu birçok tur (round) boyunca bayt değiştirme, satır kaydırma, sütun karıştırma ve tur anahtarıyla birleştirme adımlarından geçirir. Tur sayısı anahtar uzunluğuna göre değişir:

SürümAnahtar uzunluğuBlok boyutuTur sayısı
AES-128128 bit128 bit10
AES-192192 bit128 bit12
AES-256256 bit128 bit14

"AES-256" ifadesindeki sayı blok boyutunu değil, anahtar uzunluğunu gösterir. NIST'in güncel kılavuzunda üç sürüm de "kabul edilebilir" sınıfındadır. NIST'in kuantum bilgisayarlara geçiş taslağına göre en az 128 bitlik güvenlik sağlayan simetrik algoritmalar, kuantum saldırılarından açık anahtarlı yöntemlere göre çok daha az etkilenir ve onaylı kalmaya devam eder.

AES şifreleme nerelerde kullanılır?

  • Wi-Fi: WPA2, veriyi AES ile şifreler. WPA3 belirtimi de en az AES tabanlı CCMP-128 şifrelemesini zorunlu tutar; kurumsal 192 bitlik modda GCMP-256 kullanılır. Evinizdeki ağ için doğru ayarları Wi-Fi şifresi nasıl olmalı yazısında anlatıyoruz.
  • Disk şifreleme: Windows'taki BitLocker varsayılan olarak XTS-AES 128 bit yöntemini kullanır; XTS-AES 256 bit de seçilebilir. macOS'taki FileVault da diskin tamamını AES-XTS ile şifreler. Ayrıntılar için BitLocker nedir yazısına bakabilirsiniz.
  • HTTPS: TLS 1.3'te tanımlı şifre takımlarının neredeyse tamamı AES-GCM veya AES-CCM kullanır; diğer seçenek ChaCha20-Poly1305'tir. Bağlantının nasıl kurulduğunu SSL/TLS ve güvenli iletişim yazısında okuyabilirsiniz.
  • Parolayla şifrelenen dosyalar: Bir arşive veya belgeye parola koyduğunuzda, program çoğunlukla parolanızdan bir AES anahtarı türetir. Bu durumda şifrelemenin gücü parolanın gücüyle sınırlıdır; kısa bir parola, AES-256 kullanılsa bile tahminle bulunabilir. Uzun ve rastgele bir parola için şifre üreticiyi kullanabilirsiniz.

Çalışma modları: ECB neden kötü, GCM neden tercih edilir?

AES tek başına yalnızca 16 baytlık bir bloğu şifreler. Daha uzun verileri şifrelemek için NIST'in SP 800-38 serisinde tanımlanan çalışma modları kullanılır. Hepsi aynı AES'i kullanır ama güvenlik açısından aralarında büyük fark vardır.

ECB: aynı blok, aynı çıktı

En basit mod olan ECB (Electronic Codebook), her bloğu birbirinden bağımsız şifreler. Sonuç olarak aynı anahtarla şifrelenen aynı düz metin bloğu her zaman aynı şifreli bloğu verir. NIST'in kendi belgesi de bu özellik istenmiyorsa ECB'nin kullanılmaması gerektiğini söyler. Pratikte bu, şifreli veride desenlerin görünür kalması demektir: tekrar eden kayıtlar veya bir resimdeki düz renkli alanlar şifreli hâlde de tanınabilir. Kendi uygulamanızda ECB kullanmayın.

CBC ve CTR

CBC gibi modlar her bloğu bir öncekiyle zincirleyerek bu sorunu giderir; bunun için her şifrelemede tahmin edilemeyen bir başlangıç vektörü (IV) gerekir. CTR modu ise bir sayaç kullanarak blok şifrelemeyi akış şifrelemesi gibi çalıştırır. İkisi de verinin gizliliğini sağlar ama değiştirilip değiştirilmediğini tek başına kontrol etmez.

Kimliği doğrulanmış şifreleme: GCM

GCM (Galois/Counter Mode), şifrelemenin yanında bir doğrulama etiketi de üretir. Şifreli veride tek bir bit değiştirilirse çözme işlemi hata verir; böylece hem gizlilik hem bütünlük tek adımda sağlanır. Buna kimliği doğrulanmış şifreleme (AEAD) denir ve TLS 1.3 yalnızca bu tür algoritmalara izin verir. GCM'nin tek ama kritik şartı, aynı anahtarla aynı IV'nin asla iki kez kullanılmamasıdır; NIST, bu kural çiğnenirse güvenliğin neredeyse tamamen kaybolabileceği konusunda uyarır. Güvenli IV üretimini kriptografide rastgelelik yazısında ele alıyoruz.

Tarayıcıda Web Crypto API ile AES-256-GCM kullanımı şöyle görünür:

// 256 bitlik AES-GCM anahtarı üret (tarayıcı veya Node.js 19+)
const key = await crypto.subtle.generateKey(
  { name: "AES-GCM", length: 256 }, false, ["encrypt", "decrypt"]);

// Her şifrelemede yeni, 12 baytlık rastgele IV
const iv = crypto.getRandomValues(new Uint8Array(12));
const veri = new TextEncoder().encode("Merhaba dünya");

const sifreli = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, veri);
const cozulmus = await crypto.subtle.decrypt({ name: "AES-GCM", iv }, key, sifreli);
console.log(new TextDecoder().decode(cozulmus)); // Merhaba dünya

IV gizli değildir; şifreli veriyle birlikte saklanabilir. Şifreli çıktı, veriden 16 bayt (128 bitlik doğrulama etiketi) daha uzundur.

ChaCha20-Poly1305: AES'in alternatifi

ChaCha20, 256 bitlik anahtar ve 96 bitlik nonce kullanan bir akış şifresidir; Poly1305 ile birleştirildiğinde GCM gibi hem şifreleyen hem doğrulayan bir yapı ortaya çıkar. RFC 8439'a göre AES donanım hızlandırması olmayan cihazlarda yazılımla AES'ten belirgin biçimde hızlı çalışabilir ve zamanlama saldırılarına karşı daha kolay güvenli uygulanır. TLS 1.3'te AES-128-GCM ile birlikte uygulanması zorunlu şifre takımlarından biridir.

DES ve 3DES neden bırakıldı?

DES (Data Encryption Standard), 1977'de ABD'de federal standart olarak yürürlüğe girdi. 64 bitlik bir anahtar alanı olsa da bunun yalnızca 56 biti gerçek anahtar bitidir; bu uzunluk bugünün donanımına karşı çok kısadır. Standart 2005'te resmen geri çekildi.

DES'i üç kez art arda uygulayan 3DES (Triple DES) bir süre geçiş çözümü olarak kullanıldı. NIST'in güncel kılavuzuna göre iki anahtarlı 3DES ile şifreleme yasaktır, üç anahtarlı 3DES ile şifreleme ise 31 Aralık 2023'ten sonra izin verilmeyenler arasına girmiştir. Eski verilerin çözülmesi dışında bu algoritmaları kullanmamalısınız.

Simetrik şifreleme örnekleri

AlgoritmaTürAnahtar uzunluğuDurum
AES-128 / 192 / 256Blok (128 bit)128, 192 veya 256 bitGüncel standart; GCM gibi bir modla kullanın
ChaCha20-Poly1305Akış + doğrulama256 bitGüncel; TLS 1.3'te yer alır
3DESBlok (64 bit)112 veya 168 bit (anahtar demeti)Yeni şifreleme için kullanılmaz
DESBlok (64 bit)56 bit2005'te geri çekildi

Kendi yazılımınızda şifreleme gerekiyorsa algoritmayı kendiniz yazmak yerine platformunuzun hazır kütüphanesini (tarayıcıda Web Crypto API, .NET'te AesGcm sınıfı gibi) kullanın, anahtarı kriptografik olarak güvenli bir kaynaktan üretin ve anahtarı şifreli veriyle aynı yerde saklamayın. Şifreleme ile özet (hash) arasındaki farkı merak ediyorsanız Hash nedir? yazısına göz atabilirsiniz.

Sık sorulan sorular

AES nedir, açılımı ne?

AES, İngilizce Advanced Encryption Standard (Gelişmiş Şifreleme Standardı) ifadesinin kısaltmasıdır. ABD standartlar kurumu NIST'in açık bir yarışmayla seçtiği ve FIPS 197 standardında yayımladığı simetrik blok şifreleme algoritmasıdır. Belçikalı kriptograflar Joan Daemen ve Vincent Rijmen'in tasarladığı Rijndael algoritmasına dayanır.

AES-128 mi AES-256 mı kullanmalıyım?

Her ikisi de NIST tarafından bugün kabul edilebilir kabul edilir ve günlük kullanımda AES-128 yeterli güvenlik sağlar. AES-256 daha büyük bir güvenlik payı sunar; uzun yıllar korunması gereken veriler veya kurum politikası gerektirdiğinde tercih edilir. Seçimden daha önemli olan, anahtarın güvenli üretilmesi ve saklanması ile doğru bir çalışma modunun (ör. GCM) kullanılmasıdır.

Simetrik ve asimetrik şifreleme arasındaki fark nedir?

Simetrik şifrelemede şifrelemek ve çözmek için aynı gizli anahtar kullanılır; hızlıdır ama anahtarın karşı tarafa güvenle ulaştırılması gerekir. Asimetrik şifrelemede birbirine bağlı bir açık ve bir özel anahtar vardır; anahtar paylaşma sorununu çözer ama çok daha yavaştır. Bu yüzden HTTPS gibi sistemlerde ikisi birlikte kullanılır.

AES şifreleme kırılabilir mi?

Doğru kullanılan AES'e karşı bugün pratik bir saldırı bilinmez ve NIST AES-128, AES-192 ve AES-256'yı onaylı algoritmalar arasında tutar. Gerçek hayattaki sorunlar genellikle algoritmadan değil, zayıf bir paroladan türetilen anahtardan, anahtarın çalınmasından veya ECB gibi yanlış bir çalışma modunun seçilmesinden kaynaklanır.

Simetrik şifreleme örnekleri nelerdir?

Günümüzde kullanılan başlıca simetrik algoritmalar AES ve ChaCha20'dir. Günlük örnekler arasında Wi-Fi ağlarının şifrelenmesi (WPA2 ve WPA3), BitLocker ve FileVault ile disk şifreleme ve HTTPS bağlantılarında verinin şifrelenmesi sayılabilir. DES ve 3DES ise eski ve artık önerilmeyen simetrik algoritmalardır.