DSA और RSA में क्या अंतर है?


114

ऐसा लगता है कि वे दोनों एन्क्रिप्शन एल्गोरिदम हैं जिन्हें सार्वजनिक और निजी कुंजी की आवश्यकता होती है। मैं अपने क्लाइंट सर्वर एप्लिकेशन में एन्क्रिप्शन प्रदान करने के लिए एक बनाम दूसरे को क्यों चुनूंगा?


3
जैसा कि हेनरी ने उल्लेख किया है , डीएसए एन्क्रिप्शन के लिए नहीं है, बस हस्ताक्षर कर रहा है।
सैमवेन 21'13

जवाबों:


27

जिक्र करते हुए, https://web.archive.org/web/20140212143556/http://courses.cs.tamu.edu:80/pooch/665_spring2008/Australian -sec-2006/ less19.html

RSA
RSA एन्क्रिप्शन और डिक्रिप्शन कम्यूटेटिव हैं,
इसलिए इसका उपयोग सीधे एक डिजिटल सिग्नेचर स्कीम के रूप में किया जा सकता है,
जो एक आरएसए स्कीम {(e, R), (d, p, q)}
को एक संदेश M, गणना करने के लिए देता है:
S = M पॉवर d (मॉड आर)
एक हस्ताक्षर को सत्यापित करने के लिए, गणना करें:
एम = एस पावर ई (मॉड आर) = एम पावर एड (मॉड आर) = एम (मॉड आर)

RSA का उपयोग एन्क्रिप्शन और डिजिटल हस्ताक्षरों दोनों के लिए किया जा सकता है, बस उस क्रम को उलट कर जिसमें एक्सपोजर का उपयोग किया जाता है: हस्ताक्षर बनाने के लिए गुप्त घातांक (d), किसी को भी हस्ताक्षर को सत्यापित करने के लिए सार्वजनिक घातांक (e)। बाकी सब कुछ समान है।

DSA (डिजिटल सिग्नेचर एलगोरिदम)
DSA, ElGamal और Schnorr एल्गोरिदम पर एक प्रकार है, जो 320 बिट हस्ताक्षर बनाता है, लेकिन 512-1024 बिट सुरक्षा सुरक्षा के साथ फिर से कंप्यूटिंग असतत लघुगणक की कठिनाई पर टिकी हुई है, जिसे व्यापक रूप से स्वीकार किया गया

DSA कुंजी जनरेशन
सबसे पहले वैश्विक सार्वजनिक रूप से साझा किया गया है प्रमुख मान (p, q, g) चुने गए हैं:
एक बड़ा प्राइम p = 2 पॉवर L चुनें,
जहाँ L = 512 से 1024 बिट्स है और 64
चुनिंदा q का एक गुणक है, p-1 का एक 160 बिट प्राइम फैक्टर
g = h चुनें पावर (p-1) / q
किसी भी h1 के लिए
तब प्रत्येक उपयोगकर्ता एक निजी कुंजी चुनता है और अपनी सार्वजनिक कुंजी की गणना करता है:
x कंप्यूट y = g पावर x (mod p) चुनें

डीएसए प्रमुख पीढ़ी से संबंधित है, लेकिन एल गमाल की तुलना में कुछ अधिक जटिल है। अधिकतर इसलिए कि माध्यमिक 160-बिट मापांक q का उपयोग गणना में तेजी लाने और परिणामी हस्ताक्षर के आकार को कम करने में मदद के लिए किया जाता है।

डीएसए सिग्नेचर क्रिएशन एंड वेरिफिकेशन

टू साइन ए मैसेज एम
जनरेट रैंडम सिग्नेचर की k, k कंप्यूट
आर = (जी पावर k (मॉड पी)) (mod q)
s = k-१.SHA (M) + xr (mod q)
सेंड हस्ताक्षर

को सत्यापित करने के लिए संदेश के साथ हस्ताक्षर (r, s) :
w = s-1 (mod q)
u1 = (SHA (M) .w) (mod q)
u2 = rw (mod q)
v = (g शक्ति) u1.y पॉवर u2 (mod p)) (mod q)
यदि v = r है तो हस्ताक्षर सत्यापित है

हस्ताक्षर निर्माण फिर से प्रति संदेश अस्थायी हस्ताक्षर कुंजी k के उपयोग के साथ ElGamal के समान है, लेकिन परिणाम का आकार कम करने के लिए कैल्क पहले मॉड पी, फिर मॉड क्यू। ध्यान दें कि हैश फ़ंक्शन SHA का उपयोग यहाँ स्पष्ट है। सत्यापन में दो संगणनाओं की तुलना करना, फिर से थोड़ा अधिक जटिल होना, लेकिन एल गमाल से संबंधित हैं।
ध्यान दें कि लगभग सभी गणनाएं मॉड क्यू हैं, और इसलिए बहुत तेज हैं।
लेकिन, आरएसए के विपरीत, डीएसए का उपयोग केवल डिजिटल हस्ताक्षर के लिए किया जा सकता है

डीएसए सुरक्षा
एक अचेतन चैनल की उपस्थिति कई योजनाओं में मौजूद है (कोई भी जिसे यादृच्छिक संख्या के लिए चुना जाना चाहिए), न कि केवल डीएसए। यह "सिस्टम सुरक्षा" की आवश्यकता पर जोर देता है, न कि केवल एक अच्छा एल्गोरिथ्म।


आपके संदर्भ का लिंक टूट गया है
पॉल विन्ट्ज

82

नीचे AVA के उत्तर की जाँच करें

मेरा पुराना उत्तर गलत लगता है


तो इसका मतलब यह है कि अगर एन्क्रिप्ट करने के लिए डेटा की मात्रा बड़ी है तो यह आरएसए का उपयोग करके तेजी से चलेगा?
विलियमकेफ

2
नहीं, दूसरे तरीके से। डीएसए हस्ताक्षर करने में तेज है (जो गणितीय रूप से एन्क्रिप्ट करने के बराबर या कम है), इसलिए यदि आपको बहुत अधिक एन्क्रिप्ट करना है और अक्सर डिक्रिप्ट करना है, तो डीएसए तेज है।
हेनरी

ग्राहक की ओर से एन्क्रिप्ट करने के लिए बहुत सारे डेटा लेकिन यह केवल सर्वर पर एक बार डिक्रिप्टेड है, तो क्या डीएसए अभी भी जीतता है?
विलियमकेएफ

30
डीएसए एन्क्रिप्ट नहीं करता है। दोहराएँ, डीएसए एन्क्रिप्ट नहीं करता है। यहाँ एक प्रश्नोत्तरी है: DSA में "S" का क्या अर्थ है?
राष्ट्रपति जेम्स के। पोल

4
@GregS आरएसए बनाम डीएसए एन्क्रिप्ट करने में सक्षम नहीं होने के कारण ज्यादातर शब्दावली का मुद्दा है। हम कई अलग-अलग एल्गोरिदम आरएसए कहते हैं, जिनमें से कुछ साइन (जैसे आरएसए-पीएसएस), जिनमें से कुछ एन्क्रिप्ट (जैसे आरएसए-ओएईपी)। लेकिन हमने समूह आधारित क्रिप्टो में प्रत्येक एल्गोरिदम को एक अलग नाम दिया, एन्क्रिप्शन एल्गोरिदम एलगामल एन्क्रिप्शन में से एक को कॉल करना और हस्ताक्षर एल्गोरिदम डीएसए में से एक को कॉल करना।
कोडइन्चोस

24

Btw, आप डीएसए के साथ एन्क्रिप्ट नहीं कर सकते, केवल साइन कर सकते हैं। यद्यपि वे गणितीय रूप से समतुल्य (अधिक या कम) हैं, आप डीएसए को एक एन्क्रिप्शन योजना के रूप में, केवल एक डिजिटल हस्ताक्षर योजना के रूप में उपयोग नहीं कर सकते।


20

संदर्भ के man ssh-keygenसाथ, NIST के 186-2 के अनुपालन के लिए DSA कुंजी की लंबाई वास्तव में 1024 बिट तक सीमित है। बहरहाल, लंबे समय तक डीएसए कुंजी सैद्धांतिक रूप से संभव है; दान 186-3 स्पष्ट रूप से उन्हें अनुमति देता है। इसके अलावा, सुरक्षा अब 1024 बिट लंबे आरएसए या डीएसए कुंजी के साथ गारंटी नहीं है।

अंत में, 2048 बिट आरएसए कुंजी वर्तमान में सबसे अच्छा विकल्प है।

अधिक जानकारी लेने के लिए

एक सुरक्षित SSH कनेक्शन की स्थापना सुरक्षित एन्क्रिप्शन कुंजी जोड़ी प्रौद्योगिकी का चयन करने से अधिक की आवश्यकता होती है। एडवर्ड स्नोडेन के एनएसए खुलासे के मद्देनजर, किसी को पहले से पर्याप्त समझा गया था।

सिर्फ एक उदाहरण का नाम देने के लिए, एक सुरक्षित कुंजी विनिमय एल्गोरिथ्म का उपयोग करना उतना ही महत्वपूर्ण है। यहाँ वर्तमान सर्वोत्तम SSH सख्त प्रथाओं का अच्छा अवलोकन है ।


ssh-keygenअन्य पुराने आकार की कुंजियों के लिए अनुमति देने के कुछ पुराने संस्करण (मैं खुद ssh-keygenRHEL पर उपयोग करके उत्पन्न 2048 बिट DSA कुंजी का उपयोग करता हूं )।
सैमवेन 21'13

6

और उपरोक्त अच्छे उत्तरों के अलावा।

  • DSA डिस्क्रीट लॉगरिथम का उपयोग करता है।
  • RSA पूर्णांक Factorization का उपयोग करता है।

आरएसए का मतलब रॉन आर आइवेस्ट, आदि एस हमीर और लियोनार्ड ड्लेमैन है।

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