it-swarm.asia

Apa yang lebih baik untuk kunci GPG - RSA atau DSA?

ssh-keygen secara default untuk membuat kunci RSA, tetapi gpg --gen-key lebih suka DSA/ElGamal.

Yang mana - RSA atau DSA - yang lebih baik untuk GPG?

57
grawity

Pemelihara GPG sedang memikirkan mengubah default ke RSA (sumber: Berurusan dengan kelemahan dalam SHA-1 [LWN.net] ). Jadi, tampaknya mereka berpikir RSA saat ini merupakan pilihan yang lebih baik (dan mereka harus tahu lebih banyak tentang hal itu daripada Anda atau saya).

36
CesarB

RSA dan DSA - kesalahpahaman dan informasi yang berguna
memiliki pasangan yang lebih tua RSA referensi dan yang terbaru DSA referensi,


Pada tahun 2003, RSA vs DSA Signatures - Pemenangnya adalah ... - RSA.

Jadi pada dasarnya pembuatan kunci sangat cepat untuk DSA, yang masuk akal jika Anda memahami algoritma. Penandatanganan juga lebih cepat untuk DSA, tetapi tidak sebesar faktornya. Kekuatan besar RSA adalah memverifikasi yang jauh lebih cepat daripada DSA .

Baru-baru ini Draft IETF: DSA dengan SHA-2 untuk DNSSEC , Kedaluwarsa 7 Jan 2010.
Ia memiliki beberapa alasan untuk mempromosikan DSA melalui RSA hari ini.

Menggunakan DSA dengan SHA-256 dalam DNSSEC memiliki beberapa kelebihan dan kerugian relatif untuk menggunakan RSA dengan SHA-256 saat menggunakan kunci 2048-bit. Tanda tangan DSA jauh lebih pendek daripada tanda tangan RSA ; pada ukuran ini, perbedaannya adalah 512 bit verus 2048 bit. Pada platform biasa menggunakan kunci 2048-bit, penandatanganan DSA sekitar tiga kali lebih cepat daripada untuk RSA, tetapi memverifikasi tanda tangan RSA lebih dari sepuluh kali lebih cepat daripada untuk DSA .

Kekuatan kriptografi DSA umumnya dianggap setara dengan RSA ketika kunci publik DSA dan kunci publik RSA memiliki ukuran yang sama. Penilaian seperti itu, tentu saja, dapat berubah di masa depan jika serangan baru yang bekerja lebih baik dengan satu atau algoritma lainnya ditemukan.

Saat ini tidak ada serangan yang diketahui pada set parameter DSA tertentu yang dipilih untuk dokumen ini. Penilaian seperti itu tentu saja bisa berubah di masa depan.

Tapi, ini hanya konsep saat ini.

Semua orang menyukai kecepatan verifikasi RSA (!).

24
nik

RSA. Ada beberapa kelemahan yang ditemukan di SHA-1 , yang merupakan hash yang digunakan oleh DSA . Debian adalah migrasisemua kunci mereka dari DSA ke RSA.

8
pgs

Mengutip a diskusi forum :

Saran saya adalah menggunakan kunci penandatanganan RSA (kunci "primer" atau "master") dan subkunci RSA untuk enkripsi. Alasan untuk menggunakan RSA untuk penandatanganan terutama karena RSA memungkinkan Anda menggunakan hash yang lebih besar daripada DSA. DSA2 juga memungkinkan Anda menggunakan hash yang lebih besar, tetapi RSA telah didukung selama bertahun-tahun lebih lama daripada DSA2.

Saya pikir jika Anda menggunakannya dengan cara standar (mis. Anda tidak mengenkripsi sejumlah besar data) mereka berdua akan melakukannya dengan baik.

Saya pribadi akan memilih RSA karena saya telah mempelajari algoritma, dan itu adalah salah satu algoritma yang paling indah yang pernah saya lihat.

5
Adam Matan

Juga penggunaan algoritma SHA-2 adalah mungkin dan diizinkan sejak revisi DSS saat ini; tetapi saya tidak dapat menemukan revisi GPG yang mengikuti.

Mengenai spesifikasi DSS saat ini ( FIPS-186- , hal. I) fungsi hash apa pun yang ditentukan dalam SHS (FIPS-180-3, hal. Iv) mungkin bekas:

DSS:

Algoritme tanda tangan digital FIPS yang disetujui harus digunakan dengan fungsi hash yang sesuai yang ditentukan dalam SHS.

SHS:

Standar ini menetapkan lima algoritma hash aman - SHA-1, SHA-224, SHA-256, SHA-384, dan SHA-512 - untuk menghitung representasi data elektronik (pesan) yang kental.


Untuk pertanyaan: Kedua algoritma didasarkan pada masalah matematika yang tidak terbukti aman (RSA menggunakan masalah angka faktorisasi dan DSA menggunakan logaritma diskrit masalah), Anda tidak bisa mengatakan yang satu lebih aman daripada yang lain, karena tidak satu masalah atau yang lain tidak pernah diselesaikan.

Tetapi dengan menggunakan DSA dengan SHA-1 Anda mungkin memiliki masalah keamanan, seperti yang telah dikatakan oleh pgs .

4
Manuel Faux

Faktanya adalah itu mungkin tidak masalah bagi Anda :) Sebagai bagian dari persiapan untuk menghasilkan pasangan kunci dan sebagai bagian dari mempertahankan pasangan kunci yang ada - terlepas dari apa kripto asimetris yang Anda pilih, Anda harus: 1) memeriksa saat ini direkomendasikan panjang kunci 2) memilih basis/modulo untuk dioptimalkan untuk penandatanganan, atau verifikasi - tergantung pada apa yang akan dilakukan lebih sering (kunci yang akan digunakan dalam menerbitkan sertifikat server TLS/SSL harus dioptimalkan untuk verifikasi karena setiap browser web akan memeriksa tanda tangan ... kunci yang digunakan untuk menandatangani perangkat lunak harus dioptimalkan dengan cara yang sama) 3) pastikan Anda menghitung usia kunci Anda - telah menggunakan kunci yang sama untuk ssh-auth selama beberapa tahun, mungkin waktu untuk mengatur ulang bahkan jika Anda memilih kunci ukuran itu masih masuk akal untuk aplikasi saat ini.

Baik RSA dan DSA telah dievaluasi secara substansial; jika Anda menggunakan basis kode yang dapat diaktifkan (RSAREF, RSA komersial, Mozilla/Netscape, Microsoft, OpenSSL, ...) maka Anda mungkin tidak peduli cryptosystem mana yang Anda gunakan selama Anda menggunakannya dengan benar dan memanfaatkan praktik terbaik saat ini

1
Ram