درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

کدگذاری اطلاعات با public key به زبان بسیار ساده به همراه مثال آموزشی

6 نظرات
71 بازدیدها
ببینید بزارید ساده شروع کنیم دو نفر هستن علی و فرهاد که میخان با هم اطلاعاتی را مبادله کنن ولی بطوریکه وسط در حین ارسال اطلاعات اگر هم کسی به این اطلاعات دسترسی پیدا کرد نتونه ازش چیزی سردربیاره در کل ما دو متد برای این کار داریم یکی symmetric هستش که در این حالت همون طور که در شکل زیر می بینید علی و فرهاد هر دو یک کلید واحد دارن علی اطلاعات رو با کلیدی که پیشش هست کدگذاری میکنه و ارسال میکنه فرهاد وقتی اطلاعات رو میگیره اونم با همان کلیدی که خودش داره رمز اطلاعات رو باز میکنه و به اطلاعات دسترسی پیدا میکنه خوب شاید در وهله اول این روش خوب به نظر برسه ولی از لحاظ امنیتی خوب نیست چون اگر این کلید به دست هر کس دیگه ای هم بیافته میتونه اطلاعات رو رمزگشایی کنه خوب راه کار چیه ؟
Image


راهکار اینه که یه روشی بکار گرفته بشه که اگر حتی کلید رمزکننده به دست کسی بیافته باز نتونه اطلاعات رو رمزگشایی کنه حالا میگید خوب این چطور میتونه اتفاق بیافته با کدگذاری asymmetricیا همان public key encryption در این حالت فرهاد یک کلید خصوصی private key تولید میکنه که همیشه پیش خودش نگه میداره بعد از همین کلید خصوصی یه کلید عمومی یا Public key تولید میکنه و به علی میده تا هر وقت علی خواست اطلاعاتی رو برای فرهاد بفرسته توسط کلید عمومی کدگذاری و ارسال کنه , حتی اگر کسی به اطلاعات رمز شده دسترسی پیدا کنه و حتی کلید عمومی که دست علی هست رو هم داشته باشه تا کلید خصوصی فرهاد نباشه اطلاعات رمزگشایی نمیشن .
Image


خوب امیدوارم تا اینجا همه چیز شفاف بوده باشه حالا برای مثال هم که شده برای درک بهتر میریم سراغ مثال عملی تو این مثال ها ما از openssl برای این موضوع استفاده خواهیم کرد قبل از همه چیز باید کلید خصوصی ایجاد کنیم .
ایجاد کلید خصوصی
$ openssl genrsa -out private.pem 1024

سپس از طریق کلید ایجاد شده خصوصی کلید عمومی را باید تولید کنیم
$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout

خوب حالا از طریق کلید عمومی یک فایلی را کدگذاری میکنیم در این دستور در بخش خروجی file.ssl فایل کدگذاری خروجی هست که شما کدگذاری نموده اید
$ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl

خوب فایل رمز شده رو با دستور زیر و با کلید خصوصی رمزگشایی میکنیم
$ openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt

هرجای مطلب مفهوم نبود و یا سوالی پیش آمد کامنت بزارید جواب میدم .


نویسنده : علی قلعه بان , دانشجوی دکتری ,محقق ومتخصص فناوری اطلاعات
برچسب ها
ردیف عنوان قیمت
1 آشنایی با روش های حذف سخت افزاری و نرم افزاری اطلاعات بدون امکان بازیابی رایگان
2 امن ترین روش ارسال نقطه به نقطه اطلاعات کدگذاری شده توسط ironsftp رایگان
3 آشنایی با Crypter , عبور از سد آنتی ویروس , دستکاری و ناشناس کردن اطلاعات و دیگر کاربردها رایگان
4 کدگذاری اطلاعات با public key به زبان بسیار ساده به همراه مثال آموزشی رایگان
5 ساخت و استفاده از ایمیل ناشناس یا Fake Mail توسط ربات تلگرام رایگان
6 آسانترین روش رمزگذاری فایل ها و اطلاعات خود به نحوی که در صورت دزدیده و هک شدن بغیر از سیستم خود شما جای دیگری قابل استفاده نباشد رایگان
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • سلام ، ممنون از مقاله مفیدتون.
    ابهامی که برام پیش اومد اینه که اگه هکر وسط راه کلید عمومی رو بدست بیاره کلید خصوصی رو میتونه شبیه سازی کنه و در نتیجه اطلاعات رو بخونه دیگه؟
  • سلام بله شدنش میشه ولی باید دقت کرد زمانی که کلید رو میسازیم از الگوریتم های قوی تری استفاده کنیم تا شکستنش هم سخت باشه بعدش هم به طور مثال برای شکستن یه کلید 512 بایتی اگر بخاهیم تجهیزات خیلی قوی دولتی داشته باشیم ماهها طول میکشه تا شکسته بشه حالا شما اگر روش های پیچیده تر استفاده کنید این عمل سخت تر خواهد شد .
  • سلام
    ممنون از مطلب خوبتون!
    دو تا سوال داشتم!
    ۱- مدل asymmetric برای هر ارتباط باید یک کلید پابلیک و یک کلید پرایویت تولید بشه؟؟ تعداد کلیدها زیاد نمیشه؟؟
    ۲- باز هم تو این مدل انتقال کلید پرایویت مهمه! چطور این کلید به صورت امن جا به جا میشه؟؟
  • سلام ممنون از توجه شما
    1-در اصل یک کلید پرایوت ایجاد میشه و کلید پابلیک از درون پرایوت ساخته میشه در کل دو تا میشه وبرای حفظ امنیت و اعمال پروتکل وجود دو کلید الزامی هستش و ناگزیر .
    2-کلید پرایوت جایی منتقل نمیشه کسی که دریافت کننده پیام هست کلید پرایوت رو میسازه بعد ازش پابلیک میسازه پابلیک رو میفرسته برای ارسال کننده پیام و هر موقع از طرف ارسال کننده پیامی اومد با کلید پرایوت خودش پیام رو باز میکنه
  • ممنون از پاسختون!
    از توضیح قسمت دوم اینطوری میشه گفت که در واقع ما یه گاو صندوق در باز داریم که کلیدش دست ماست! این گاو صندوق رو میفرستیم برای طرف مقابل پیام رو میذاره داخلش درشو میبنده و برای ما برمیگردونه! کلید گاوصندوق یدونست که فقط دست ماست! ما فقط میتونیم درونشون ببینیم!

    در واقع در یک ارتباط ۴ کلید وجود داره! هر طرف کلید پابلیک و پرایویت خودش رو داره!

  • سلام ممنون تقریبا بله چون بعد اینکه طرف در گاوصندوق رو ببنده دیگه خودش هم نمیتونه بازش کنه , 2 تا کلید بیشتر نیست پرایوت و پابلیک که پرایوت پیش گیرنده هستش پابلیک رو هم میدیم به فرستنده پابلیک میتونه دست خیلی ها باشه ولی هیچ کدوم تفاوتی با هم ندارن همشون یکی هستن یعنی تکثر ایجاد میشه ولی تنوع نه

برای ارسال نظر ابتدا به سایت وارد شوید

arrow