पृष्ठभूमि
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
यह न केवल फ़ाइल की अखंडता को मान्य करेगा, बल्कि मूल को सत्यापित करने के लिए फ़ाइल के प्राप्तकर्ता के लिए भी संभव बना देगा। फ़ाइल के किसी भी परिवर्तन को विफल करने के लिए हस्ताक्षर की जाँच होगी।
gpg -c myfile
एन्क्रिप्ट करने औरgpg myfile.gpg
डिक्रिप्ट करने के लिए, आउटपुटmyfile
डिफ़ॉल्ट रूप से डिक्रिप्ट किया जाएगा ।