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