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

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

کدگذاری اطلاعات با public key به زبان بسیار ساده به همراه مثال آموزشی : ببینید بزارید ساده شروع کنیم دو نفر هستن علی و فرهاد که میخان با هم اطلاعاتی را مبادله کنن ولی بطوریکه وسط در حین ارسال اطلاعات اگر هم کسی به این اطلاعات دسترسی پیدا کرد نتونه ازش چیزی سردربیاره در کل

کدگذاری اطلاعات با public key به زبان بسیار ساده به همراه مثال آموزشی : ببینید بزارید ساده شروع کنیم دو نفر هستن علی و فرهاد که میخان با هم اطلاعاتی را مبادله کنن ولی بطوریکه وسط در حین ارسال اطلاعات اگر هم کسی به این اطلاعات دسترسی پیدا کرد نتونه ازش چیزی سردربیاره در کل ما دو متد برای این کار داریم یکی symmetric هستش که در این حالت همون طور که در شکل زیر می بینید علی و فرهاد هر دو یک کلید واحد دارن علی اطلاعات رو با کلیدی که پیشش هست کدگذاری میکنه و ارسال   میکنه فرهاد وقتی اطلاعات رو میگیره اونم با همان کلیدی که خودش داره رمز اطلاعات رو باز میکنه و به اطلاعات دسترسی پیدا میکنه خوب شاید در وهله اول این روش خوب به نظر برسه ولی از لحاظ امنیتی خوب نیست چون اگر این کلید به دست هر کس دیگه ای هم بیافته میتونه اطلاعات رو رمزگشایی کنه خوب راه کار چیه ؟

[irp]


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

[irp]


خوب امیدوارم تا اینجا همه چیز شفاف بوده باشه حالا برای مثال هم که شده برای درک بهتر میریم سراغ مثال عملی تو این مثال ها ما از openssl mobilepackages برای این موضوع استفاده خواهیم کرد قبل از همه چیز باید کلید خصوصی ایجاد کنیم .
ایجاد کلید خصوصی

$ 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

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

[irp]

 

Posts Carousel

یک نظر بگذارید

آدرس ایمیل شما منتشر نخواهد شد. قسمتهای مورد نیاز با * مشخص شده اند

Latest Posts

Top Authors

Most Commented

Featured Videos