क्या किसी फ़ाइल या निर्देशिका को एन्क्रिप्ट करने के लिए एक उपकरण है?


66

व्यक्तिगत फ़ाइलों या फ़ोल्डरों को एन्क्रिप्ट करने का सबसे लोकप्रिय तरीका क्या है?


प्रश्न थोड़ा अस्पष्ट है। क्या आप फ़ाइलों को मैन्युअल रूप से एन्क्रिप्ट और डिक्रिप्ट करना चाहते हैं या फ़्लाई करना चाहते हैं?
Psusi

4
'सबसे लोकप्रिय' के बजाय, अपनी आवश्यकताओं के लिए एक समाधान फिटिंग सहायक हो सकता है (जैसा कि साईसी के सवाल के अनुसार)। क्या आप आसान, विश्वसनीय, देशी, सुरक्षित, तेज़, मुक्त स्रोत के संयोजन की तलाश कर रहे हैं? सभी या इनमें से कुछ?
बेलाक्वा

7
मैं उस टिप्पणी को जोड़ना चाहूंगा जो कुछ उत्तरों के दावे के विपरीत है, ट्रू-क्रिप्ट को Debian / Ubuntu / Fedora / Red Hat / Arch Linux / OpenSuse / Gentoo / etc द्वारा फ्री सॉफ्टवेयर या ओपन सोर्स नहीं माना जाता है
JanC

जवाबों:


46

GnuPG (GPG) असममित और सममित एन्क्रिप्शन का उपयोग कर सकता है। असममित क्रिप्टो में दो कुंजी शामिल हैं, एन्क्रिप्शन के लिए एक सार्वजनिक कुंजी और डिक्रिप्शन के लिए एक निजी कुंजी। असममित कुंजी उपयोग के लिए इस पृष्ठ पर djeikyb उत्तर देखें ।

सममित एन्क्रिप्शन के लिए, एन्क्रिप्शन और डिक्रिप्शन कुंजी समान हैं। यह महसूस करना महत्वपूर्ण है कि ज्यादातर लोग मजबूत पासवर्ड चुनने में बहुत खराब हैं। इस प्रकार, पासवर्ड का उपयोग करने वाली एक एन्क्रिप्शन योजना को एक की-व्युत्पत्ति फ़ंक्शन का उपयोग करना चाहिए जो कि जानवर-बल के हमलों को धीमा करने के लिए अधिक संसाधन (समय, मेमोरी) लेता है।

GnuPG के KDF के विवरण के लिए, यह Crypto Stack Exchange पोस्ट देखें । सममित एन्क्रिप्शन का उदाहरण उपयोग:

gpg --symmetric < unencrypted_file > encrypted_file

डिक्रिप्शन:

gpg --decrypt < encrypted_file > decrypted_file

ध्यान दें कि gpgडिफ़ॉल्ट रूप से (दस्तावेज व्यवहार) द्वारा सिंडी को कैश किया जाता है। इससे बचने के लिए, संबंधित उत्तर--no-symkey-cache में वर्णित विकल्प का उपयोग करें ।

Gpg का मैनुअल पेज


उन उपयोगकर्ताओं के लिए पुराना उत्तर, जो अच्छी कुंजी चुनने में सक्षम हैं, नीचे नोट देखें

एकल फ़ाइलों के लिए, opensslबहुत उपयोगी है, खासकर जब एक असुरक्षित चैनल (जैसे ई-मेल) पर फ़ाइल भेजते हैं। यह मुफ्त (पैसे और स्वतंत्रता में) है, Truecrypt के विपरीत, जो केवल पैसे में मुफ्त है।

नोट : आपके द्वारा यहां दर्ज किया गया पासवर्ड एक एमडी 5 पुनरावृत्ति 1 द्वारा संसाधित किया जाएगा । यदि आपने "123456" पासवर्ड चुना है, तो आपके पास बहुत कम सुरक्षा होगी।

एन्क्रिप्ट करें:

openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file

आपसे एक पासवर्ड मांगा जाएगा, जिसे आपको दो बार इनपुट करना होगा।

डिक्रिप्ट:

openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file

एनकाउंटर प्रोग्राम के लिए मैनुअल पेज ।

1 विकल्प (डिफॉल्ट md5) openssl encद्वारा परिभाषित डाइजेस्ट फ़ंक्शन का उपयोग करता है और 1 की पुनरावृत्ति गिनती के साथ -mdफ़ंक्शन EVP_BytesToKey()को इनवॉइस करता है। यह ओपनस्ले स्रोत में पाया जा सकता है apps/enc.c


