GPG सममित एन्क्रिप्शन का उपयोग करते समय मैं "चेतावनी: संदेश अखंडता की रक्षा कैसे नहीं करता" को कैसे ठीक करूं?


45

मैंने इस तरह सममित एन्क्रिप्शन का उपयोग करके एक फ़ाइल एन्क्रिप्ट की है:

gpg --symmetric myfile

जिसके परिणामस्वरूप एक फ़ाइल है myfile.gpg

ठीक है। अब फाइल को फिर से डिक्रिप्ट करते हैं:

gpg -o myfile --decrypt myfile.gpg

मुझे उस पासफ़्रेज़ के लिए कहा जा रहा है जिसे मैंने डाल दिया है, और फिर मैं देखता हूं

gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

मैं वहां पहली और आखिरी पंक्ति के बारे में निश्चित नहीं हूं।

  • CAST5 सिफर क्या है और क्या यह सुरक्षित है? मैं 3DES और AES जानता हूं और मुझे पता है कि वे सुरक्षित हैं।
  • यह अखंडता के लिए संरक्षित क्यों नहीं है?
  • और इसके अलावा, मैं इसे कैसे ठीक करूं?

Btw आप बस gpg -c myfileएन्क्रिप्ट करने और gpg myfile.gpgडिक्रिप्ट करने के लिए, आउटपुट myfileडिफ़ॉल्ट रूप से डिक्रिप्ट किया जाएगा ।
cprn

1
@CyprianGuerra gpg myfile.gpgका परिणाम होगा डिक्रिप्टेड आउटपुट को मेरे सिस्टम पर भेजने के लिए ...
gertvdijk

दिलचस्प। मेरे पास यह चूक है ...
cprn

मैंने यहां से GUI डाउनलोड किया और इसका उपयोग करके फाइल को डिक्रिप्ट किया। इसने काम कर दिया! pgptool.github.io
इफ्तिखार अहमद डार

जवाबों:


69

पृष्ठभूमि

CAST-5 एक पुराना एन्क्रिप्शन एल्गोरिथ्म है जिसका उपयोग GnuPG द्वारा किया जाता है क्योंकि AES अभी तक मौजूद नहीं था जब GnuPG को शुरू में स्रोत बनाया गया था । यह व्यापक रूप से उपयोग नहीं किया जाता है (संगतता कारणों के लिए GnuPG के अलावा)।

ऐसा WARNING: message was not integrity protectedइसलिए है क्योंकि एन्क्रिप्शन के समय यह सुविधा डिफ़ॉल्ट रूप से चालू नहीं होती है। यदि इसे चालू किया गया था, तो GnuPG बता सकती है कि फ़ाइल को ट्रांज़िट में बदल दिया गया है या नहीं।

अपडेट: उबंटू / डेबियन के साथ भेजे गए GnuPG के आधुनिक संस्करणों में अब डिफ़ॉल्ट रूप से MDC सक्षम है और इन नए संस्करणों के साथ साइन किए गए किसी भी चीज़ के लिए आपको यह संदेश दोबारा नहीं देखना चाहिए।

समाधान

AES-256 का उपयोग करने के लिए आपको इसे कमांड लाइन पर या अपनी कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट करना होगा।

  • कमांड-लाइन: --cipher-algo AES256विकल्प जोड़ें ताकि एन्क्रिप्ट करने के लिए पूरी लाइन बन जाए

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
    
  • कॉन्फ़िगरेशन फ़ाइल (अनुशंसित): अपनी ~/.gnupg/gpg.confकॉन्फ़िगरेशन फ़ाइल में निम्न पंक्ति जोड़ें ।

    cipher-algo AES256
    

    मैं इस दृष्टिकोण की सलाह देता हूं क्योंकि इसका उपयोग इस उपयोगकर्ता खाते पर भविष्य के सभी GPG संचालन के लिए किया जाएगा।

उपयोगकर्ता के लिए फ़ाइल को डिक्रिप्ट करने के लिए बदलने के लिए कुछ भी नहीं है - GnuPG इसे स्वचालित रूप से पता लगाएगा।

ध्यान दें कि AES-256 सिफर का उपयोग करते हुए, संदेश अखंडता के लिए स्वचालित रूप से सुरक्षित है। अन्य सिफर पर अखंडता सुरक्षा को मैन्युअल रूप से सक्षम करने के लिए जिसके लिए यह सक्षम नहीं है (जैसे CAST-5) --force-mdcएन्क्रिप्ट करते समय विकल्प जोड़ें ।

इससे भी बेहतर: साइन!

एक बेहतर तरीका यह होगा कि आप अपनी फाइलों को अपने कीपर के साथ साइन करें (यदि आपके पास है)। बस --signएन्क्रिप्शन कमांड के विकल्प को इस तरह जोड़ें :

gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile

यह न केवल फ़ाइल की अखंडता को मान्य करेगा, बल्कि मूल को सत्यापित करने के लिए फ़ाइल के प्राप्तकर्ता के लिए भी संभव बना देगा। फ़ाइल के किसी भी परिवर्तन को विफल करने के लिए हस्ताक्षर की जाँच होगी।


क्या मुझे हस्ताक्षर करने के लिए प्रमाणपत्र की आवश्यकता नहीं है?
बिलाल फजलानी

@bilalfazlani पर हस्ताक्षर करने के लिए आपको एक GnuPG कीपर की आवश्यकता होगी, हाँ। यदि आप नहीं चाहते हैं तो इसे सार्वजनिक करने की आवश्यकता नहीं है। बस सार्वजनिक कुंजी को उन साथियों के साथ साझा करें जिन्हें आप एन्क्रिप्टेड फ़ाइलों के साथ साझा कर रहे हैं और उन्हें आपके साथ कुंजी के फिंगरप्रिंट को सत्यापित करना चाहिए।
gertvdijk 11

विस्तृत उत्तर के लिए धन्यवाद। क्या आप कीपर का उपयोग करने के बारे में अधिक बता सकते हैं?
बेन-नबी डेरुष

"संदेश अखंडता संरक्षित नहीं था" प्राप्य पक्ष पर होता है और आप यह बताते हैं कि प्रेषक पक्ष पर इसे कैसे ठीक किया जाए। सवाल यह है कि प्राप्त करने की ओर इस मुद्दे को नजरअंदाज करने के लिए पुराने संदेश को डिक्रिप्ट करने (Enigmail में) सक्षम होने के लिए है
ensonic

@ ben-NabiyDerush ये दो लेख सार्वजनिक और निजी कीपेयर का उपयोग करने के तरीके (और क्यों) पर आपके प्रश्नों को स्पष्ट कर सकते हैं। सार्वजनिक कुंजी क्रिप्टोग्राफीट्रस्ट का वेब
jpaugh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.