আমি AES-256 ব্যবহার করে একটি ফাইল এনক্রিপ্ট করতে চাই। আমি কীভাবে তাড়াতাড়ি এবং সহজেই তা করতে পারি এবং কীভাবে আমি - বা অন্য কেউ-এটি আবার ডিক্রিপ্ট করতে পারি?
আমি AES-256 ব্যবহার করে একটি ফাইল এনক্রিপ্ট করতে চাই। আমি কীভাবে তাড়াতাড়ি এবং সহজেই তা করতে পারি এবং কীভাবে আমি - বা অন্য কেউ-এটি আবার ডিক্রিপ্ট করতে পারি?
উত্তর:
দুর্ভাগ্যক্রমে, আপনার জিনিসগুলি সুরক্ষার জন্য কোনও সহজ সমাধান নেই। আপনার ব্যবহারের ক্ষেত্রে চিন্তা করুন, সম্ভবত প্লেইন এএসএস ছাড়া অন্য কোনও কিছুর জন্য আরও উপযুক্ত।
আপনি যদি খুব সাধারণ প্ল্যাটফর্ম স্বতন্ত্র এনক্রিপশন চান তবে আপনি ওপেনসেল ব্যবহার করতে পারেন ।
আপনি যদি এখনও ওপেনসেল ব্যবহার করতে চান:
জোড়া লাগানো:
openssl aes-256-cbc -in attack-plan.txt -out message.enc
ডিক্রিপশন:
openssl aes-256-cbc -d -in message.enc -out plain-text.txt
আপনি উভয় এনক্রিপশন এবং ডিক্রিপশন base64
ব্যবহার করে বার্তাটি এনকোড করতে ওপেনসেল পেতে পারেন -a
। এইভাবে, আপনি উদাহরণস্বরূপ একটি ইমেল বার্তায় সিফেরেক্সট আটকে দিতে পারেন। এটি দেখতে এরকম দেখাবে:
stefano:~$ openssl aes-256-cbc -in attack-plan.txt -a
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=
নোট করুন যে আপনার কাছে সাইফার এবং অপারেশন পদ্ধতির পছন্দ রয়েছে। সাধারণ ব্যবহারের জন্য, আমি সিবিসি মোডে এেস 256 এর পরামর্শ দিই। এগুলি আপনার কাছে পাওয়া সিফারগুলি মোড (কেবলমাত্র এইএস গণনা করা):
aes-128-cbc ← this is okay
aes-128-ecb
aes-192-cbc
aes-192-ecb
aes-256-cbc ← this is recommended
aes-256-ecb
আরো দেখুন:
দয়া করে নোট করুন:
ওপেনএসএসএল আপনাকে একটি পাসওয়ার্ড চাইবে। এটি কোনও এনক্রিপশন কী নয়, এটি 32 বাইটের মধ্যে সীমাবদ্ধ নয়! আপনি যদি অন্য কারও সাথে ফাইল স্থানান্তর করতে চলেছেন তবে আপনার ভাগ করা গোপনীয়তাটি খুব শক্ত হওয়া উচিত। আপনার পাসওয়ার্ডটি কতটা ভাল তা বোঝার জন্য আপনি এই সাইটটি ব্যবহার করতে পারেন:
সতর্কতা: আমি দেখেছি যে এই সাইটগুলি আপনার পাসওয়ার্ড সার্ভারে প্রেরণ করে না, তবে এটি যে কোনও সময় পরিবর্তন হতে পারে। এই সরঞ্জামগুলি ডিভাইস / ইন্সপেক্টর সহ ব্যবহার করুন এবং আপনার শক্তিশালী পাসওয়ার্ডটি টাইপ করার আগে তারা কিছু প্রেরণ করেছে কিনা তা পরীক্ষা করে দেখুন।
/usr/bin/openssl enc -aes-256-cbc -a -salt -in $1 -out ${1}.enc
আপনার প্রত্যাশার বিপরীতে।
openssl enc
আপনার যদি দুর্বল পাসওয়ার্ড থাকে তবে এটি নিরাপদ নয়। আমি এর আগে নির্দিষ্ট কিছু ব্যবহারের openssl enc
পরামর্শ দিয়েছিলাম তবে এখন gpg
পরিবর্তে এটি ব্যবহারের পরামর্শ দিচ্ছি কারণ এটি আরও ভালভাবে কেডিএফ ব্যবহার করে। এই উত্তর দেখুন ।
আমি gpg
কমান্ডটি ব্যবহার করতে চাই :
এনক্রিপ্ট করুন:
gpg --cipher-algo AES256 --symmetric filename.tar.gz
সাধারণভাবে সংক্ষেপে:
gpg --cipher-algo AES256 -c filename.tar.gz
এটি একটি পাসফ্রেজ চাইবে।
ডিক্রিপ্ট করুন:
gpg --output filename.tar.gz --decrypt filename.tar.gz.gpg
সাধারণভাবে সংক্ষেপে:
gpg -o filename.tar.gz -d filename.tar.gz.gpg
আপনি AES256 কে ডিফল্ট করতে যোগ cipher-algo AES256
করতে ~/.gnupg/gpg.conf
পারেন। ( ম্যানপেজ অনুযায়ী এটি CAST5 )
AES
(যার অর্থ AES-128)। AES-128 সামান্য দ্রুত এবং কম সুরক্ষিত নয়।
gpg
পাসওয়ার্ডটি ক্যাচ করা থেকে বিরত রাখতে পারি ?
7z (যখন পাসওয়ার্ড বিকল্পটি ব্যবহার করা হয়) একটি 256 বিট এইএস এনক্রিপশন ব্যবহার করে (SHA256 কী প্রসারিত সহ )।
এটা (ইনস্টল p7zip-full
), ডান ফাইল বা ডিরেক্টরি আপনাকে এনক্রিপ্ট করতে চান তার উপর ক্লিক করুন, এবং পছন্দ করে নিন কম্প্রেস , .7z এবং অন্যান্য অপশন / পাসওয়ার্ড ।
ডিক্রিপশন-এর জন্য, .7z ফাইলটিতে ডান ক্লিক করুন এবং এখানে এক্সট্রাক্ট চয়ন করুন ।
সংযুক্ত ওয়েবসাইটটিতে একটি মুক্ত-উত্স 256-বিট এএস এনক্রিপ্ট / ডিক্রিপ্ট সরঞ্জাম রয়েছে এবং এটি মাল্টিপ্লাটফর্ম - ম্যাকও, উইন্ডোজ, লিনাক্স এবং জাভার মাধ্যমে অন্যান্য others
এনক্রিপ্ট করুন: aescrypt -e <file>
ডিক্রিপ্ট করুন: aescrypt -d <file>
আপনি সিনট্যাক্স ব্যবহার করে আপনার হোম ফোল্ডারটি ব্যাকআপ এবং এনক্রিপ্ট করতে পারেন:
tar -cvf - /home/<home_folder> | aescrypt -e -p <password_message> - > backup.tar.aes
উত্সটি ডাউনলোড এবং নিষ্ক্রিয় করুন
make
sudo make install
ওয়েবসাইট থেকে বাইনারি বা উত্স-কোড ডাউনলোড করুন।
আমি যে পরামর্শ দিয়েছি তার অনেকগুলি ইতিমধ্যে এই থ্রেডে রেখে দেওয়া হয়েছে। মূলত, কোনও ফাইল বা স্ক্রিপ্ট এনক্রিপ্ট করার বিষয়ে ওপেনসেলটি সত্যই সহজতম উপায়। যাইহোক, আমি AES-256 ব্যবহারের বিরুদ্ধে সতর্কতা প্রদর্শন করব কারণ এটি কিছু প্ল্যাটফর্মে ওপেনসেলের সমস্ত সংস্করণে পাওয়া যায় না । বেশিরভাগ নতুন ওএস ... অর্থাৎ লিনাক্স এটি রয়েছে। তবে এআইএক্স 5.3 এর মতো অন্যরাও (আমি এইচপি-ইউএক্সও মনে করি না)। যদি আপনি নিজের প্ল্যাটফর্ম বা স্ক্রিপ্টটি বিভিন্ন প্ল্যাটফর্ম জুড়ে ব্যবহার করতে চান, তবে আমি দৃ strongly ়ভাবে AES-128 ব্যবহার করার পরামর্শ দিচ্ছি কারণ এটি সর্বত্র পাওয়া যায়।
আপনি কীভাবে AES-128 ব্যবহার করে একটি ফাইলকে "দ্রুত এবং সহজেই" এনক্রিপ্ট করতে পারেন?
Www.ShellScrypt.com এর মতো একটি সাইট শেল স্ক্রিপ্টগুলি এনক্রিপ্ট করার জন্য ওপেনসেল এইএস -128 বেশ তীব্রভাবে ব্যবহার করে এবং তারপরে স্ক্রিপ্টগুলির এনক্রিপ্ট হওয়া অনুলিপিগুলি কার্যকর করে তোলে। আপনাকে যা করতে হবে তা হ'ল স্ক্রিপ্টটি পেস্ট করতে হবে এবং আপনার জন্য একটি জিপ ফাইল তৈরি করা হবে। এই জিপ ফাইলটিতে আপনার ফাইলের এনক্রিপ্ট করা (এবং যদি এটি স্ক্রিপ্ট হয় তবে এক্সিকিউটেবল) থাকে contain এটি আপনাকে " সহজেই " এবং " সুবিধামতভাবে " ফাইল / স্ক্রিপ্ট এনক্রিপ্ট করার অনুমতি দেয় আপনার প্রতিটি সিস্টেমে কোনও প্যাকেজ বা মডিউল প্রয়োজনীয়তা পূরণ না করে আপনি স্ক্রিপ্টটি ব্যবহার করতে চান বা ওপেনএসএল কমান্ডের বিভিন্ন জটিল এবং বিভ্রান্তিমূলক উদ্দীপনা চালাতে চান।
নীচে দেখানো হল একটি বেসিক এনক্রিপ্ট / ডিক্রিপ্ট ওপেনসেল কমান্ড যা AES-128 ব্যবহার করে:
test@test-VirtualBox:~$
test@test-VirtualBox:~$ echo precious-content | openssl aes-128-cbc -a -salt -k mypassword
U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z
test@test-VirtualBox:~$
test@test-VirtualBox:~$ echo U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z | openssl aes-128-cbc -a -d -salt -k mypassword
precious-content
test@test-VirtualBox:~$
test@test-VirtualBox:~$
স্টেফানো প্যালাজোর উত্তরে যোগ করে, আমি একটি সামান্য বাশ ফাংশন তৈরি করেছি যা বেস 64 কমান্ডের অনুরূপ কাজ করে।
এটি aes256 কোনও ফাইল এনক্রিপ্ট করবে এবং তারপরে বেস 64 এটি এনকোড করবে। বিপরীতটি করার সময়, এটি 6464 ডিকোড, ডিক্রিপ্ট এবং তারপরে মূল প্লেইন টেক্সটটি স্পিট করবে।
aes256() {
decodeMe=""
isPipe="$([ ! -t 0 ] && echo "true" || echo "false")"
if [ "$1" = '-d' ] || [ "$1" = '--decode' ]; then
decodeMe="-d"
shift
fi
if [ "$isPipe" = "true" ]; then
read input
printf '%s\n' "$input" | openssl aes-256-cbc -a $decodeMe
exitCode="$?"
else
openssl aes-256-cbc -a $decodeMe -in "$*"
exitCode="$?"
fi
unset isPipe decodeMe input
return "$exitCode"
}
ব্যবহার:
echo "my string" | aes256
# enter aes-256-cbc encryption password
# Returns: U2FsdGVkX1++e/BhBGlNOzNvarqq7zI13S/hbiKVzXQ=
echo "U2FsdGVkX1++e/BhBGlNOzNvarqq7zI13S/hbiKVzXQ=" | aes256 -d
# enter aes-256-cbc decryption password
# Returns: my string
aes256 file.plain > file.crypt
# enter aes-256-cbc encryption password
aes256 -d file.crypt
# enter aes-256-cbc decryption password
# Spits out original unencrypted file.
openssl aes-256-cbc
চেয়ে কমopenssl enc -aes-256-cbc
এবং খুব কাজ করে। এটির জন্য ম্যানুয়াল পৃষ্ঠাটি চলমানman enc
। কখনও ব্যবহারecb
, ডাটা যে সঙ্গে বদমেজাজি করা উচিত নয় জন্য সর্বদা ব্যবহারcbc
।-salt
এটি ডিফল্ট হওয়ার পর থেকেই তা নিরর্থক। আপনি যদি বাদ দেন-out filename
তবে আউটপুটটি স্ট্যান্ডার্ড আউটপুটে লেখা হবে যা দরকারী যদি আপনার কেবলমাত্র ডেটা বিশ্লেষণ করতে হয় তবে এটি ডিস্কে না লিখে থাকে। পরবর্তী কমান্ড প্লেইন জন্য লাইন Cound দেখায়:openssl aes-256-cbc -d -in filename | wc -l
। (আরেকটি ব্যবহার, একটি ফাইল পড়াopenssl aes-256-cbc -d -in filename | less
:)