क्या पासफ़्रेज़ के बिना ऐसा करने का कोई तरीका है?
असफ लवी

@Assaf Lavie: यदि आपका मतलब है तो OpenSSL समर्थन नहीं करता है, हालाँकि यह किसी फ़ाइल की पहली पंक्ति से एक पासवर्ड पढ़ सकता है। Opensl पर मैनुअल पेज पढ़ें , अनुभाग पास वाक्यांश तर्क
लेकेनस्टाइन

इसके अलावा आप "-a" झंडे का उपयोग कर सकते हैं जो आपको क्रिप्टेड टेक्स्ट को कॉपी करने की अनुमति देता है, जैसे: "खुलता है aes-256-cbc -a -salt -in unencrypted_file -out एन्क्रिप्ट किया
गया_ile

@ v2r आगे पाठकों के लिए जोड़ने के लिए: base64- -aइनपुट (उर्फ -base64) को एनकोड करता है , इसे डिक्रिप्ट करने के लिए आपको -aविकल्प भी जोड़ना होगा ।
लेकेन्स्टाइन

1
@Lucio के aes-256लिए एक उपनाम है aes-256-cbc, कोई अंतर नहीं है। सीबीसी ब्लॉक सिफर्स के लिए ऑपरेशन का एक तरीका है। enc(1)समर्थित सिफर की सूची के लिए मैनुअल पेज देखें ।
लेकेन्स्टाइन

30

मैं का उपयोग कुंजी इस बात के लिए। यह GnPG के लिए एक सुंदर सामने का छोर है और नॉटिलस के साथ अच्छी तरह से एकीकृत है:नॉटिलस एकीकरण

नॉटिलस एकीकरण प्राप्त करने के लिए, seahorse-nautilusसॉफ्टवेयर सेंटर से पैकेज स्थापित करें : सीहोरस-नॉटिलस सीहोरस-नॉटिलस स्थापित करें


3
यह केवल तभी काम करता है जब आपके पास आपके सिस्टम में बनाई गई GPG की चाबियां हों ...
hpp

3
@hhlp: djeikyb का जवाब बताता है कि कैसे करना है।
इडबरी

1
मैं अपनी GPG कुंजी एन्क्रिप्ट करना चाहता हूं।
KI4JGT

19
  • सूक्ति के लिए EncFS सिस्टम ट्रे एप्लेट cryptkeeper

TrueCrypt : बंद, असुरक्षित स्रोत-उपलब्ध फ्रीवेयर डिस्क एन्क्रिप्शन सॉफ्टवेयर।


2
+1, एनएएफएफ - एक जीयूआई के साथ या बिना - बहुत उपयोगी है और अधिकांश उद्देश्यों के लिए पर्याप्त है।
18

3
क्रिप्टकीपर कमाल है - सरल, शक्तिशाली और ड्रॉपबॉक्स के साथ सेट करने के लिए एक हवा ( askubuntu.com/questions/19613/… )।
Scaine

TrueCrypt को लाइसेंस संबंधी चिंताओं के लिए उबंटू (या किसी अन्य प्रमुख वितरण) में पैक नहीं किया गया है।
मैजिकफैब

2
ट्रू-क्रिप्ट वह ओपन-सोर्स नहीं है। en.wikipedia.org/wiki/…
yuric

4
'चेतावनी:
ट्रू क्रिप्ट

16

एक cli विधि GnuPG होगी , और शायद टार। यह संदर्भ के लिए एक छोटी मार्गदर्शिका है, आपको वास्तव में प्रलेखन पढ़ना चाहिए।

पहला रन gpg --gen-key। अपनी सार्वजनिक / निजी कुंजी जोड़ी बनाने के लिए संकेतों का पालन करें। अब आप फ़ाइलों को एन्क्रिप्ट कर सकते हैं: gpg -e foo.txt। यह नामक एक फाइल बनाएगा foo.txt.gpg। GnuPG मूल अनएन्क्रिप्टेड फ़ाइल को हटाता नहीं है, यह आप पर निर्भर करता है कि आप इसे लटकाना चाहते हैं या नहीं। Foo.txt.gpg को डिक्रिप्ट करने के लिए, रन करें gpg foo.txt.gpg। मौजूदा फ़ाइलों को अधिलेखित करने से पहले डिक्रिप्ट करना आपको संकेत देगा।

