AES Şifrele & Çöz
Ücretsiz çevrimiçi AES Şifrele & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Şifrele
Usage Guide
AES Hakkında
AES (Advanced Encryption Standard), ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından 2001 yılında eski DES algoritmasının yerini almak üzere yayımlanan simetrik bir şifreleme algoritmasıdır. AES, şu anda dünya genelinde en yaygın kullanılan simetrik şifreleme algoritmasıdır ve güvenli, verimli ve güvenilir bir şifreleme standardı olarak tanınmaktadır. 128, 192 ve 256 bit olmak üzere üç anahtar uzunluğunu destekler ve dosya şifreleme, ağ iletişimi, veritabanı şifreleme ve diğer senaryolarda yaygın olarak kullanılır. AES, TLS/SSL, VPN, disk şifreleme, bulut depolama ve diğer alanlarda fiili standart haline gelmiştir.
Kullanım Adımları
AES, şifreleme ve şifre çözme için aynı anahtarı kullanan simetrik bir şifreleme algoritmasıdır:
Şifreleme Modu Seçimi
AES, her biri farklı güvenlik ve performans özelliklerine sahip birden fazla şifreleme modunu destekler:
Anahtar Uzunluğu Seçimi
AES, her biri farklı güvenlik ve performans dengelerine sahip üç anahtar uzunluğunu destekler:
Uygulama Senaryoları
AES, simetrik şifreleme için fiili standarttır ve veri gizliliği gerektiren çeşitli senaryolarda yaygın olarak kullanılır:
FAQ
Q: Hangisi daha iyi: AES-128 mi yoksa AES-256 mı?
A: Her ikisi de çok güvenlidir; seçim belirli ihtiyaçlara bağlıdır. AES-128: 2^128 kırma karmaşıklığı (yaklaşık 3,4×10^38), dünya genelindeki tüm bilgisayarlar kullanılsa bile milyarlarca yıl alır. Performans AES-256'dan yaklaşık %20-40 daha hızlıdır. Çoğu uygulama senaryosu için uygundur. AES-256: 2^256 kırma karmaşıklığı (yaklaşık 1,2×10^77), teorik olarak daha güvenli, ancak pratikte AES-128 zaten yeterlidir. ABD hükümeti tarafından “çok gizli” düzeyindeki bilgileri korumak için kullanılır. Performans biraz daha yavaş, ancak fark minimumdur. Öneri: Genel uygulamalar için AES-128, hükümet, finans ve sağlık gibi yüksek güvenlik senaryoları için AES-256 kullanın.
Q: IV (Başlatma Vektörü) nedir? Neden gereklidir?
A: IV (Başlatma Vektörü), aynı düz metnin farklı zamanlarda şifrelendiğinde farklı şifreli metin üretmesini sağlamak için şifreleme sürecinde kullanılan rastgele bir sayıdır. IV neden gereklidir: IV olmadan, aynı düz metin ve anahtar her zaman aynı şifreli metni üretir ve bu da saldırganların tekrarlanan veri bloklarını tanımlamasına ve güvenliği azaltmasına olanak tanır. IV gereksinimleri: 1) Rastgelelik: Her şifreleme için farklı rastgele IV kullanılmalıdır. 2) Gizlilik gerekmez: IV kamuya açık olarak iletilebilir, genellikle şifreli metnin önüne eklenir. 3) Uzunluk: AES IV uzunluğu 128 bit (16 bayt)'tır. Not: ECB modu IV kullanmaz, ancak düşük güvenliğe sahiptir ve önerilmez.
Q: CBC ve GCM modları arasındaki fark nedir?
A: CBC (Şifre Blok Zincirleme): Her düz metin bloğunun şifrelemeden önce önceki şifreli metin bloğuyla XOR'landığı geleneksel şifreleme modu. Avantajlar: Yüksek güvenlik, geniş destek. Dezavantajlar: Şifrelemeyi paralelleştiremez, kimlik doğrulama sağlamaz (ek HMAC gerektirir). GCM (Galois/Sayaç Modu): Hem şifreleme hem de kimlik doğrulama sağlayan modern kimlik doğrulamalı şifreleme modu. Avantajlar: Şifrelemeyi paralelleştirebilir, iyi performans, kurcalamayı önler, TLS 1.3 standardı. Dezavantajlar: Karmaşık uygulama, IV yeniden kullanımı ciddi güvenlik sorunlarına neden olur. Öneri: Yeni projeler için GCM, eski projeler için CBC + HMAC kullanın.
Q: Anahtarları güvenli bir şekilde nasıl saklayabilir ve iletebilirim?
A: Anahtar yönetimi şifreleme sistemlerinin temelidir; anahtar sızıntısı şifrelemeyi etkisiz kılar. Anahtar Oluşturma: Kriptografik olarak güvenli rastgele sayı üreteçleri (CSPRNG) kullanın, basit parolalar veya tahmin edilebilir değerler kullanmayın. Anahtar Depolama: 1) AWS KMS, Azure Key Vault gibi Anahtar Yönetim Hizmetleri (KMS) kullanın. 2) Donanım Güvenlik Modülleri (HSM) kullanın. 3) Parolalardan anahtar türetmek için anahtar türetme işlevleri (PBKDF2, Argon2 gibi) kullanın. Anahtar İletimi: 1) Simetrik anahtarları iletmek için asimetrik şifreleme (RSA gibi) kullanın. 2) Anahtar değişim protokolleri (Diffie-Hellman gibi) kullanın. 3) Güvenli kanallar (TLS gibi) üzerinden iletin. En İyi Uygulamalar: Anahtarları düzenli olarak döndürün, anahtar sürüm yönetimi kullanın, anahtar erişim izinlerini sınırlayın.
Q: AES ile SM4 arasındaki fark nedir?
A: AES ve SM4 her ikisi de simetrik şifreleme algoritmalarıdır, ancak farklı kökenlere ve uygulama senaryolarına sahiptir. AES: ABD NIST standardı (2001), dünya genelinde yaygın kullanım, 128/192/256 bit anahtarları destekler, mükemmel performans. SM4: Çin Devlet Kriptografi İdaresi standardı (2012), yalnızca 128 bit anahtarları destekler, performans AES-128 ile karşılaştırılabilir. Seçim Tavsiyesi: Uluslararası uygulamalar için AES, Kriptografi Kanunu gereksinimlerine uymak için Çin'in kritik sektörleri (finans, hükümet, telekomünikasyon) için SM4 kullanın. Uyumluluk gerekiyorsa her iki algoritma aynı anda desteklenebilir.
Q: AES şifrelemesinin doğruluğunu nasıl doğrulayabilirim?
A: Test Vektörleri: NIST, uygulama doğruluğunu doğrulamak için kullanılabilecek resmi AES test vektörleri (CAVP) sağlar. Karşılaştırma Araçları: Aynı verileri şifrelemek ve tutarlılık için sonuçları karşılaştırmak için birden fazla bağımsız uygulama (OpenSSL, bu araç, çevrimiçi araçlar gibi) kullanın. Şifre Çözme Doğrulaması: Orijinal verilerin kurtarılıp kurtarılamayacağını kontrol etmek için şifrelemeden hemen sonra şifresini çözün. Not: Aynı düz metin, anahtar, IV ve mod aynı şifreli metni üretmelidir. Sonuçlar farklıysa, dolgu, kodlama veya mod ayarlarında sorunlar olabilir.
Use Cases
Önerilen: Dosya Şifreleme
Hassas dosyaları şifrelemek için AES kullanmak en yaygın uygulama senaryosudur. Dosya içeriğinin gizliliğini sağlamak için AES-256-CBC veya AES-256-GCM modu önerilir. Şifreleme sırasında rastgele IV oluşturun ve şifreli metnin önüne ekleyin (IV'nin gizli olması gerekmez). Anahtarlar kullanıcı parolalarından türetilebilir ( Argon2 veya PBKDF2 kullanarak) veya rastgele oluşturulan anahtarlar kullanılabilir (güvenli depolama gerektirir).
- ✅ AES-256-GCM (önerilen, kimlik doğrulama sağlar)
- ✅ AES-256-CBC + HMAC (geleneksel yaklaşım)
- ✅ Her şifreleme için farklı rastgele IV kullanın
- ✅ Parolalardan anahtar türetmek için Argon2 veya PBKDF2 kullanın
- ❌ ECB modundan kaçının
Önerilen: Veritabanı Alan Şifreleme
Veritabanlarındaki hassas alanları (kimlik numaraları, banka kartı numaraları, parolalar gibi) şifrelemek veri sızıntılarını önleyebilir. AES-256-GCM veya AES-256-CBC modu önerilir. Anahtarlar kodda sabit kodlanmak yerine Anahtar Yönetim Hizmeti'nde (KMS) saklanmalıdır. Her kayıt için farklı IV kullanın; IV veritabanında saklanabilir (şifreli metinle birlikte). Aranabilir olması gereken alanlar için deterministik şifreleme (AES-SIV gibi) veya şifreli dizinler kullanılabilir.
- ✅ AES-256-GCM (önerilen)
- ✅ Anahtarları yönetmek için KMS kullanın
- ✅ Her kayıt için farklı IV kullanın
- ✅ Anahtarları düzenli olarak döndürün
- 💡 Veritabanı yerleşik şifreleme özelliklerini kullanmayı düşünün (MySQL TDE gibi)
Önerilen: API Veri İletimi Şifreleme
HTTPS (TLS) zaten taşıma katmanı şifrelemesi sağlasa da, son derece hassas veriler için uygulama katmanı şifrelemesi eklenebilir. İstekler ve yanıtlardaki hassas alanları şifrelemek için AES-256-GCM kullanın, anahtarlar güvenli kanallar (Diffie-Hellman gibi) üzerinden müzakere edilir veya önceden paylaşılır. Bu “çift şifreleme” ortadaki adam saldırılarını ve TLS düşürme saldırılarını önleyebilir.
- ✅ AES-256-GCM (önerilen)
- ✅ Anahtarları müzakere etmek için anahtar değişim protokolleri kullanın
- ✅ HTTPS ile birlikte kullanın (çift koruma)
- ✅ Tekrar saldırılarını önlemek için zaman damgaları ekleyin
- 💡 JWE (JSON Web Encryption) standardını kullanmayı düşünün
Önerilen: Bulut Depolama Dosya Şifreleme
Bulut depolamaya (AWS S3, Alibaba Cloud OSS gibi) yüklenen dosyalar, bulut hizmet sağlayıcılarının düz metne erişememesini sağlamak için yüklemeden önce istemci tarafında şifrelenmelidir. Dosyaları şifrelemek için AES-256-GCM kullanın, istemci tarafından yönetilen anahtarlarla (buluta yüklenmez). Şifrelenmiş dosyalar herhangi bir bulut hizmetinde güvenle saklanabilir; bulut hizmeti tehlikeye girse bile saldırganlar dosyaların şifresini çözemez.
- ✅ AES-256-GCM (önerilen)
- ✅ İstemci tarafı şifreleme, anahtarlar yüklenmez
- ✅ Parolalardan anahtar oluşturmak için anahtar türetme işlevleri kullanın
- ✅ Bulut hizmetinin istemci tarafı şifreleme SDK'larını kullanmayı düşünün
- 💡 Anahtarları yedekleyin; anahtarların kaybolması verilerin kurtarılamayacağı anlamına gelir
Önerilen: Disk/Bölüm Şifreleme
Tam disk şifreleme, cihazların kaybolması veya çalınması durumunda veri güvenliğini koruyabilir. Windows BitLocker, macOS FileVault ve Linux LUKS'un tümü AES şifrelemesi kullanır. AES-256-XTS modu (özellikle disk şifreleme için tasarlanmış) önerilir. Anahtarlar genellikle kullanıcı parolalarından türetilir veya TPM (Güvenilir Platform Modülü) kullanılarak saklanır. Tam disk şifreleme performans üzerinde minimum etkiye sahiptir (modern CPU'ların AES donanım hızlandırması vardır).
- ✅ AES-256-XTS (disk şifreleme özel modu)
- ✅ İşletim sistemi yerleşik şifreleme araçlarını kullanın
- ✅ Güvenliği artırmak için TPM'yi etkinleştirin
- ✅ Güçlü parolalar belirleyin veya donanım anahtarları kullanın
- 💡 Veri kaybını önlemek için kurtarma anahtarlarını yedekleyin
Önerilmez: Parola Depolama
AES simetrik bir şifreleme algoritmasıdır ve doğrudan parola depolama için uygun değildir. Parola depolama, tersine çevrilemeyen tek yönlü karma algoritmaları kullanmalıdır ( Argon2, bcrypt, PBKDF2 gibi); veritabanı ihlal edilse bile saldırganlar düz metin parolalar elde edemez. Tersine çevrilebilir şifreleme gerekiyorsa (üçüncü taraf API anahtarlarını şifrelemek gibi), anahtarları yönetmek ve erişim izinlerini sınırlamak için Anahtar Yönetim Hizmeti (KMS) kullanın.
- ✅ Parola depolama için Argon2 kullanın (OWASP tarafından önerilir)
- ✅ bcrypt (maliyet faktörü ≥ 12)
- ✅ PBKDF2-SHA256 (≥ 600k iterasyon)
- ❌ Önerilmez: AES parola şifreleme (tersine çevrilebilir, anahtar sızıntısı riski)
En İyi Uygulama Önerileri
- Veri kurcalamayı önlemek için hem şifreleme hem de kimlik doğrulama sağlayan AES-256-GCM modunu önceliklendirin.
- Her şifreleme için farklı rastgele IV kullanılmalıdır; IV kamuya açık olarak iletilebilir ve genellikle şifreli metnin önüne eklenir.
- Ciddi güvenlik açıkları olan ECB modundan kaçının; aynı düz metin blokları aynı şifreli metin bloklarını üretir.
- Anahtar yönetimi kritiktir; anahtarları yönetmek için KMS veya HSM kullanın, anahtarları düzenli olarak döndürün ve erişim izinlerini sınırlayın.
- Paroladan türetilen anahtarlar için Argon2 veya PBKDF2 kullanın; kullanıcı parolalarını doğrudan anahtar olarak kullanmayın.
- Taşıma ve uygulama katmanlarında çift koruma sağlamak için HTTPS ile birlikte kullanın.