Asimetrik Şifreleme Nedir?

Kriptografinin birçok farklı bölümü vardır. Bazı verileri şifrelemek istiyorsanız, kullanabileceğiniz iki tür algoritma vardır: simetrik şifreleme algoritmaları ve asimetrik şifreleme algoritmaları. Konsept aynıdır: verileri şifreleyebilirler ancak farklı prensipler üzerinde çalışırlar ve başka kullanım durumlarına sahiptirler.

Ancak başlık farkı, şifreleme anahtarlarını açıklar. Simetrik bir şifreleme algoritması, verileri şifrelemek ve şifresini çözmek için tek bir paylaşılan anahtar kullanır. Asimetrik bir şifreleme algoritması, biri şifreyi çözmek ve diğeri şifreyi çözmek için iki bağlantılı anahtar kullanır.

terminoloji

Asimetrik şifreleme algoritmaları, iki farklı anahtarın kullanımına dayanır. Anahtarlardan biri verileri şifrelemek için, diğeri ise şifresini çözmek için kullanılabilir. İki şifreleme anahtarı herhangi bir eski iki değer değildir. Bunlar özünde ilişkilidir ve bir anahtar oluşturma algoritması tarafından üretilmeleri gerekir.

Asimetrik şifreleme için alternatif bir isim, açık anahtarlı şifrelemedir. Bunun nedeni, iki anahtardan birinin genel olması amaçlanmıştır. Geleneksel konsept, şifreleme anahtarının herkese açık olarak paylaşılması ve şifre çözme anahtarının kesinlikle gizli tutulmasıdır. Bu nedenle şifreleme anahtarına genel anahtar, şifre çözme anahtarına ise özel anahtar adı verilir.

Bu yapılandırma, herkesin bir mesajı şifrelemesine izin verir, böylece yalnızca özel anahtar sahibi şifresini çözebilir. Bu kullanışlıdır, çünkü herkes yayınlanan tek bir şifreleme anahtarıyla amaçlanan alıcıyla güvenli bir şekilde iletişim kurabilir. Güvenli bir şekilde geri iletişim kurmak için, alıcının orijinal gönderenin genel anahtarını kullanması gerekir.

Teorik olarak, şifreleme anahtarını gizli tutarken anahtarları değiş tokuş etmemeniz ve şifre çözme anahtarını paylaşmamanız için hiçbir neden yoktur. Bu, herhangi bir anlamlı güvenlik sağlamazsa, kaynağın gerçekliğini doğrulamak için kullanılabilir. Ancak, aynı sonucu elde etmek için başka mekanizmalar mevcut olduğundan, bu pratikte yapılmaz.

Simetrik Şifreleme Algoritmalarının Özellikleri

Asimetrik şifreleme algoritmaları, aynı düzeyde güvenlik sağlarken simetrik şifreleme algoritmalarına göre çok daha büyük anahtarların kullanılmasını gerektirir. Genel olarak, 128 bit şifreleme anahtarına sahip simetrik bir şifreleme algoritması güvenli kabul edilir, ancak 256 bit anahtarlar tercih edilir. Asimetrik bir şifreleme algoritmasında 2048 bitlik anahtarlar güvenli kabul edilir.

2048 bitlik anahtar örneği, uzun süredir asimetrik şifreleme standardı olan RSA için geçerlidir. Bununla birlikte, eliptik eğri kriptografisi, aynı zamanda asimetrik olan ancak önemli ölçüde daha küçük anahtarlar kullanan daha yeni bir kavramdır. 2048 bit RSA anahtarı, 224 bit eliptik eğri anahtarına eşdeğer güvenlik sunar.

Uç: Yukarıdaki değerler ticari kullanım için güvenli kabul edilir, ancak NSA çok gizli şifreleme için daha güçlü anahtarlar gerektirir. En az 3072 bitlik RSA anahtarları, 384 bitlik eliptik eğri anahtarları gereklidir. 3072 bit RSA anahtarının, 384 bit eliptik eğri anahtarından daha zayıf olduğunu belirtmek gerekir.

Asimetrik şifreleme algoritmaları, simetrik şifreleme algoritmalarına kıyasla nispeten yavaş olma eğilimindedir. Her iki taraf da asimetrik bir anahtar çifti oluşturursa ve ardından ortak anahtarları değiştirirse, güvenli olmayan bir kanal üzerinden güvenli iletişim gerçekleştirilebilir. Bu şekilde, her iki taraf da yalnızca diğerinin şifresini çözebileceği mesajlar gönderebilir.

Uygulamada, taraflardan en az birinin açık anahtarının bütünlüğünü doğrulaması gerekir. Bu, PKI veya Açık Anahtar Altyapısı aracılığıyla yapılır. Bu, kimliklerinin doğrulandığını göstermek için başkalarının anahtarlarını imzalayan Sertifika Yetkilileri şeklini alır. Bu sistemde, tüm sertifika yetkililerine güvenilmelidir; bu olmadan, sistem parçalanacak.

Pratikte Kullanın

Asimetrik şifreleme algoritmaları, özellikle zaman veya performans bir sorun olduğunda, genellikle toplu şifreleme için kullanılmaz. Bir e-postanın içeriği gibi tek seferlik mesajları şifrelemek için kullanılabilirler. Bununla birlikte, güvenli olmayan bir kanalı güvence altına alma yetenekleri, onları, daha verimli toplu şifreleme için kullanılabilecek simetrik anahtarları ileten bir anahtar değişim protokolü için mükemmel bir seçim haline getirir.

Bu, HTTPS'de güvenlik sağlayan TLS'deki kullanım durumudur. Bir kullanıcı bir web sunucusuna bağlanır; daha sonra küçük mesajları birbirlerine şifrelemek için ortak anahtarları değiş tokuş ederler. Sunucu daha sonra simetrik bir anahtar oluşturur, bunu kullanıcının genel anahtarıyla şifreler ve kullanıcıya gönderir. Kullanıcı anahtarın şifresini çözer ve ardından simetrik anahtarı sunucuyla gelecekteki iletişimleri verimli bir şekilde şifrelemek için kullanabilir.

Yukarıdaki süreçte bir sertifika yetkilisi, sunucunun genel anahtarını doğrular. Bu, kullanıcının iletişim kurmaya çalıştığı kişiyle iletişim kurduğundan emin olmasını sağlar. Çoğu durumda, sunucunun hangi kullanıcıyla iletişim kurduğunu doğrulaması gerekmediğinden, kullanıcı tek kullanımlık bir anahtar oluşturur.

Çözüm

Asimetrik şifreleme algoritmaları iki farklı anahtar kullanır. Bir anahtar şifreleme için, diğeri ise şifre çözme için kullanılır. Anahtarlar matematiksel olarak bağlantılıdır ve bir anahtar oluşturma algoritması tarafından üretilmelidir; Rastgele değerler çalışmıyor. Tipik olarak, şifreleme anahtarı herkese açık olarak paylaşılır ve anahtar çiftinin sahibine yönelik bir mesajı herkesin şifrelemesine olanak tanır.

Şifre çözme anahtarı özel kaldığı sürece, yalnızca anahtar sahibi genel anahtarla şifrelenmiş mesajların şifresini çözebilir. Bu nedenle, asimetrik şifrelemeye genellikle açık anahtarlı şifreleme de denir.