İçeriğe geç

Asimetrik Şifreleme ve RSA Nedir?

Güncellendi: Son kontrol: Ekim 2026 6 dk okuma

Kısaca cevap

Asimetrik şifrelemede herkesle paylaşılan bir açık anahtar ve yalnızca sahibinde kalan bir özel anahtar vardır. En bilinen örnek RSA algoritmasıdır: iki büyük asal sayıyı çarpmak kolaydır, ama bu çarpımdan asal çarpanları geri bulmak büyük sayılarda pratikte imkânsızdır; RSA'nın güvenliği bu zorluğa dayanır. Bugün RSA ve eliptik eğri algoritmaları HTTPS, dijital imza ve anahtar değişiminde kullanılır; kuantum bilgisayarlara karşı ise yeni standartlara geçiş başlamıştır.

Bu sayfada

Asimetrik şifreleme nedir?

Asimetrik şifreleme (açık anahtarlı kriptografi), birbirine matematiksel olarak bağlı iki anahtar kullanır. Açık anahtarı istediğiniz kişiye, hatta herkese verebilirsiniz. Özel anahtar ise yalnızca sizde kalır ve asla paylaşılmaz. Bu anahtar çifti iki temel iş için kullanılır:

  • Şifreleme: Size mesaj göndermek isteyen kişi mesajı açık anahtarınızla şifreler. Şifreli mesajı yalnızca özel anahtara sahip olan siz çözebilirsiniz.
  • Dijital imza: Bir belgeyi özel anahtarınızla imzalarsınız. Açık anahtarınıza sahip herkes, imzanın gerçekten sizden geldiğini ve belgenin değişmediğini doğrulayabilir.

Bu yapı, simetrik şifrelemenin en büyük sorununu, yani gizli anahtarı karşı tarafa güvenle ulaştırma sorununu çözer. Bedeli ise hızdır: asimetrik işlemler simetrik şifrelemeye göre çok daha yavaştır. Bu yüzden büyük veriler hiçbir zaman doğrudan asimetrik algoritmayla şifrelenmez.

Simetrik ve asimetrik şifrelemenin karşılaştırma şeması
Simetrikte tek anahtar, asimetrikte açık ve gizli anahtar çifti kullanılır.

RSA algoritması nedir?

RSA, Ron Rivest, Adi Shamir ve Leonard Adleman'ın 1978'de yayımladığı makaleyle tanıtılan ve adını üçünün soyadlarının baş harflerinden alan algoritmadır. Hem şifreleme hem dijital imza için kullanılabilir ve bugün hâlâ en yaygın asimetrik algoritmalardan biridir.

RSA'nın güvenliği tek yönlü gibi davranan bir matematik işlemine dayanır. İki büyük asal sayıyı çarpmak bir bilgisayar için anlık bir iştir. Ancak yüzlerce basamaklı bir çarpım verildiğinde, onu oluşturan iki asal çarpanı bulmak (çarpanlara ayırma) bilinen yöntemlerle pratikte imkânsız kadar uzun sürer. Açık anahtar bu çarpımı içerir, özel anahtarı hesaplamak ise asal çarpanları bilmeyi gerektirir.

Bazı eski Türkçe kaynaklarda RSA'nın "büyük sayıları çarpanlarına ayırmanın kolay" olmasına dayandığı yazar; durum tam tersidir. Çarpanlara ayırma kolay olsaydı herkes açık anahtardan özel anahtarı hesaplayabilir ve RSA hiçbir işe yaramazdı.

RSA algoritması nasıl çalışır? Adım adım örnek

Gerçek RSA anahtarları yüzlerce basamaklı sayılar kullanır. Mantığı görmek için aşağıda çok küçük sayılarla bir örnek hesaplıyoruz. Bu boyuttaki bir anahtar elle bile kırılabilir; yalnızca öğretim amaçlıdır.

  1. İki asal sayı seçin: p = 61 ve q = 53.
  2. Modülü hesaplayın: n = p × q = 3233. Bu sayı açık anahtarın parçasıdır.
  3. φ(n) değerini hesaplayın: φ(n) = (p − 1) × (q − 1) = 60 × 52 = 3120.
  4. Açık üssü seçin: 3120 ile ortak böleni olmayan bir sayı, örneğin e = 17. Açık anahtar (n = 3233, e = 17) olur.
  5. Özel üssü bulun: e × d sayısı 3120'ye bölündüğünde 1 kalanını veren d sayısı: d = 2753. Kontrol: 17 × 2753 = 46.801 = 15 × 3120 + 1. Özel anahtar d = 2753'tür.
  6. Şifreleyin: Mesaj m = 65 olsun. Şifreli metin c = 6517 mod 3233 = 2790.
  7. Çözün: m = 27902753 mod 3233 = 65. Asıl mesaj geri gelir.

Saldırgan açık anahtardaki 3233'ü 61 × 53 olarak ayırabilirse d'yi de aynı yoldan hesaplar. Küçük sayılarda bu saniyeler sürer; 2048 bitlik (yaklaşık 617 basamaklı) bir modülde ise bilinen yöntemlerle pratikte mümkün değildir. Aynı hesabı Python ile kendiniz doğrulayabilirsiniz:

