GPG anahtarları için daha iyi ne olabilir - RSA veya DSA?


58

ssh-keygenRSA anahtarları oluşturmak için varsayılan ayarları kullanır, ancak gpg --gen-keyDSA / ElGamal'ı tercih eder.

Hangisi - RSA veya DSA - GPG için daha iyidir?


1
Ayrıca bkz bu StackOverflow soru yanı sıra Cevabımı tartışır Bu soruya, bir kopyası için neden RSA anlamlı DSA daha güvenlidir 2010 yılında ve bugünün bilinen güvenlik (DSA için bunların tümü) ile hem.
Adam Katz

Yanıtlar:



25

RSA ve DSA - kavram yanılgıları ve faydalı bilgiler
birkaç eski RSA referansına ve son DSA referansına sahiptir,


2003 yılında, RSA vs DSA İmzalar - The Kazanan ... - RSA .

Bu yüzden temel olarak anahtar oluşturma, algoritmaları anlarsanız mantıklı olan DSA için inanılmaz derecede hızlıdır. İmzalama ayrıca DSA için daha hızlıdır, ancak bu kadar büyük bir faktör değildir. RSA'nın en büyük gücü, DSA'dan daha hızlı olduğunu doğrulamak .

Son IETF Taslak: SHA-2 DNSSEC için birlikte DSA Jan 7, 2010. Bitmek,
Bugün RSA üzerinde DSA tanıtımı için bazı nedenleri vardır.

DNSSEC'de SHA-256 ile DSA'yı kullanmak, 2048-bit tuşlarını kullanırken RSA'nın SHA-256 ile kullanılmasına göre bazı avantaj ve dezavantajlara sahiptir . DSA imzaları, RSA imzalarından çok daha kısadır ; Bu boyutta, fark, 548 bit ve 2048 bit'dir. 2048 bit anahtar kullanan tipik platformlarda, DSA'yı imzalamak, RSA'dan üç kat daha hızlıdır, ancak RSA imzalarını doğrulamak DSA'dan on kat daha hızlıdır .

DSA'nın şifreleme gücünün, DSA genel anahtarı ve RSA genel anahtarları aynı boyutta olduğunda, genellikle RSA'ya eşdeğer olduğu kabul edilir. Bu tür bir değerlendirme, elbette, bir ya da diğer algoritmalarla daha iyi sonuç veren yeni saldırılar bulunursa gelecekte değişebilir.

Şu anda bu belge için seçilen belirli DSA parametreleri grubuna yönelik bilinen bir saldırı bulunmamaktadır. Böyle bir değerlendirme elbette gelecekte değişebilir.

Ancak, bu şu anda sadece bir taslak .

Herkes RSA'nın (!) Doğrulama hızını sever.



6

Bir forum tartışmasından alıntı :

Tavsiyem, bir RSA imzalama anahtarı ("birincil" veya "ana" anahtar) ve şifreleme için bir RSA alt anahtarı kullanmak olacaktır. RSA'yı imzalama için kullanmanın nedeni, çoğunlukla RSA'nın DSA'dan daha fazla karma kullanmanıza izin vermesidir. DSA2 ayrıca daha büyük karmalar kullanmanıza izin verir, ancak RSA, DSA2'den daha uzun süredir desteklenmektedir.

Standart bir şekilde kullanıyorsanız (yani büyük miktarda veri şifrelemiyorsanız) her ikisinin de iyi olacağını düşünüyorum.

Kişisel olarak RSA'yı seçerdim çünkü algoritmayı öğrendim ve bu şimdiye kadar gördüğüm en güzel algoritmalardan biri.


4

Ayrıca, SHA-2 algoritmalarının kullanılması mümkündür ve DSS'nin güncel revizyonundan bu yana izin verilir; ancak GPG'nin hangi revizyonu takip ettiğini bulamadım.

Mevcut DSS spesifikasyonu ile ilgili olarak ( FIPS-186-3 , s. İ) SHS'de belirtilen herhangi bir karma fonksiyonu (FIPS-180-3, s. İv) kullanılabilir:

DSS:

FIPS onaylı dijital imza algoritmaları, SHS'de belirtilen uygun bir karma işlevi ile kullanılmalıdır.

SHS:

Bu Standart, elektronik verilerin yoğun bir gösterimini hesaplamak için beş güvenli karma algoritması (SHA-1, SHA-224, SHA-256, SHA-384 ve SHA-512) belirtir (mesaj).


Soruya: Her iki algoritma da, güvenli olduğu kanıtlanmamış matematiksel problemlere dayanmaktadır (RSA, çarpanlara ayırma problemini ve DSA, ayrık logaritma problemini kullanır), birinin diğerinden daha güvenli olduğunu söyleyemezsiniz; Sorun ne de diğeri hiç çözülmedi.

Ancak DSA'yı SHA-1 ile kullanmak, daha önce pgs tarafından söylendiği gibi bir güvenlik problemine sahip olabilir .


1

Gerçek şu ki muhtemelen sizin için çok önemli değil :) Bir anahtar çifti oluşturmaya hazırlanmanın bir parçası olarak ve mevcut anahtar çiftleri korumanın bir parçası olarak - seçtiğiniz asimetrik kriptodan bağımsız olarak: 1) önerilen akımı kontrol etmelisiniz anahtar uzunlukları 2) imzalama veya doğrulama için optimize etmek için bir üs / modül seçti - daha sık ne yapılacağına bağlı olarak (her web tarayıcısının imzayı kontrol etmesi nedeniyle TLS / SSL sunucu sertifikaları vermede kullanılacak anahtarlar doğrulama için optimize edilmelidir) ... imzalama yazılımında kullanılan anahtarlar benzer şekilde optimize edilmiş olmalıdır) 3) anahtarlarınızı yaşlandırdığınızdan emin olun - ssh-auth için aynı anahtarı birkaç yıldır kullanıyorsanız, bir anahtar seçmiş olsanız bile, yeniden oluşturma zamanı gelebilir bugün uygulama için hala makul büyüklüğü.

Hem RSA hem de DSA büyük ölçüde değerlendirildi; Eğer uygun bir kod tabanı (RSAREF, RSA ticari, Mozilla / Netscape, Microsoft, OpenSSL, ...) kullanıyorsanız, doğru kullandığınız ve mevcut en iyi uygulamaları kullandığınız sürece hangi şifreleme sistemini kullandığınız umrunda değil

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.