Enkripsi dan penandatanganan algoritma terbaik untuk GnuPG: RSA / RSA atau DSA / Elgamal? [Tutup]

46

Saya telah menemukan pertanyaan yang relatif lama ini tentang apakah RSA atau DSA adalah algoritma yang disukai untuk menandatangani dan mengenkripsi dengan GnuPG.

Saat menggunakan gpg --gen-key, dua pilihan yang relevan adalah "RSA dan RSA" atau "DSA dan Elgamal". Mana yang lebih baik? Apa pro dan kontra untuk masing-masing? Apakah ada yang berubah sejak 2009?

The-Q
sumber
menemukan posting ini juga membantu: linuxquestions.org/565242#2986414 dan lists.gnupg.org/022764
RubyTuesdayDONO

Jawaban:

73

Rekomendasi yang Dapat Dipercaya

Ketika pada saat posting terakhir, masih ada perdebatan tentang mengubah algoritma default masih ditemukan di arsip web yang memiliki konsensus kasar, beralih ke kunci RSA 2k sebagai default telah dilakukan.

Debian merekomendasikan penggunaan kunci RSA 4k dalam dokumen mereka tentang penggunaan subkunci dan file readme kunci debian . Sebagian besar dari sekitar tiga perempat kunci di pengembang debian keyring adalah (masih) DSA / Elgamal (dihitung dengan memahami keluaran gpg).

Dalam sebuah wawancara dengan iX (majalah ilmu komputer Jerman, edisi 11/2013, juga tersedia online secara gratis ), penemu PGP Phil Zimmermann merekomendasikan "setidaknya 3k panjang saat menggunakan RSA", meskipun kunci 1k belum rusak. Tapi mereka "dalam jangkauan penyerang yang kaya akan sumber daya".

Mengenai Keamanan

Saat ini keduanya dikatakan aman untuk ukuran kunci yang memadai (direkomendasikan 4k untuk RSA, 2k diperlukan untuk DSA2, jika tidak, Anda akan menggunakan DSA1 yang menggunakan SHA-1 ).

Untuk memilih panjang kunci RSA , lihat ikhtisar kekuatan sebenarnya yang disediakan oleh NIST (hlm. 64). Sangat mudah untuk melihat bahwa kekuatan tidak tumbuh secara linear dengan panjang kunci (dan waktu komputasi), jadi ukuran ganda tidak berarti "keamanan ganda".

Ada masalah dengan implementasi DSA OpenSSL pada Debian , tetapi ini disebabkan oleh penggunaan data acak yang buruk dan bisa terjadi dengan RSA juga.

Memilih Antara RSA dan DSA2

pro RSA

  • RSA lebih luas, meskipun tidak diperlukan dalam standar OpenPGP, semua implementasi utama dapat menghadapinya; DSA2 belum (belum)
  • RSA menawarkan pemeriksaan tanda tangan yang jauh lebih cepat

pro DSA2

  • Tanda tangan yang lebih kecil, tapi toh kecil pula; untuk e-mail dan penandatanganan kode mungkin diabaikan
  • Pembuatan kunci lebih cepat (bisa relevan pada daya rendah dan perangkat yang disematkan seperti ponsel dan router)
  • Sedikit lebih cepat untuk mendaftar

Keputusan saya sendiri

Ketika baru-baru ini membuat kunci OpenPGP baru, saya memutuskan untuk menggunakan 8k RSA untuk kunci primer dan 4k RSA sebagai subkunci untuk penggunaan sehari-hari. Tandatangan RSA cepat untuk memverifikasi dan tanda tangan 8k yang besar hanya digunakan untuk menandatangani kunci lain, tetapi 8k harus dianggap cukup untuk waktu yang sangat lama. 4k baik untuk subkunci saat ini karena murah untuk mencabutnya tanpa kehilangan semua tanda tangan Anda.

Membuat kunci 8k itu memakan waktu sekitar 20 menit pada Core 2 Duo T9300 saya, jadi luangkan waktu Anda dan lakukan beberapa pekerjaan (untuk memberi makan sumber acak).

Jens Erat
sumber
0

Sedangkan saya memilih kunci utama RSA 4K dengan subkunci penandatanganan RSA 3K dan subkunci enkripsi 4K El-Gamal. Satu-satunya alasan saya tidak menggunakan kunci master yang lebih tinggi pada saat ini adalah karena prevalensi pengguna dengan perangkat seluler yang benar-benar kesulitan dengan kunci yang lebih besar.

Tentu saja saya memiliki kunci yang lebih besar untuk tujuan spesifik tertentu, tetapi itu cenderung tidak untuk komunikasi dengan orang lain.

Ben
sumber
1
mengapa El-Gamal untuk enkripsi?
code_monk