GPG कुंजी के लिए बेहतर क्या है - RSA या DSA?


58

ssh-keygenRSA कुंजियाँ बनाने में चूक, लेकिन gpg --gen-keyDSA / ElGamal को प्राथमिकता देता है।

GPG के लिए कौन सा एक - RSA या DSA - बेहतर है?


1
इस स्टैकऑवरफ्लो प्रश्न के साथ-साथ उस प्रश्न के डुप्लिकेट के मेरे उत्तर के बारे में भी देखें , जो चर्चा करता है कि 2010 में RSA DSA की तुलना में अधिक सुरक्षित क्यों है, दोनों और आज की ज्ञात कमजोरियों (जिनमें से सभी डीएसए के लिए हैं)।
एडम काटज़

जवाबों:


37

GPG अनुचर डिफ़ॉल्ट को RSA में बदलने की सोच रहे हैं (स्रोत: SHA-1 [LWN.net] में कमजोरी से निपटना )। इसलिए, ऐसा लगता है कि उन्हें लगता है कि आरएसए वर्तमान में बेहतर विकल्प है (और उन्हें आपके या मेरे बारे में अधिक जानना चाहिए)।


25

आरएसए और डीएसए - गलतफहमी और उपयोगी जानकारी
में पुराने आरएसए संदर्भ और हालिया डीएसए संदर्भ केकुछ जोड़े हैं,


2003 में, आरएसए बनाम डीएसए हस्ताक्षर - विजेता है ... - आरएसए

तो मूल रूप से मुख्य पीढ़ी डीएसए के लिए अविश्वसनीय रूप से तेज़ है, जो कि एल्गोरिदम को समझने पर समझ में आता है। डीएसए के लिए भी हस्ताक्षर तेजी से होते हैं, लेकिन बड़े कारक के रूप में नहीं। आरएसए की महान शक्ति सत्यापित है जो डीएसए की तुलना में बहुत तेज है

हाल ही में IETF ड्राफ्ट: DNSSEC के लिए SHA-2 के साथ DSA , 7 जनवरी 2010
को समाप्त हो रहा है। आज RSA पर DSA को बढ़ावा देने के कुछ कारण हैं।

DNSSEC में SHA-256 के साथ DSA का उपयोग करना 2048-बिट कुंजियों का उपयोग करते समय SHA-256 के साथ RSA का उपयोग करने के सापेक्ष कुछ फायदे और नुकसान हैंडीएसए हस्ताक्षर आरएसए हस्ताक्षर की तुलना में बहुत कम हैं ; इस आकार में, अंतर 512 बिट्स 2048 बिट्स है। 2048-बिट कुंजियों का उपयोग करने वाले विशिष्ट प्लेटफार्मों पर, डीएसए पर हस्ताक्षर करना आरएसए की तुलना में लगभग तीन गुना तेज है, लेकिन आरएसए हस्ताक्षरों का सत्यापन डीएसए की तुलना में दस गुना अधिक तेज है

डीएसए की क्रिप्टोग्राफिक ताकत को आमतौर पर आरएसए के बराबर माना जाता है जब डीएसए सार्वजनिक कुंजी और आरएसए सार्वजनिक कुंजी समान आकार होते हैं। इस तरह का मूल्यांकन, भविष्य में, यदि एक या दूसरे एल्गोरिदम के साथ बेहतर काम करने वाले नए हमले पाए जाते हैं, तो भविष्य में बदल सकते हैं।

वर्तमान में इस दस्तावेज़ के लिए चुने गए डीएसए मापदंडों के विशिष्ट सेट पर कोई ज्ञात हमला नहीं है। इस तरह का मूल्यांकन, भविष्य में बदलाव को बदल सकता है।

लेकिन, यह केवल एक मसौदा है

हर कोई RSA (!) की सत्यापन गति से प्यार करता है।



6

एक मंच चर्चा का हवाला देते हुए :

मेरी सलाह होगी कि RSA साइनिंग कुंजी ("प्राथमिक" या "मास्टर" कुंजी) और एन्क्रिप्शन के लिए RSA उपकुंजी का उपयोग करें। हस्ताक्षर करने के लिए आरएसए का उपयोग करने का कारण मुख्य रूप से है क्योंकि आरएसए आपको डीएसए की तुलना में बड़े हैश का उपयोग करने देता है। DSA2 भी आपको बड़ी हैश का उपयोग करने देता है, लेकिन RSA को DSA2 की तुलना में कई वर्षों तक समर्थन दिया गया है।

