مقدمه
رمزنگاری با کلید عمومی (PKC) که با نام رمزنگاری نامتقارن نیز شناخته میشود، بستری است که بر خلاف استفاده از یک کلید در رمزنگاری متقارن، هم از یک کلید عمومی و هم یک کلید خصوصی استفاده میکند. استفاده از یک جفت کلید به PKC ویژگیهای و تواناییهای خاصی میبخشد که میتوان برای حل چالشهای ذاتی در دیگر روشهای رمزنگاری از آنها استفاده کرد. این نوع از رمزنگاری تبدیل به بخش مهمی از امنیت یارانهای نوین شده است. همچنین عنصری حیاتی در زیستبوم روبهرشد رمزارزهاست.
رمزنگاری با کلید عمومی چطور کار میکند؟
در روش PKC، فرستنده از کلید عمومی استفاده میکند تا اطلاعات را رمزنگاری کند؛ اما دریافتکننده از کلید خصوصی برای رمزگشایی اطلاعات استفاده میکند. چون این دو کلید با هم متفاوتند، کلید عمومی را میتوان با خیال راحت به اشتراک گذاشت، بدون اینکه امنیت کلید خصوصی به خطر بیفتد. هر جفت کلید نامتقارن خاص است و باعث میشود این اطمینان خاطر حاصل شود که پیام با استفاده از یک کلید عمومی رمزنگاری شده است و فقط شخصی میتواند اطلاعات پیام را بخواند که به کلید خصوصی متناظر با آن دسترسی داشته باشد.
الگوریتم رمزنگاری نامتقارن جفت کلیدهایی ایجاد میکند که با هم ارتباط ریاضیاتی دارند؛ بنابراین طولشان بسیار طولانیتر از کلیدهای رمزنگاری متقارن است. طولانیتر بودن این کلیدها، که معمولا بین ۱۰۲۴ تا ۲۰۴۸ بیت هستند، برای محاسبه کلید خصوصی بر اساس کلید عمومی را بسیار دشوار میسازد. یکی از الگوریتمهای رایج در رمزنگاری غیرمتقارن که امروزه از آن استفاده میشود، الگوریتم RSA است.
بر اساس روش RSA، کلیدها با استفاده از قدرمطلقی ایجاد میشود که با ضرب دو عدد (معمولا دو عدد اول بزرگ) ایجاد میشود . به بیان ساده، قدر مطلق دو کلید ایجاد میکند (یک کلید عمومی که میتوان به اشتراک گذاشت و یک کلید خصوصی که باید مخفی نگه داشته شود). الگوریتم RSA ابتدا در سال ۱۹۷۷ توسط ریوست، سامیر و آدلمن (از این رو RSA نامیده میشود چون حرف اول نام آنهاست) توصیف شد و همچنان بخشی کلیدی از سیستمهای رمزنگاری است.
PKC بهعنوان ابزار رمزنگاری
رمزنگاری با کلید عمومی یکی از مشکلات دیرینه الگوریتمهای متقارن را حل میکند: ارتباط بین کلیدهایی که هم برای رمزگذاری و هم برای رمزگشایی استفاده میشود. ارسال این کلید از طریق یک اتصال ناامن آن را در خطر افشای برای اشخاص ثالثی قرار میدهد که پس از دستیابی به این کلید، میتوانند تکتک پیامهای رمزگذاری شده با کلید مشترک را بخوانند. برای حل این مشکل تکنیکهای رمزنگاری (مانند پروتکل تبادل کلید Diffie-Hellman-Merkle) وجود دارند؛ اما همچنان در برابر حملات آسیب پذیر هستند. در مقابل، در رمزنگاری با کلید عمومی، میتوان کلید رمزنگاری را بهصورت ایمن در هر اتصالی به اشتراک گذاشت. در نتیجه، الگوریتمهای نامتقارن در مقایسه با الگوریتمهای متقارن، سطح حفاظت بالاتری را ارائه میدهند.
ایجاد امضاهای دیجیتال
یکی از دیگر کاربردهای الگوریتمهای رمزنگاری نامتقارن، اعتبارسنجی دادهها با استفاده از امضای دیجیتال است. در اصل، امضای دیجیتال یک هش است که با استفاده از داده های یک پیام ایجاد میشود. هنگامی که آن پیام ارسال میشود، امضا میتواند توسط گیرنده با استفاده از کلید عمومی فرستنده بررسی شود. به این ترتیب، آنها می توانند منبع پیام را تأیید کنند و اطمینان حاصل کنند که در آن دستکاری نشده است. در برخی موارد، امضای دیجیتال و رمزگذاری با هم اعمال میشوند، به این معنی که خود هش ممکن است به عنوان بخشی از پیام رمزگذاری شود. البته باید توجه داشت که همه روشهای امضای دیجیتال از تکنیکهای رمزگذاری استفاده نمیکنند.
دیدگاهتان را بنویسید