# Öğretim amaçlı küçük RSA örneği (Python 3.8+). Gerçek uygulamada KULLANMAYIN.
p, q, e = 61, 53, 17
n = p * q                  # 3233
phi = (p - 1) * (q - 1)    # 3120
d = pow(e, -1, phi)        # 2753 (e'nin mod phi tersi)

m = 65
c = pow(m, e, n)           # şifreleme: 2790
print(c, pow(c, d, n))     # 2790 65

Gerçek uygulamalarda RSA bu "ham" biçimiyle kullanılmaz. Mesaj şifrelenmeden önce rastgele dolgu (padding) eklenir: RSA standardı RFC 8017, yeni uygulamalarda şifreleme için RSAES-OAEP, imza için RSASSA-PSS şemalarını öngörür. Kendi RSA kodunuzu yazmak yerine bu şemaları uygulayan hazır kütüphaneleri kullanın.

RSA anahtarı kaç bit olmalı?

NIST'in anahtar yönetimi kılavuzu (SP 800-57 Bölüm 1), farklı algoritmaların yaklaşık olarak hangi güvenlik düzeyine denk geldiğini şöyle verir:

Güvenlik düzeyiSimetrik karşılığıRSA modülüEliptik eğri anahtarı
112 bit3DES (3 anahtarlı)2048 bit224–255 bit
128 bitAES-1283072 bit256–383 bit
192 bitAES-1927680 bit384–511 bit
256 bitAES-25615360 bit512 bit ve üstü

Aynı kılavuza göre 112 bitlik güvenlik (2048 bit RSA) 2030 sonuna kadar yeni veriyi korumak için kabul edilebilir; 2031 ve sonrası için en az 128 bitlik güvenlik gerekir. 1024 bitlik RSA ise artık yeni koruma için kullanılmamalıdır. Uzun yıllar güvende kalması gereken yeni bir sistem kuruyorsanız 3072 bit RSA'yı veya eliptik eğri algoritmalarını tercih edin.

Eliptik eğri kriptografisi: ECDH, ECDSA ve Ed25519

Eliptik eğri kriptografisi (ECC), çarpanlara ayırma yerine eliptik eğri üzerindeki ayrık logaritma probleminin zorluğuna dayanır. En büyük avantajı anahtar boyutudur: yukarıdaki tabloya göre 256 bitlik bir eliptik eğri anahtarı, 3072 bitlik bir RSA anahtarıyla yaklaşık aynı güvenliği sağlar. Daha kısa anahtarlar daha az veri ve daha hızlı işlem demektir.

  • ECDH: İki tarafın açık bir kanal üzerinden ortak bir gizli anahtar üzerinde anlaşmasını sağlar. RFC 7748'de tanımlanan X25519 bunun yaygın bir biçimidir.
  • ECDSA: Eliptik eğrilerle dijital imza algoritmasıdır; HTTPS sertifikalarında sık kullanılır.
  • Ed25519: Edwards eğrileri üzerinde çalışan EdDSA imza algoritmasının bir örneğidir ve yaklaşık 128 bitlik güvenlik hedefler (RFC 8032). NIST, Şubat 2023'te yayımlanan FIPS 186-5 ile EdDSA'yı RSA ve ECDSA'nın yanına onaylı imza algoritmaları arasına ekledi.

Dijital imza nasıl çalışır?

Dijital imzada şifrelemedeki rol değişimi tersine döner: imza özel anahtarla atılır, açık anahtarla doğrulanır. Pratikte belgenin tamamı değil, SHA-256 gibi bir hash fonksiyonuyla hesaplanan özeti imzalanır. Belgede tek bir karakter değişirse özet tutmaz ve doğrulama başarısız olur. Adım adım anlatımı Hash nedir? MD5, SHA-256 ve dijital imza yazısında bulabilirsiniz; bir açık anahtarın gerçekten kime ait olduğunu kanıtlayan sertifika sistemini ise dijital sertifika nedir yazısında ele alıyoruz.

Hibrit şifreleme: HTTPS'te asimetrik ve simetrik birlikte

Asimetrik algoritmalar yavaş olduğu için gerçek sistemler iki yöntemi birleştirir. Güncel TLS 1.3 sürümünde bir HTTPS bağlantısı kabaca şöyle kurulur:

  1. Tarayıcı ve sunucu, her bağlantı için yeni üretilen geçici anahtarlarla (ECDHE veya DHE) ortak bir gizli değer üzerinde anlaşır.
  2. Sunucu, sertifikasındaki RSA veya ECDSA anahtarıyla bir imza atarak kimliğini kanıtlar.
  3. Anlaşılan gizli değerden oturum anahtarları türetilir ve sayfanın içeriği AES-GCM veya ChaCha20-Poly1305 ile simetrik olarak şifrelenir.

