Açık Anahtarlı Kriptografi
Public-Key Cryptography
- İngilizcesi
- Public-Key Cryptography
- Türkçe karşılığı
- asimetrik şifreleme
- Okunuşu
- pablik ki kriptogrıfi
Günlük kullanımda iki ad da yaygın.
Kısaca
Açık anahtarlı kriptografi, veriyi şifreleyip imzalamak için herkesin görebildiği bir açık anahtar ile gizli tutulan bir özel anahtardan oluşan çift kullanır.
Açık anahtarlı kriptografi nedir?
Asimetrik kriptografi olarak da bilinen açık anahtarlı kriptografi, tek bir ortak sır yerine matematiksel olarak bağlantılı iki anahtar kullanır. Açık anahtar herkese verilebilir, özel anahtar ise sahibi tarafından gizli tutulmalıdır. Açık anahtarla şifrelenen veri yalnızca eşleşen özel anahtarla çözülebilir; özel anahtarla oluşturulan dijital bir imza ise açık anahtara sahip herkes tarafından doğrulanabilir.
Güvenliği, bir yönde hesaplaması kolay ama tersine çevirmesi pratikte imkânsız matematik problemlerine dayanır: RSA'nın kullandığı iki devasa asal sayının çarpımını çarpanlarına ayırmak ya da ECDSA, Ed25519 ve ECDH'nin kullandığı eliptik eğri problemleri gibi. Asimetrik işlemler yavaş olduğundan gerçek sistemler bunları simetrik şifrelemeyle birleştirir: bir TLS el sıkışmasında iki taraf sunucunun kimliğini doğrulamak ve yeni bir ortak anahtar üzerinde anlaşmak için açık anahtarlı yöntemleri kullanır, ardından konuşmanın geri kalanını AES gibi hızlı simetrik şifrelemeyle şifreler.
Klasik bir benzetme, üzerinde yuva olan bir posta kutusudur: yuvadan herkes mektup bırakabilir, bu açık anahtardır; ama kutuyu açan anahtar yalnızca sahibindedir, bu da özel anahtardır. Açık anahtarlı kriptografi; HTTPS sertifikalarının, SSH girişlerinin, imzalı yazılım güncellemelerinin, şifreli e-postanın, passkey'lerin ve RS256 veya ES256 gibi algoritmalarla imzalanan JWT'lerin arkasındadır.
Genellikle, aynı gizli anahtarın hem şifrelediği hem çözdüğü, hızlı ama iki tarafın bu anahtarı önceden güvenle paylaşmasını gerektiren simetrik şifrelemeyle karşılaştırılır. Açık anahtarlı kriptografi anahtar paylaşımı sorununu çözer, ancak tek başına bir açık anahtarın kime ait olduğunu kanıtlayamaz; güvenilir sertifika otoritelerinin imzaladığı sertifikaların açık anahtarları alan adlarına ve kuruluşlara bağlamasının nedeni budur. Gelecekteki büyük ölçekli kuantum bilgisayarlar RSA ve eliptik eğri yöntemlerini kırabileceğinden, NIST'in 2024'te standartlaştırdığı ML-KEM ve ML-DSA gibi kuantum sonrası algoritmalar şimdiden devreye alınıyor.
Bir bakışta
Önemli noktalar
- Her tarafın bir anahtar çifti vardır: paylaşılacak bir açık anahtar ve gizli tutulacak bir özel anahtar.
- Açık anahtarla şifrelenen veri yalnızca eşleşen özel anahtarla çözülebilir.
- Özel anahtarla yapılan imzaları açık anahtara sahip herkes doğrulayabilir.
- TLS gibi protokoller bunu hızlı simetrik şifrelemeyle birleştirir.
- Sertifikalar açık anahtarları alan adları gibi gerçek kimliklere bağlar.
Örnek
import { generateKeyPairSync, sign, verify } from "node:crypto";
// Create a key pair: share the public key, keep the private key secret
const { publicKey, privateKey } = generateKeyPairSync("ed25519");
const message = Buffer.from("Transfer $100 to Ada");
// Sign with the private key...
const signature = sign(null, message, privateKey);
// ...and anyone with the public key can check the signature
console.log(verify(null, message, publicKey, signature)); // true
const tampered = Buffer.from("Transfer $900 to Eve");
console.log(verify(null, tampered, publicKey, signature)); // falseSık sorulan sorular
Simetrik ve asimetrik şifreleme arasındaki fark nedir?
Simetrik şifreleme hem şifreleme hem çözme için tek bir ortak gizli anahtar kullanır ve hızlıdır. Asimetrik şifreleme bir açık ve özel anahtar çifti kullanır; bu yüzden önceden bir sır paylaşmak gerekmez, ancak daha yavaştır. TLS gibi protokollerin ikisini de kullanmasının nedeni budur.
Bir açık anahtar veriyi çözebilir mi?
Aynı açık anahtarla şifrelenmiş veriyi çözemez; bunu yalnızca eşleşen özel anahtar yapabilir. Açık anahtar, özel anahtarla yapılmış imzaları doğrulamak için kullanılır; bu bazen gevşek biçimde çözme olarak tarif edilir, ancak ayrı bir işlemdir.
Özel anahtarım sızarsa ne olur?
Özel anahtara sahip olan herkes size gönderilen mesajları çözebilir ve adınıza imza oluşturabilir. Anahtarı, örneğin sertifikasını iptal ederek geçersiz kılın, yeni bir anahtar çifti üretin ve eski açık anahtarı kullanıldığı her yerde değiştirin.
Sık karşılaştırılanlar
İlgili sayfalar
- ŞifrelemeGüvenlik, s. 42Şifreleme, veriyi bir anahtarla karıştırarak yalnızca doğru anahtara sahip olanın onu özgün ve okunabilir hâline geri çevirebilmesini sağlama işlemidir.
- TLSGüvenlik, s. 44TLS, ağda gönderilen veriyi şifreleyen ve sunucunun kimliğini doğrulayan, HTTPS, e-posta ve birçok başka bağlantıyı güvenceye alan kriptografik protokoldür.
- HTTPSGüvenlik, s. 15HTTPS, tarayıcı ile web sitesi arasındaki trafiği TLS ile şifreleyen, verileri dinlemeye ve değiştirilmeye karşı koruyan HTTP'nin güvenli sürümüdür.
- HashingGüvenlik, s. 12Hashing, bir girdiyi tek yönlü bir fonksiyonla sabit uzunlukta bir değere dönüştürmektir; veri bütünlüğünü doğrulamaya ve parolaları güvenle saklamaya yarar.
- JWTGüvenlik, s. 17JWT, kullanıcı kimliği ve son kullanma zamanı gibi bilgileri taşıyan, imzalı ve kompakt bir token'dır; sunucunun oturum aramadan istekleri doğrulamasını sağlar.
- Kimlik DoğrulamaGüvenlik, s. 19Kimlik doğrulama, bir kullanıcının, cihazın veya servisin gerçekten iddia ettiği kişi olduğunu, örneğin parola ya da passkey kontrol ederek doğrulama işlemidir.
- Simetrik ŞifrelemeGüvenlik, s. 37Simetrik şifreleme, şifrelemek ve çözmek için aynı gizli anahtarı kullanır; hızlı olduğundan saklanan ve aktarılan verinin çoğunu, genellikle AES ile korur.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin