2010-08-30 13 views
7

मेरे पास कल उन्नत विकास में एक परीक्षा है, लेकिन मैं एन्क्रिप्शन के विषय पर फंस गया हूं। मैंने http://support.microsoft.com/kb/246071 पर इसे पढ़ लिया है। हालांकि मैं अभी भी उलझन में हूँ।असममित एन्क्रिप्शन

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

क्या कोई इसे इस तरह समझा सकता है कि एक गैर-तकनीक इसे समझने में सक्षम होगी? इसका एकमात्र असममित एन्क्रिप्शन मैं समझ नहीं पा रहा हूं, सममित एन्क्रिप्शन नहीं। अग्रिम में धन्यवाद।

सादर,

रिचर्ड

संपादित करें: तो एक वेब अनुप्रयोग के मामले में सभी प्रश्नों के उत्तर (विशिष्ट उपयोग है जिसके लिए मैं इस बारे में पता करने की जरूरत है) योग करने के लिए:

  1. उपयोगकर्ता एक वेबसाइट पर जाता है;
  2. उपयोगकर्ता से सार्वजनिक कुंजी प्रदान करने का अनुरोध किया जाता है;
  3. उपयोगकर्ता सार्वजनिक और निजी कुंजी जोड़ी बनाता है, निजी को निजी रखें और सर्वर पर सार्वजनिक कुंजी वापस भेजता है;
  4. सर्वर उपयोगकर्ता को भेजी जाने वाली किसी भी चीज़ को एन्क्रिप्ट करने के लिए सार्वजनिक कुंजी का उपयोग करता है और जानकारी को उपयोगकर्ता को भेजता है;
  5. उपयोगकर्ता सर्वर से प्रतिक्रिया को डिक्रिप्ट करने के लिए अपनी निजी कुंजी का उपयोग करता है;
  6. उपयोगकर्ता एन्क्रिप्ट करने के लिए निजी कुंजी का उपयोग करके सर्वर को प्रतिक्रिया देता है और उसे प्रतिक्रिया भेजता है;
  7. सर्वर सार्वजनिक कुंजी का उपयोग कर डिक्रिप्ट करता है। चरण 4 - 7 कई बार जारी रह सकते हैं, या वे केवल एक बार हो सकते हैं, या केवल 4 और 5 हो सकते हैं।

क्या यह सब सही है? यदि ऐसा है तो मुझे परीक्षा के लिए मुझे यह जानने की ज़रूरत है। मुझे नहीं सोचना चाहिए कि इस विषय पर अधिकतम 40% प्रश्न पूछने के लिए मुझे और जानने की आवश्यकता होगी - हालांकि प्रमाण पत्र और हस्ताक्षर के अस्तित्व का उल्लेख करेंगे।

सभी मदद के लिए धन्यवाद।

सादर,

रिचर्ड

संपादित करें: ठीक है मैं सिर्फ अपनी परीक्षा से वापस मिल गया है और यह काफी ठीक मुझे लगता है कि चला गया। लेकिन क्रिप्टोग्राफी पर कोई सवाल नहीं आया, हालांकि ... मदद की सराहना की गई थी। सबको शुक्रीया।

सादर,

रिचर्ड

+1

http://en.wikipedia.org/wiki/Public-key_cryptography? –

+1

BTW, अगर आप क्रिप्टोग्राफी में रुचि रखते हैं, तो आप में "कोड पुस्तक" सिमोन सिंह द्वारा विकि के लिए लिंक के लिए –

+0

धन्यवाद, हालांकि क) हम विकि उपयोग करने के लिए कभी नहीं कहा गया है एक बार देख लेने के लिए करना चाहिए (मैं अभी भी वैसे भी करते हैं ज्यादातर चीजों के लिए !!) और बी) जिस तरह से इसे समझाया गया है, विकी की तुलना में समझना कहीं आसान है। हालांकि विकी के व्यावहारिक प्रभावों के बारे में कुछ अच्छे अध्याय हैं। – ClarkeyBoy

उत्तर

7

ऐलिस अपनी निजी कुंजी + सार्वजनिक कुंजी बनाता है। वह अपनी निजी कुंजी निजी रखती है। वह अपनी सार्वजनिक कुंजी सार्वजनिक बनाती है।

बॉब ऐलिस की सार्वजनिक कुंजी लेता है (उसे पहले सत्यापित करना चाहिए कि यह वास्तव में ऐलिस की सार्वजनिक कुंजी है!), और यह ऐलिस को भेजे गए संदेश को एन्क्रिप्ट करने के लिए इसका उपयोग करता है।