यदि आपको किसी निर्देशिका को एन्क्रिप्ट करने की आवश्यकता है, तो इसे पहले टारगेट करें:

tar -cf foo.tar foo/
gpg -e foo.tar

आप एन्क्रिप्ट की गई फ़ाइल का नाम बदल सकते हैं। जब डिक्रिप्ट किया जाता है, तो मूल फ़ाइल नाम संरक्षित होता है।


2
इस पद्धति के फायदे हैं: पहले इसे अतिरिक्त पैकेजों की स्थापना की आवश्यकता नहीं है; दूसरा इसे रूट एक्सेस की आवश्यकता नहीं है। मैं टार कमांड (xz या gz) में कंप्रेशन को जोड़ूंगा।
पैंथर

12

वहाँ भी है eCryptfs , जो Ubuntu होम निर्देशिकाओं को एन्क्रिप्ट करने के लिए उपयोग करता है।

आप इंस्टॉलेशन पर होम डायरेक्टरी एन्क्रिप्शन का चयन कर सकते हैं, या आप एक ही डायरेक्टरी $HOME/Privateको डिफ़ॉल्ट रूप से, ई -क्रिप्टो-सेटअप-प्राइवेट यूटिलिटी का उपयोग करके सेटअप कर सकते हैं । यह फ़ोल्डर लॉगिन पर स्वचालित रूप से माउंट करने और लॉगआउट करने पर अनमाउंट करने के लिए कॉन्फ़िगर किया जा सकता है। हर एक फ़ाइल और फ़ोल्डर $HOME/Private, पुनरावर्ती रूप से, एन्क्रिप्ट किया जाएगा।


दुर्भाग्य से eCryptfs बहुत धीमा है। इसके अलावा नवीनतम संस्करण में कुछ कीड़े हैं
ruX

इसके विपरीत, अगर कुछ भी eCryptfs gpg से तेज है; डिफ़ॉल्ट gpg द्वारा एन्क्रिप्ट करने से पहले संपीड़ित करने का प्रयास करता है। और eCryptfs का उपयोग अब ज्यादातर Android
Xen2050

2

आप wxWidgets GUI के साथ अण्डाकार वक्र क्रिप्टोग्राफी का उपयोग करने के लिए "शैक्षणिक हस्ताक्षर" का भी उपयोग कर सकते हैं। यह खुला स्रोत है लेकिन रिपॉजिटरी में नहीं है। यह मुख्य रूप से ईसीसी असममित एन्क्रिप्शन, हस्ताक्षर और टाइमस्टैम्प करता है। लेकिन टूल में Gnupg (RSA) को लागू करने के लिए एक मेनू प्रविष्टि भी है और AES और अन्य एल्गोरिदम की पेशकश करने वाली फ़ाइलों के सममित एन / / डिक्रिप्शन तक सीधी पहुंच है। इसका होमपेज यहां है: https://www.academy-signature.org

मैं फ़ाइलों को सुरक्षित रखने और डिजिटल रूप से हस्ताक्षरित अकादमिक दस्तावेजों (टेप, सिफारिश के पत्र, ग्रेड सूचियों) आदि के लिए इसका उपयोग करता हूं।


1

मैंने कुछ अन्य सुझाव लिए हैं और एक सरल शेल स्क्रिप्ट रैपर बनाया है (आलसी के लिए)

https://github.com/orionM/ssl-crypt-tools

का आनंद लें


1
हम्म, बैश स्क्रिप्ट का उपयोग करना openssl aes-256-cbc ...आप जानते हैं कि if [ $? -ne 0 ] ; then... fiआप इसका उपयोग कर सकते हैं ||? और कुछ लोग ऐसे हैं जो सोचते हैं कि ओपनएसएसएल "* में पिछले साल कई बड़ी सुरक्षा खामियां रही हैं [ हार्दिक ] जबकि स्नोडेन दस्तावेजों से पता चलता है कि जीपीजी उन कुछ कार्यक्रमों में से एक है जो एनएसए को ठीक से इस्तेमाल किए जाने पर स्टंप कर सकते हैं। ओपेन डीएल कोड भी है। एक पूर्ण सेसपूल और भयानक परीक्षण कवरेज है। (प्रकटीकरण: [वह] एक "ओपनएसएसएल बेकार पर काम करता है [चलो] इसे ठीक करें" परियोजना।) - जुबेरो * *
Xen2050
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.