Simetrik vs asimetrik şifreleme: temel farklar açıklandı
Simetrik vs asimetrik şifreleme anlaşılır dilde karşılaştırıldı. Her birinin nasıl çalıştığını ve modern aktarımda nasıl birleştiklerini öğrenin.
Simetrik şifreleme, hem şifreleme hem şifre çözme için tek bir anahtar kullanır; dosyalarınızı aktarım sırasında güvende tutan şifre olan AES-256-GCM'yi düşünün. Asimetrik şifreleme ise bir anahtar çifti kullanır: herkesin görebileceği bir açık anahtar ve yalnızca sizin tuttuğunuz bir özel anahtar; RSA-4096 ve Curve25519 gibi algoritmalar bu modeli kullanır. Simetrik şifreleme hızlıdır (modern CPU'larda saniyede gigabaytlar), ancak her iki tarafın da aynı sırrı paylaşması gerekir. Asimetrik şifreleme, anahtar değişim sorununu çözer; ancak 1.000 kat daha yavaştır. HexaTransfer, Tresorit, Proton Drive ve SwissTransfer dahil her modern dosya aktarım hizmeti ikisini birden kullanır: simetrik anahtarı değiştirmek için asimetrik, gerçek dosyayı şifrelemek için ise simetrik.
Tek anahtarlı dünya: simetrik şifreleme
Simetrik şifreler her iki yön için de aynı anahtarı kullanır. K anahtarıyla bir dosyayı şifrelirsem şifresini çözmek için de K anahtarına ihtiyacınız var. Hâlâ kullanılan başlıca simetrik algoritmalar:
- FIPS 197'de standartlaştırılmış 128, 192 veya 256 bitlik anahtarlarla AES (Rijndael).
- AES-NI donanım hızlandırması olmayan cihazlarda tercih edilen 256 bitlik anahtarlarla ChaCha20.
- NIST tarafından 2023'te kullanımdan kaldırılan 3DES — kullanmayın.
Verim büyük avantajdır. AES-256-GCM, Intel AES-NI'de çekirdek başına yaklaşık 3-5 GB/sn hızla çalışır; ChaCha20-Poly1305 ise ARM telefon üzerinde 1,5-3 GB/sn ulaşır. 10 GB'lık bir dosyayı şifrelemek saniyeler alır.
Sorun şu: anahtarı diğer kişiye nasıl ulaştıracaksınız? E-postayla göndermek amacı ortadan kaldırır. Bu, anahtar dağıtım sorunudur ve asimetrik şifrelemenin var olma nedeni de budur.
İki anahtarlı dünya: asimetrik şifreleme
1976'da Diffie ve Hellman tarafından icat edildi; 1977'de Rivest, Shamir ve Adleman tarafından RSA olarak hayata geçirildi. Her kullanıcının bir anahtar çifti vardır: açıkça yayımlanan bir açık anahtar ve gizli tutulan bir özel anahtar. Açık anahtarla şifrelenmiş her şey yalnızca özel anahtarla şifresi çözülebilir; tersi de geçerlidir.
Bana gizli bir dosya göndermek istiyorsanız benim açık anahtarımla şifrelersiniz. Yalnızca benim özel anahtarım açabilir; siz de bana hiçbir sırrı paylaşmak zorunda kalmadınız. Anahtar dağıtımı sorunu çözüldü.
Güncel asimetrik algoritmalar:
- RSA-2048 veya RSA-4096 — yavaş ama evrensel destekli, TLS sertifikalarında kullanılır.
- P-256, P-384 veya Curve25519 eğrileri üzerinde eliptik eğri (ECDH, ECDSA) — daha küçük anahtarlar, daha hızlı işlemler. 256 bitlik bir EC anahtarı 3.072 bitlik RSA anahtarının güvenliğiyle eşdeğerdir.
- Ed25519 — imzalama için modern varsayılan; SSH ve Signal tarafından kullanılır.
Asimetrik neden dosyalar için çok yavaştır
Asimetrik matematik maliyetlidir. RSA-4096 şifrelemesi modern CPU'da saniyede yaklaşık 100-500 işlem çalışır. Her işlem yaklaşık 470 bayt işler (RSA blok boyutu eksi dolgu). Bu saniyede yaklaşık 200 KB demektir; AES-256-GCM'den yaklaşık 50.000 kat daha yavaş.
10 GB'lık bir dosyayı RSA ile şifrelemek yaklaşık 14 saat alır. AES-256-GCM ile yaklaşık 3 saniye alır. Hız asimetrisi, kimsenin aslında dosyaları doğrudan RSA ile şifrelememesinin nedenidir.
Hibrit şifreleme: gerçek dünyadaki yaklaşım
Hem güvenliğe hem de hıza ihtiyaç duyan her protokol ikisini birleştirir. TLS 1.3, PGP, Signal, Age ve her güvenilir dosya aktarım hizmeti şu modeli kullanır:
- Gönderici rastgele 256 bitlik AES anahtarı oluşturur ("oturum anahtarı" veya "dosya anahtarı").
- Dosya bu anahtarla AES-256-GCM kullanılarak şifrelenir.
- AES anahtarı alıcının açık anahtarıyla (RSA-OAEP veya ECIES) şifrelenir.
- Hem şifreli metin hem de şifreli anahtar alıcıya iletilir.
- Alıcı, AES anahtarının şifresini özel anahtarıyla çözer, ardından dosyayı çözmek için kullanır.
Her alıcı için asimetrik maliyeti bir kez, 256 bitlik anahtar için ödersiniz. Toplu dosya, tam hızda simetrik olarak işlenir. Her iki dünyanın en iyisi.
Dosya aktarım hizmetlerinin farklılaştığı yer
Tarayıcı tabanlı aktarım hizmetleri bir sorunla karşılaşır: alıcının anahtar çifti olmayabilir. Sadece bir linke tıklıyorlar. Bu durumu üç desen halleder:
- Yalnızca paylaşımlı-link simetrik (SwissTransfer, HexaTransfer, Firefox Send'in varisleri). Gönderenin tarayıcısında rastgele bir AES-256 anahtarı oluşturulur, URL parçasına yerleştirilir ve alıcının tarayıcısı bunu parçadan okur. Asimetrik kriptoya gerek yoktur; parça kanaldır.
- Hesaptan hesaba asimetrik (Tresorit, Proton Drive). Her kullanıcının kayıt sırasında oluşturulan RSA veya ECC anahtar çifti vardır. Belirli bir alıcı için şifrelen dosyalar alıcının açık anahtarını kullanır.
- Parola ile hibrit (birçok hizmet). URL parçası bir tuz içerir; kullanıcı parola yazar; PBKDF2 veya Argon2id simetrik anahtarı türetir. Asimetrik yoktur; parola paylaşılan sır gibi davranır.
Paylaşımlı-link yaklaşımı en basit olanıdır ve hesabı olmayan alıcılar için çalışır. Hesaba bağlı asimetrik daha güçlüdür; çünkü linkin kaybolması anahtarı sızdırmaz. Tehdit modelinize göre seçin.
Dijital imzalar: asimetriğin diğer işi
Asimetrik, simetriğin yapamayacağı bir şey yapar: yazarlığı kanıtlar. Özel anahtarımla bir dosyayı imzalarsam, açık anahtarım olan herkes benim imzaladığımı doğrulayabilir ve o zamandan beri kurcalanmadığını bilir. Simetrik şifreleme kimlik doğrulama sağlayabilir (HMAC, GCM'nin etiketi), ancak yalnızca halihazırda bir sırrı paylaşan taraflar arasında.
Kullanımdaki imza algoritmaları:
- SHA-256 ile RSA-PSS — eski ama yaygın destekli.
- P-256 veya P-384 üzerinde ECDSA — NIST onaylı, ABD federal sistemlerinde kullanılır.
- Ed25519 — hızlı, deterministik, hatalı RNG'lere dayanıklı. Modern seçim.
Yazılım dağıtımı (apt, Homebrew, Docker görüntüleri), tedarik zinciri kurcalamasını önlemek için Ed25519 veya RSA imzalarına güvenir. Dosya aktarım hizmetleri genellikle imzaları doğrudan sunmaz; ancak AES-256-GCM'deki GCM kimlik doğrulama etiketi tek bir şifreleme içinde bütünlük sağlar.
Anahtar boyutları ve güvenlik seviyeleri
Klasik bilgisayarlara karşı eşdeğer güvenlik için hızlı bir dönüşüm tablosu:
- 128 bit simetrik = 3072 bit RSA = 256 bit EC (P-256 veya Curve25519)
- 192 bit simetrik = 7680 bit RSA = 384 bit EC (P-384)
- 256 bit simetrik = 15360 bit RSA = 512 bit EC (P-521)
NIST'in yeni sistemler için güncel önerisi: en az 112 bit güvenlik, yani RSA-2048 veya P-256. Federal kurumlar 2030'a kadar minimum olarak 128 bit (RSA-3072, P-384) kullanır.
Gelecekteki kuantum bilgisayarlarına karşı simetrik anahtarlar yaklaşık yarı gücünü yitirir (Grover algoritması), RSA ve ECC ise tamamen kırılır (Shor algoritması). NIST, 2024'te kuantum sonrası değiştirmeleri standartlaştırdı: anahtar değişimi için ML-KEM (eski adıyla Kyber) ve imzalar için ML-DSA (eski adıyla Dilithium). Geçiş devam etmekte ama yavaştır.
Hangisini ne zaman kullanmalı
Pratik bir karar rehberi:
- Kendiniz için bir dosyayı şifrelemek (yedek, arşiv): Argon2id aracılığıyla güçlü parolayla simetrik AES-256-GCM. Asimetrik gerekmez.
- Bilinen bir alıcıya dosya göndermek: hibrit — dosya için AES-256-GCM, oturum anahtarı için açık anahtar sarmalama.
- Birçok alıcıya göndermek: dosyayı bir kez AES ile şifreleyin, ardından anahtarı her alıcının açık anahtarıyla ayrı ayrı sarın. Alıcı başına yaklaşık 300 bayt eklenir.
- Yazarlığı kanıtlamak: şifreli metin üzerinden Ed25519 imzası.
- Link üzerinden tek seferlik paylaşım: URL parçasındaki anahtarla simetrik.
Her şeyi bir araya getirmek
Hassas aktarımlar için pratik bir yığın: toplu şifreleme için AES-256-GCM, alıcıların kimlikleri varsa anahtar değişimi için X25519 ECDH, parola türetmeli anahtarlar için PBKDF2 veya Argon2id ve aktarım katmanı olarak TLS 1.3. Bu kombinasyon, modern denetimli hizmetlerin kullandığı yapıdır.
hexatransfer.com'da deneyin — ücretsiz, hesap gerekmez, 10 GB'a kadar.
Uçtan uca şifreleme ile büyük dosyaları güvenle gönderin
Uçtan uca şifreleme ile 10 GB'a kadar dosya ücretsiz aktarın. Hesap gerekmez. Dosyalarınız yüklenmeden önce tarayıcınızda şifrelenir — başka kimse okuyamaz.
Dosya gönder