मुझे लगता है कि यदि आप इसे एक मानक तरीके से उपयोग कर रहे हैं (यानी आप बड़ी मात्रा में डेटा एन्क्रिप्ट नहीं करते हैं) तो वे दोनों अच्छा करेंगे।

मैं व्यक्तिगत रूप से RSA का चयन करूंगा क्योंकि मैंने एल्गोरिथ्म सीखा है, और यह मेरे द्वारा देखे गए सबसे सुंदर एल्गोरिदम में से एक है।


4

इसके अलावा एसएचएस -2 एल्गोरिदम का उपयोग संभव है और डीएसएस के वर्तमान संशोधन के बाद से अनुमति दी गई है; लेकिन मैं यह पता लगाने में असमर्थ था कि जीपीजी किस संशोधन का अनुसरण करता है।

वर्तमान DSS विनिर्देशन के संबंध में ( एसएचएस -186-3 , पृ। I) एसएचएस (FIPS- 180-3, पी। Iv) में निर्दिष्ट कोई भी हैश फ़ंक्शन का उपयोग किया जा सकता है:।

डीएसएस:

एसएचएस में निर्दिष्ट उचित हैश फ़ंक्शन के साथ स्वीकृत स्वीकृत डिजिटल हस्ताक्षर एल्गोरिदम का उपयोग किया जाएगा।

एसएचएस:

यह मानक पांच सुरक्षित हैश एल्गोरिदम - SHA-1, SHA-224, SHA-256, SHA-384, और SHA-512 इलेक्ट्रॉनिक डेटा (संदेश) के संघनित प्रतिनिधित्व की गणना के लिए निर्दिष्ट करता है।


इस सवाल पर: दोनों एल्गोरिदम गणितीय समस्याओं पर आधारित हैं जो सुरक्षित साबित नहीं होते हैं (RSA कारक संख्याओं की समस्या का उपयोग करता है और DSA असतत लघुगणक समस्या का उपयोग करता है), आप यह नहीं कह सकते कि एक दूसरे की तुलना में अधिक सुरक्षित है, क्योंकि एक नहीं समस्या और न ही दूसरे को कभी हल किया गया है।

लेकिन SHA-1 के साथ DSA का उपयोग करने से आपको सुरक्षा समस्या हो सकती है, जैसा कि पहले से ही pgs द्वारा कहा गया है ।


1

तथ्य यह है कि यह संभवतः आपके लिए ज्यादा मायने नहीं रखता है :) कुंजी-जोड़ी बनाने के लिए तैयारी के हिस्से के रूप में और मौजूदा कुंजी-जोड़े बनाए रखने के हिस्से के रूप में - आपके द्वारा चुने गए असममित क्रिप्टो की परवाह किए बिना: 1) वर्तमान की जाँच की सिफारिश की कुंजी की लंबाई 2) ने हस्ताक्षर करने, या सत्यापन के लिए अनुकूलन के लिए एक आधार / मोडुलो चुना - जो कि अधिक बार किया जाएगा पर निर्भर करता है (टीएलएस / एसएसएल सर्वर प्रमाणपत्र जारी करने में उपयोग की जाने वाली कुंजी को सत्यापन के लिए अनुकूलित किया जाना चाहिए क्योंकि प्रत्येक वेब ब्राउज़र हस्ताक्षर की जांच करेगा। ... साइनिंग सॉफ़्टवेयर में उपयोग की जाने वाली कुंजियाँ समान रूप से अनुकूलित होनी चाहिए) 3) सुनिश्चित करें कि आप अपनी चाबियाँ उम्र के लिए बना रहे हैं - कुछ वर्षों के लिए ssh- ऑर्ट के लिए एक ही कुंजी का उपयोग कर रहा है, भले ही आपने एक कुंजी चुना हो फिर से हासिल करने का समय हो सकता है आकार जो आज भी एप्लिकेशन के लिए उचित है।

आरएसए और डीएसए दोनों का पर्याप्त मूल्यांकन किया गया है; यदि आप एक वास्तविक कोड आधार (RSAREF, RSA वाणिज्यिक, मोज़िला / नेटस्केप, माइक्रोसॉफ्ट, ओपनएसएसएल, ...) का उपयोग कर रहे हैं, तो आप शायद यह परवाह नहीं करते हैं कि आप किस क्रिप्टोकरंसी का उपयोग करते हैं जब तक आप इसे सही तरीके से उपयोग करते हैं और वर्तमान सर्वोत्तम प्रथाओं का उपयोग करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.