ऐलिस अपनी निजी कुंजी का उपयोग करके संदेश को डिक्रिप्ट कर सकता है।

+0

क्या मैं समझता हूँ कि यह बहुत दौर अन्य तरीके से काम करता है से - ऐलिस उसकी निजी कुंजी का उपयोग कर एन्क्रिप्ट कर सकते हैं और फिर बॉब डिक्रिप्ट कर सकते हैं। इसे समझाने का अच्छा तरीका। धन्यवाद। – ClarkeyBoy

+0

नहीं। इस परिदृश्य में बॉब को डिक्रिप्ट करने के लिए सार्वजनिक कुंजी का उपयोग करना होगा। लेकिन कोई और भी सार्वजनिक कुंजी जानता है (यह सार्वजनिक है!) और साथ ही डिक्रिप्ट भी कर सकता है। – Jens

+0

@Jens: यह एन्क्रिप्शन के लिए (गोपनीयता के अर्थ में) उपयोगी नहीं है, लेकिन यह संदेशों पर हस्ताक्षर करने के लिए इस्तेमाल किया जा सकता। नोट: सिफर योजना के आधार पर, हस्ताक्षर और एन्क्रिप्शन के लिए विभिन्न कुंजी का उपयोग करना महत्वपूर्ण हो सकता है (उदाहरण के लिए http://security.stackexchange.com/q/1806) –

2

सार्वजनिक कुंजी "decryptor" द्वारा "encryptor" करने के लिए प्रदान की जाती है, इसलिए, परिभाषा के द्वारा, "decryptor" निजी कुंजी जानता है (क्योंकि यह का हिस्सा है कुंजी। "decryptor"

+0

आह, तो आप कह रहे हैं कि संदेश decryptor निजी कुंजी का उपयोग करके एन्क्रिप्ट किया गया है, इसलिए encryptor संदेश को डिक्रिप्ट कर सकते हैं, तो एक संदेश सार्वजनिक कुंजी जो केवल मूल निजी कुंजी से एक उपयोगकर्ता को डिक्रिप्ट कर सकते हैं का उपयोग कर एन्क्रिप्टेड वापस भेज? यह समझ में आता है, जब तक एक हैकर मूल संदेश को पकड़ने के लिए नहीं था, जिसके साथ सार्वजनिक कुंजी है। या मैं अभी भी इसे प्राप्त नहीं कर रहा हूँ? – ClarkeyBoy

+1

नहीं ... असममित क्रिप्टोग्राफी के साथ आप अन्य लोगों के लिए भेजा केवल आपकी सार्वजनिक कुंजी की जरूरत है। इससे कोई फर्क नहीं पड़ता कि उस संदेश को कौन सुनता है, कोई भी आपकी सार्वजनिक कुंजी का उपयोग करके जानकारी एन्क्रिप्ट कर सकता है और इसे आपको भेज सकता है। अगर कोई सुन रहा है, इससे कोई फर्क नहीं पड़ता, क्योंकि केवल आपके पास निजी कुंजी है (जिसे कभी प्रसारित नहीं किया जाना चाहिए)। – Sebastian

+0

तो इस से मैं ले यह आप का मतलब है कि, एक वेब अनुप्रयोग में, यह ग्राहकों (उपयोगकर्ता) खुद को जो सर्वर के लिए सार्वजनिक कुंजी प्रदान करते हैं और निजी कुंजी रखना है ..? यदि ऐसा है तो यह सही समझ में आता है। धन्यवाद। – ClarkeyBoy

1

द्वारा बनाई जोड़ी कहते हैं कि "Decryptor" = डी, और "encryptor" = ई

डी पहले से ई करने के लिए अपने सार्वजनिक कुंजी भेजा दें, ताकि ई mesage एन्क्रिप्ट कर सकते हैं।क्योंकि केवल डी ही अपनी निजी कुंजी जानता है, केवल डी को पता चलेगा कि संदेश ई को कैसे डिक्रिप्ट करना है (याद रखें: एक कुंजी एन्क्रिप्ट करने के लिए प्रयोग की जाती है, दूसरा डिक्रिप्ट करने के लिए)। इस तरह, आपको गोपनीयता मिलती है।

5

अन्य ने "सामान्य" विवरण प्रदान किया है और मैं वास्तविक जीवन की ओर गहराई से जाऊंगा।

अधिकांश आधुनिक असममित एन्क्रिप्शन मानक कच्चे सार्वजनिक और निजी कुंजी के साथ काम नहीं करते हैं, लेकिन X.50 9 प्रमाणपत्र या ओपनपीजीपी कुंजी जैसे अधिक जटिल रैपर के साथ (ये आज दो सबसे लोकप्रिय असममित एन्क्रिप्शन बुनियादी ढांचे हैं)। दोनों प्रमाण पत्र और ओपनपीजीपी कुंजी में अतिरिक्त जानकारी होती है जो उन्हें आसानी से पहचाना, खोज और प्रबंधित करने देता है।

अब, एन्क्रिप्टेड डेटा ब्लॉक में आमतौर पर सार्वजनिक भाग (यानी प्रमाण पत्र या सार्वजनिक ओपनपीजीपी कुंजी) शामिल होता है जो एन्क्रिप्शन के लिए उपयोग किया जाता है, या कम से कम आईडी (इस सार्वजनिक भाग का हैश)। डेटा के प्राप्तकर्ता के पास आम तौर पर सार्वजनिक और निजी दोनों हिस्सों (निजी कुंजी आमतौर पर प्रमाण पत्र या सार्वजनिक openpgp कुंजी के साथ रखी जाती है) दोनों हाथों (या माना जाता है) है। इसलिए जब प्राप्तकर्ता को एन्क्रिप्टेड डेटा प्राप्त होता है, तो वह जानता है कि उसे दिए गए आईडी (या एन्क्रिप्टेड डेटा में शामिल होने पर दिए गए सार्वजनिक भाग के लिए) सार्वजनिक भाग के लिए अपने निजी कुंजी संग्रहण को देखने की आवश्यकता है।

कुछ भी शामिल नहीं होने पर ऐसे मामले मौजूद हैं। तब प्राप्तकर्ता के पास कुछ भी नहीं है लेकिन डिक्रिप्शन के लिए सभी उपलब्ध निजी कुंजीों को आजमाएं। लेकिन ऐसे मामले डिफ़ॉल्ट रूप से दुर्लभ होते हैं जैसे प्रमाणपत्र या कुंजी आईडी एन्क्रिप्टेड डेटा ब्लॉक में मौजूद होती है।

+0

यह एक अच्छा जवाब है - आपको पहचान जानकारी जोड़ने की आवश्यकता है एन्क्रिप्टेड ब्लॉक/ब्लॉब को यह पहचानने के लिए कि कौन सी कुंजी इसे ड्रेक्रिप्ट करेगी। (सार्वजनिक कुंजी का नाम, फ़िंगरप्रिंट या हैश) –

12

एक निजी कुंजी केवल अपने वैध उपयोगकर्ता द्वारा जानी जाती है और वितरित नहीं होती है। इसका समकक्ष, सार्वजनिक कुंजी, किसी को भी वितरित किया जा सकता है।

इस आधार पर, आप 4 संचालन प्राप्त कर सकते हैं:

  • एन्क्रिप्ट निजी कुंजी
  • का उपयोग कर निजी कुंजी
  • चिह्न का उपयोग सार्वजनिक कुंजी
  • डिक्रिप्ट का उपयोग कर जनता का उपयोग कर हस्ताक्षर सत्यापित कुंजी

अगली समस्या जो आप सामना कर सकते हैं वह सार्वजनिक कुंजी के लिए पहचान की बाध्यकारी है (जैसा कि आप ' टी एक impostor की सार्वजनिक कुंजी के साथ कुछ हस्ताक्षर या भरोसा करना चाहते हैं)। सार्वजनिक कुंजी वितरण के विभिन्न मॉडल हैं। आमतौर पर, आप कर सकते हैं:

  • एक web of trust, जहां लोगों को सार्वजनिक कुंजी और पहचान के बीच एक-दूसरे के सहयोग से साइन इन करें: यह आम तौर पर पीजीपी मॉडल है।
  • public key infrastructure (पीकेआई) जहां आपको प्रमाणीकरण प्राधिकरणों को प्रमाण पत्र बनाने के लिए मिलता है, अक्सर मध्यवर्ती के साथ, पेड़ की तरह पदानुक्रम में। (पीजीपी भी इस मॉडल का उपयोग कर सकता है, लेकिन यह कम आम लगता है।)
संबंधित मुद्दे