ویرگول
ورودثبت نام
Sajjad
SajjadProgrammer
Sajjad
Sajjad
خواندن ۱ دقیقه·۶ ماه پیش

آموزش رمزنگاری و ارسال پیام ها و فایل ها در بستر نا امن

تو حالتی که میخوایم روی یک بستر نا امن با مخاطبمون پیامی رد و بدل کنیم، میتونیم از این طریق، ارتباط رو امن کنیم:

برای این کار به openssl نیاز داریم که روی ترمینالتون بهش دسترسی داشته باشین.

ابتدا یک private key ایجاد میکنیم که این رو نباید به کسی داد، و فقط برای decrypt کردن پیش خودمون میمونه:

openssl genrsa -out private_key.pem 4096

و با این دستور زیر public key ایجاد میکنیم که میدیم به طرفی که میخواد فایلمون رو رمزنگاری کنه، و این پابلیکه و لو رفتنش هیچ اشکالی نداره و باهاش میشه صرفا رمزنگاری انجام داد، رمزنگاری ای که فقط با همون private keyای که ما داریم، رمزگشایی میشه:

openssl rsa -in private_key.pem -pubout > public_key.pem

حالا طرف مقابل ما میتونه با در دست داشتن اون public key، با دستور زیر، فایلو رمزنگاری کنه و برای ما بفرسته:

openssl pkeyutl -encrypt -in myfile.txt -out encrypted_file.txt -pubin -inkey ./public_key.pem

تو دستور بالا myfile.txt، همون اسم فایلتون باید باشه و encrypted_file.txt هم یه اسم دلخواه، برای فایل رمزنگاری شده‌تون هست.

و وقتی فایل به دستمون رسید، با private key ای که داریم، از طریق دستور زیر، رمزگشاییش میکنیم:

openssl pkeyutl -decrypt -in encrypted_file.txt -out decrypted_file.txt -inkey ./private_key.pem

که encrypted_file.txt میشه اسم فایلی که رمزنگاری شده و decrypted_file.txt هم میشه، یه اسم دلخواه برای خروجی این رمزگشایی.

اما نکاتی که با این موارد باید در نظر داشته باشیم، اینه که کلا RSA جزو روش های کاملا ایمن نیست و با کامپیوترهای کوانتمی قابل شکستن هست و یه سری موارد دیگه، اما خب برای امور دم دستی خوبه و برای کسی که بخواد محتوای فایلارو بفهمه، کلی دردسر درست میکنه.

رمزنگاریencryptionامنیتsecurity
۱
۱
Sajjad
Sajjad
Programmer
شاید از این پست‌ها خوشتان بیاید