TLS 1.3, eski sürümlerdeki "oturum anahtarını sunucunun RSA anahtarıyla şifreleyip gönderme" yöntemini kaldırmıştır. Bunun sonucu ileri gizliliktir (forward secrecy): sunucunun uzun süreli anahtarı ileride çalınsa bile, geçmişte kaydedilmiş bağlantılar çözülemez. Ayrıntılar için SSL/TLS ve güvenli iletişim yazısına bakabilirsiniz.

Kuantum bilgisayarlar ve yeni standartlar

Yeterince güçlü bir kuantum bilgisayar, Shor algoritmasıyla hem RSA'yı hem de eliptik eğri algoritmalarını kırabilecektir. Böyle bir makine henüz yoktur, ama bugün kaydedilen şifreli trafiğin ileride çözülmesi riski nedeniyle hazırlık şimdiden başlamıştır.

NIST, 13 Ağustos 2024'te ilk üç kuantum sonrası kriptografi standardını yayımladı:

  • FIPS 203 (ML-KEM): Anahtar oluşturma ve paylaşma için ana standart.
  • FIPS 204 (ML-DSA): Dijital imzalar için ana standart.
  • FIPS 205 (SLH-DSA): Hash tabanlı, yedek dijital imza standardı.

NIST'in Kasım 2024'te yorumlara açtığı geçiş taslağı (NIST IR 8547), 112 bitlik güvenlik düzeyindeki RSA ve eliptik eğri algoritmalarının 2030'dan sonra kullanımdan kaldırılmasını, tüm bu algoritmaların ise 2035'ten sonra yasaklanmasını öneriyor. AES gibi simetrik algoritmalar ise en az 128 bitlik güvenlik sağladıkları sürece onaylı kalmaya devam ediyor. Kuantum fiziğini kullanan farklı bir yaklaşımı, kuantum anahtar dağıtımını Kuantum Şifreleme yazısında anlatıyoruz.

Asimetrik şifreleme örnekleri

AlgoritmaDayandığı problemKullanım
RSAÇarpanlara ayırmaSertifika imzaları, eski sistemlerde anahtar taşıma
ECDH / X25519Eliptik eğri ayrık logaritmasıTLS, SSH ve mesajlaşmada anahtar anlaşması
ECDSA, Ed25519Eliptik eğri ayrık logaritmasıDijital imza, sertifika, SSH anahtarları
ML-KEM, ML-DSAKafes (lattice) problemleriKuantum sonrası anahtar paylaşma ve imza

Asimetrik anahtarların güvenliği, üretilirken kullanılan rastgeleliğin kalitesine de bağlıdır; tahmin edilebilir bir kaynakla üretilen anahtar, uzunluğu ne olursa olsun zayıftır. Bu konuyu kriptografide rastgelelik yazısında gerçek bir örnekle ele alıyoruz.

Sık sorulan sorular

RSA algoritması nedir?

RSA, 1978'de Ron Rivest, Adi Shamir ve Leonard Adleman'ın yayımladığı ve adını soyadlarının baş harflerinden alan asimetrik şifreleme ve dijital imza algoritmasıdır. Açık anahtar iki büyük asal sayının çarpımını içerir; güvenliği, bu çarpımdan asal çarpanları bulmanın büyük sayılarda pratikte imkânsız olmasına dayanır.

Asimetrik şifreleme nedir?

Asimetrik şifreleme, birbirine matematiksel olarak bağlı iki anahtar kullanan yöntemdir. Açık anahtar herkesle paylaşılır ve şifrelemek ya da imza doğrulamak için kullanılır; özel anahtar yalnızca sahibinde kalır ve şifreyi çözmek ya da imza atmak için kullanılır. Böylece önceden gizli bir anahtar paylaşmadan güvenli iletişim kurulabilir.

Asimetrik şifreleme örnekleri nelerdir?

Başlıca asimetrik algoritmalar RSA, eliptik eğri tabanlı ECDH ve ECDSA, Ed25519 ve Diffie-Hellman anahtar değişimidir. Günlük örnekler arasında HTTPS sertifikaları, e-imza, yazılım güncellemelerinin imzalanması, SSH anahtarları ve uçtan uca şifreli mesajlaşma uygulamaları sayılabilir.

RSA anahtarı kaç bit olmalı?

NIST'in anahtar yönetimi kılavuzuna göre 2048 bitlik RSA anahtarı yaklaşık 112 bitlik güvenlik sağlar ve 2030 sonuna kadar yeni koruma için kabul edilebilir; 3072 bit ise 128 bitlik güvenliğe karşılık gelir. Uzun süre güvende kalması gereken yeni sistemlerde 3072 bit veya eliptik eğri algoritmaları tercih edilmelidir.

RSA ile ECC arasındaki fark nedir?

İkisi de asimetrik kriptografidir ama farklı matematik problemlerine dayanır: RSA büyük sayıları çarpanlarına ayırmanın zorluğuna, ECC ise eliptik eğri üzerindeki ayrık logaritma probleminin zorluğuna. ECC aynı güvenliği çok daha kısa anahtarlarla sağlar; 256 bitlik bir eliptik eğri anahtarı yaklaşık 3072 bitlik bir RSA anahtarına denk gelir.