क्या डेटा को एन्क्रिप्ट करना संभव है, जैसे कि इसे कई अलग-अलग कुंजी के साथ डिक्रिप्ट किया जा सकता है?
उदाहरण:
मैंने key1 के साथ डेटा एन्क्रिप्ट किया है, लेकिन मैं चाबियाँ 2, 3 और 4 के साथ डिक्रिप्ट करने में सक्षम होना चाहता हूं।
क्या यह संभव है?
क्या डेटा को एन्क्रिप्ट करना संभव है, जैसे कि इसे कई अलग-अलग कुंजी के साथ डिक्रिप्ट किया जा सकता है?
उदाहरण:
मैंने key1 के साथ डेटा एन्क्रिप्ट किया है, लेकिन मैं चाबियाँ 2, 3 और 4 के साथ डिक्रिप्ट करने में सक्षम होना चाहता हूं।
क्या यह संभव है?
जवाबों:
GnuPG मानक में बहु-कुंजी एन्क्रिप्शन करता है।
निम्न कमांड doc.txt
ऐलिस के लिए सार्वजनिक कुंजी और बॉब के लिए सार्वजनिक कुंजी का उपयोग करके एन्क्रिप्ट करेगा । ऐलिस उसकी निजी कुंजी का उपयोग कर डिक्रिप्ट कर सकती है। बॉब अपनी निजी कुंजी का उपयोग करके भी डिक्रिप्ट कर सकता है।
gpg --encrypt --recipient alice@example.com \
--recipient bob@example.com doc.txt
यह सुविधा "गाइड एन्क्रिप्ट और डिक्रिप्टिंग दस्तावेजों " नामक उपयोगकर्ता गाइड अनुभाग में विस्तृत है
कई प्राप्तकर्ताओं के लिए हां एन्क्रिप्शन संभव है। यह भी तर्कसंगत लगता है जब आपको लगता है कि आप यह पढ़ना चाहते हैं कि आपने किसी को क्या भेजा है और ऐसा करने के लिए आपको प्राप्तकर्ता सूची में होना चाहिए।
gpg
कमांड लाइन के माध्यम से इसे कैसे करना है ( डेविड सेगंड्स के उत्तर में वर्णित है ):
gpg --encrypt \
--recipient alice@example.com \
--recipient bob@example.com \
clear-message.txt
आपका GUI कई लोगों के लिए एन्क्रिप्ट करने का एक तरीका प्रदान करता है
सूचना सुरक्षा पर एक सवाल है , कई प्राप्तकर्ता के साथ GPG फ़ाइल का आकार? , जो एन्क्रिप्शन तंत्र की व्याख्या करता है :
GPG एक बार एक सममित कुंजी के साथ फाइल को एन्क्रिप्ट करती है, फिर एक हेडर को लक्ष्य कीपेयर और सममित कुंजी के एक एन्क्रिप्टेड संस्करण की पहचान करता है।
[...] जब कई प्राप्तकर्ताओं को एन्क्रिप्ट किया जाता है, तो इस हेडर को प्रत्येक प्राप्तकर्ता के लिए एक ही सममित कुंजी का विशिष्ट एन्क्रिप्टेड संस्करण प्रदान करते हुए कई बार रखा जाता है ।
सामान्य रूप से GnuPG और PGP क्लाइंट आमतौर पर "सत्र कुंजी" नामक एक सममित कुंजी के साथ वास्तविक डेटा को एन्क्रिप्ट करते हैं। सत्र कुंजी तब प्रत्येक "प्राप्तकर्ता कुंजी" के साथ एन्क्रिप्ट की जाती है (यानी जिन्हें आप -r / - प्राप्तकर्ता के साथ निर्दिष्ट करते हैं)। इसे कभी-कभी हाइब्रिड सिफर के रूप में जाना जाता है । अभी, मेरा मानना है कि डिफ़ॉल्ट रूप से GnuPG एक 256 बिट सत्र कुंजी और AES का उपयोग करता है ताकि उस AES-256 सत्र कुंजी को प्लेनटेक्स्ट डेटा एन्क्रिप्ट किया जा सके, और आपकी प्राप्तकर्ता कुंजियाँ आपका RSA / DSA / ECDSA / etc हैं। इस मामले में असममित कुंजी।
इस तरह से करने का एक कारण यह है कि एईएस जैसे सममित क्रिप्टोग्राफ़िक एल्गोरिदम आमतौर पर आरएसए जैसे असममित वाले लोगों की तुलना में बहुत तेज़ होते हैं। GnuPG को केवल RSA के साथ ~ 256 बिट्स (सत्र कुंजी) एन्क्रिप्ट करना है, और उस सत्र कुंजी के साथ डेटा को एन्क्रिप्ट करने के लिए एईएस का उपयोग कर सकते हैं (जब तक आप इसे चाहते हैं!)। इंटेल मशीनों में एक अंतर्निहित इंस्ट्रक्शन, एईएस-एनआई , हार्डवेयर में एल्गोरिदम के कुछ चरणों को करने के लिए होता है, जो डेटा को एन्क्रिप्ट / डिक्रिप्ट करने पर GnuPG को अतिरिक्त तेज़ बनाता है।
इस तरह से करने का एक और कारण यह है कि यह पीजीपी-एन्क्रिप्टेड दस्तावेजों को कई पार्टियों को एन्क्रिप्ट करने की अनुमति देता है, बिना दस्तावेज़ के आकार को दोगुना करने के लिए। ध्यान दें कि जब आप एन्क्रिप्ट किए गए दस्तावेज़ (जैसे gpg -ea -r Alice -r Bob -o ciphertext.asc
) के लिए कई प्राप्तकर्ताओं को निर्दिष्ट करते हैं , तो एन्क्रिप्ट किया गया दस्तावेज़ जो संग्रहीत हो जाता है (ciphertext.asc) 2x उतना बड़ा नहीं है जितना कि आपने इसे ऐलिस में एन्क्रिप्ट किया था।
यह भी देखें --show-session-key
में पैरामीटर GPG आदमी पेज एक तीसरी पार्टी उन्हें अपने निजी कुंजी या प्लेन टेक्स्ट डेटा स्थानांतरित करने के बिना एक दस्तावेज है कि आप के लिए एन्क्रिप्टेड है डिक्रिप्ट करने के लिए अनुमति देने के लिए सिर्फ सत्र कुंजी डिक्रिप्ट करने के लिए, उदाहरण के लिए सक्षम होने के लिए।
हाँ, यह मुमकिन है। Google "मल्टीपार्टी एन्क्रिप्शन" एक शुरुआत के लिए।
AFAIK, हालांकि इसमें कोई ड्रॉप 'एम' नहीं है और इसके लिए 'एम संकुल का उपयोग करें।
- मार्कसक्यू
पुनश्च एक स्केच के लिए यह कैसे किया जा सकता है, इस पर विचार करें। एन्क्रिप्ट किए गए संदेश में निम्न शामिल हैं:
जो कुंजी मैं रखता है वह बस उनकी कुंजी के साथ पैड की प्रतिलिपि को क्रिप्टोकरेंसी देता है, और फिर पेलोड को डिक्रिप्ट करता है।
हालांकि, यह सिर्फ एक सबूत है कि यह किया जा सकता है और वास्तविक कार्यान्वयन के रूप में चूसना होगा । यदि संभव हो तो, आपको अपना स्वयं का एन्क्रिप्शन रोल करने से बचना चाहिए। यदि आपको समझ में नहीं आता है, तो आपको अपने स्वयं के एन्क्रिप्शन को रोल करने से निश्चित रूप से बचना चाहिए ।
----- संपादित करें ------------
अगर मैं गलत हूं और गुनू उपकरण ऐसा करते हैं, तो उनका उपयोग करें। लेकिन मुझे यह कैसे करना है, इसके बारे में कोई जानकारी नहीं मिल सकती है।
एकाधिक (दो से अधिक) कुंजी आरएसए शायद इस तरह है - मैं एक गणितज्ञ नहीं हूं, इसलिए यह एल्गोरिथ्म आवश्यक रूप से सुरक्षित नहीं है, मैं सिर्फ इसके साथ एक विचार देना चाहता हूं।
मीटर = पी * क्ष * आर; p, q, r बड़ी अभाज्य संख्याएँ हैं
फाई (एम) = (पी -1) (क्यू -1) (आर -1)
d == (e1 * e2 * e3 * ... * ei) ^ (- 1) (mod fi (m)); e1 ... ei मनमानी संख्याएँ हैं, d की गणना समीकरण को पूरा करने के लिए की जाती है
y1 == x ^ e1 (mod m)
y2 == y1 ^ e2 (mod m)
y3 == y2 ^ e3 (mod m)
...
x == yi ^ d (mod m)
इस एल्गोरिथ्म का उपयोग उदाहरण के लिए ऑनियन राउटर की गति को बढ़ाने के लिए किया जा सकता है।