حسین کعبی: وقتی فیگو را در جام جهانی زدم....
بنابراین تلاش برای محرمانه نگهداشتن کلید صورت میگیرد و اگر روش رمزنگاری فاش شود، میتوان هنوز امیدوار بود که متن دادههای اصلی فاش نشود چون کلید فاش نشده است. اما به یک مساله باید توجه شود. در این روشها، عمل رمزنگاری و رمزگشایی، با یک کلید صورت میگیرد. یعنی کسی که میخواهد متن رمز شده را بخواند، حتما باید همان کلیدی را که متن با آن رمزنگاری شده است، در اختیار داشته باشد. بنابراین مبدا و مقصد باید از قبل برای تعیین کلید با هم توافق کرده باشند. اما اگر این توافق صورت نگرفته باشد، باید کلید نیز به شکلی از طریق شبکه به مقصد ارسال شود که این کار، امنیت دادهها را به خطر میاندازد. زیرا اگر نفوذگر، به کلید در حال ارسال دسترسی پیدا کند، دیگر همه شرایط مهیاست تا با سرقت دادههای رمز شده، به اصل اطلاعات نیز دسترسی پیدا کند. اما آیا برای رفع این مساله، راه حلی وجود دارد یا خیر؟
کلید عمومی و خصوصی
برای حل مشکل قبل، روشی طراحی شد که برای رمزنگاری از یک الگوریتم و کلید و برای رمزگشایی از یک الگوریتم و کلید مخصوص آن استفاده میشود که الگوریتم و کلید رمزنگاری در دسترس همه میتواند قرار داده شود. اما الگوریتم و کلید رمزگشایی مخفی میماند و تنها یک گیرنده آن را در اختیار خواهد داشت. در این روش، الگوریتمهای رمزنگاری و رمزگشایی از توابع کاملا متفاوتی استفاده میکنند. بنابراین اگر کسی به یکی دسترسی پیدا کرد نمیتواند دیگری را نیز متوجه شود. ضمن اینکه کلیدها هم متفاوت است و این هم دلیل دیگری است که شکستن قفل را مشکل میسازد.
فرض کنید مبدا A قصد دارد برای مقصدB، دادههایی را به صورت محرمانه ارسال کند. برای این کار، مقصدB در رایانه خود با توجه به روشهای در نظر گرفته شده، دو کلید تولید میکند. یکی از کلیدها را که به کلید عمومی معروف است از طریق شبکه در اختیار A یا سایر اعضای شبکه قرار میدهد. در اینجا اهمیتی ندارد که نفوذگر به این کلید دسترسی پیدا کند. زیرا این کلید در اختیار همه قرار میگیرد. حال هر کس بخواهد برای B داده خود را به صورت محرمانه ارسال کند، آن را با کلید عمومی B قفل میکند. اما داده رمزشده با کلید عمومی B نمیتواند مجددا با همان کلید باز شود. برای باز کردن آن به کلیدی نیاز است که به کلید خصوصی معروف است و B آن را در زمان تولید کلید عمومی تولید کرده اما نزد خود نگه داشته است.
دادههای رمز شده تنها با آن کلید قابل رمزگشایی خواهند بود. همانطور که مشاهده میشود کلید رمزگشایی در یک سیستم محفوظ مانده و اصلا وارد شبکه نشده است تا نفوذگر بتواند از طریق شنود خطوط، آن را سرقت کند. بنابراین این روش بسیار توانمندتر از روشهای متعارف رمزنگاری است.
شاه کلید
برای درک بهتر مساله سارقی را در نظر بگیرید که با در اختیار داشتن شاه کلید، هر قفلی را میتواند باز کند، یعنی درهای متعدد که با کلیدهای خصوصی مختلف قفل شدهاند، با کلید عمومی یا شاه کلید سارق باز میشوند.
مساله مطرح شده رمزنگاری درست عکس این مساله است. یعنی از شاه کلید برای قفل کردن هر متنی استفاده میشود و تنها کسی میتواند آن را باز کند که کلید خصوصی را در اختیار داشته باشد.
برای یک نمونه واقعی، بانکی را در نظر بگیرید که از طریق شبکه به مشتریان خدمات میدهد. اگر قرار بود هر کس با استفاده از یک روش خاص خود، اطلاعات شخصیاش را برای بانک ارسال کند، آنگاه کار بانک مشکل و پیچیده بود. زیرا باید هر داده را با کلید مخصوص خودش باز کند. اما با استفاده از روش کلید عمومی و خصوصی، یک کلید عمومی توسط بانک تولید شده و در اختیار همه مشتریان گذاشته میشود. آنها نیز اطلاعات خصوصی خود را با آن رمزنگاری کرده و ارسال میکنند. در مقصد نیز، بانک تنها با استفاده از یک کلید (کلید خصوصی خود) میتواند همه دادههای دریافتی را رمزگشایی کند.
پارسا ستودهنیا
حسین کعبی: وقتی فیگو را در جام جهانی زدم....