رمزنگاری کلید عمومی (PKC) که به اسم رمزنگاری نامتقارن نیز شناخته میشود، چارچوبی است که از دو کلید عمومی و خصوصی استفاده میکند و این امر بر خلاف رمزنگاری متقارن است که فقط از یک کلید بهره میبرد.
استفاده از جفت کلید به PKC، مجموعه منحصر به فردی از ویژگیها و قابلیتهایی میدهد که برای حل چالشهای موجود در سایر روشهای رمزنگاری میتوان از آنها استفاده کرد. این نوع رمزنگاری به عامل مهمی در امنیت رایانهای و همچنین مولفه مهمی در رشد اکوسیستم ارز دیجیتال تبدیل شده است.
از رمزنگاری نامتقارن یا کلید عمومی در بلاک چین استفاده زیادی میشود؛ به قولی میتوان گفت که این نوع رمزنگاری در کیف پولهای رمز ارزها نقشی اساسی ایفا میکند. در ادامه مقاله، ماهیت رمزنگاری نامتقارن، نحوه کار و رمزنگاری استفاده شده در بلاک چین آشنا میشوید.
نحوه کار رمزنگاری کلید عمومی چگونه است؟
در طرح PKC، کلید عمومی توسط ارسال کننده برای رمزنگاری اطلاعات استفاده میشود، در حالی که کلید خصوصی توسط دریافت کننده برای رمزگشایی همان اطلاعات مورد استفاده قرار میگیرد. از آنجایی که این دو کلید با یکدیگر متفاوتاند، میتوان کلید عمومی را بدون در خطر افتادن امنیت کلید خصوصی به اشتراک گذاشت. هر جفت کلید نامتقارن، منحصر به فرد هستند و تضمین میکنند که فقط فردی که دارای کلید خصوصی متناظر است، میتواند پیامی که با استفاده از کلید عمومی رمزنگاری شده است را بخواند.
از آنجایی که الگوریتمهای رمزنگاری نامتقارن، جفت کلیدهایی تولید میکنند که از نظر ریاضیاتی به یکدیگر متصلاند، طول کلید آنها بسیار بلندتر از کلیدهای رمزنگاری متقارن است. این طول بلندتر که معمولا بین ۱۰۲۴ الی ۲۰۴۸ بیت است، محاسبه کلید خصوصی از کلید عمومی را به شدت دشوار میکند. یکی از رایجترین الگوریتمها برای رمزنگاری نامتقارن، RSA است.
در طرح RSA، کلیدها با استفاده از ضریبی تولید میشوند که با ضرب دو عدد به دست میآید. به عبارت سادهتر، این ضریب دو کلید تولید میکند: یک کلید عمومی که میتوان به اشتراک گذاشت و یک کلید خصوصی که باید پنهان حفظ شود. الگوریتم RSA ابتدا در سال ۱۹۷۷ توسط ریوست، شامیر و ادلمن معرفی شد و به مولفه مهمی در سیستمهای رمزنگاری کلید عمومی تبدیل شد.
رمزنگاری کلید عمومی به عنوان ابزار رمزنگاری
رمزنگاری کلید عمومی یکی از مشکلات قدیمی الگوریتمهای متقارن را حل میکند. این مشکل، ارتباط کلیدی است که برای رمزنگاری و رمزگشایی استفاده میشود.
ارسال این کلید در یک ارتباط ناایمن، آن را در معرض اشخاص ثالث قرار میدهد. این افراد سپس میتوانند با استفاده از کلید به اشتراک گذاشته شده، تمام پیامها را بخوانند. اگرچه روشهای رمزنگاری (نظیر پروتکل تبادل کلید دیفی – هلمن – مرکل) برای حل این مشکل وجود دارند، اما این روشها همچنان در مقابل حملات آسیب پذیر هستند. در مقابل، در رمزنگاری کلید عمومی، کلید مورد استفاده برای رمزنگاری را میتوان به طور ایمن به اشتراک گذاشت؛ در نتیجه، الگوریتمهای نامتقارن نسبت به الگوریتمهای متقارن سطح بالاتری از امنیت و محافظت را ارائه میدهند.
استفاده از این الگوریتم در امضاهای دیجیتالی
یکی دیگر از کاربردهای الگوریتمهای رمزنگاری نامتقارن، تایید اطلاعات از طریق استفاده از امضاهای دیجیتالی است. اساسا امضای دیجیتالی، هشی است که با استفاده از اطلاعات موجود در پیام ایجاد شده است.
هنگامی که این پیام ارسال میشود، امضا توسط دریافت کننده و با استفاده از کلید عمومی ارسال کننده قابل بررسی است. بدین ترتیب میتوانند مبدا پیام را تایید کنند و تضمین کنند که دستکاری صورت نگرفته است.
در بعضی از موارد، امضاهای دیجیتالی و رمزنگاری با یکدیگر به کار گرفته میشود؛ یعنی خود هش به عنوان بخشی از پیام رمزنگاری میشود. قابل ذکر است که تمام طرحهای امضای دیجیتال از روشهای رمزنگاری استفاده نمیکنند.
محدودیتهای رمزنگاری نامتقارن
اگرچه میتوان از PKC برای ارتقای امنیت رایانهای و ارائه تایید یکپارچگی پیامها استفاده کرد، اما این الگوریتم، محدودیتهایی نیز دارد.
به دلیل پیچیدگی عملیات ریاضیاتی موجود در رمزنگاری و رمزگشایی، هنگامی که الگوریتمهای نامتقارن با مقدار اطلاعات زیادی مواجه شوند، بسیار کُند هستند. همچنین این نوع رمزنگاری به شدت به این فرض وابسته است که کلید خصوصی ایمن و مخفی خواهد ماند.
اگر کلید خصوصی به طور تصادفی به اشتراک گذاشته شود یا لو برود، امنیت تمام پیامهای رمزنگاری شده به خطر خواهد افتاد. همچنین امکان دارد که کاربران کلیدهای خصوصی خود را گم کنند. در این حالت، دسترسی به اطلاعات رمزنگاری شده غیرممکن خواهد بود.
کاربردهای رمزنگاری کلید عمومی
این نوع رمزنگاری توسط بسیاری از سیستمهای رایانهای مدرن به منظور ارائه امنیت برای اطلاعات مهم استفاده میشود. برای مثال میتوان به رمزنگاری ایمیلها با روشهای رمزنگاری کلید عمومی پرداخت تا محتویات آنها به طور محرمانه باقی بماند.
پروتکل لایه سوکتهای ایمن (SSL) که ارتباطات ایمن با وبسایتها را امکان پذیر میسازد نیز از رمزنگاری نامتقارن استفاده میکند. سیستمهای PKC حتی به عنوان ابزاری برای ارائه محیطی ایمن برای رای گیری الکترونیکی نیز مورد بررسی قرار گرفتهاند. این روش به رای دهندگان امکان میدهد تا با استفاده از رایانه خانگی خود در انتخابات شرکت کنند.
الگوریتم PKC همچنین در فناوری بلاک چین و ارز دیجیتال نیز وجود دارد. هنگامی که کیف پول جدیدی ایجاد میشود، یک جفت کلید (کلید عمومی و کلید خصوصی) تولید میشود. آدرس کیف پول با استفاده از کلید عمومی تولید میشود و میتوان آن را به طور ایمن با دیگران به اشتراک گذاشت.
از طرف دیگر، کلید خصوصی برای ایجاد امضاهای دیجیتال و تایید تراکنشها مورد استفاده قرار میگیرد؛ بنابراین باید به طور مخفی و پنهان حفظ شود. پس از آن که با تایید هش موجود در امضای دیجیتال، تراکنش تایید میشود، تراکنش مورد نظر میتواند به دفتر کل بلاک چین افزوده شود. این سیستم تایید امضاهای دیجیتالی تضمین میکند که فقط فردی که دارای کلید خصوصی کیف پول است، میتواند به سرمایه موجود دسترسی داشته باشد.
قابل ذکر است که رمزهای نامتقارن مورد استفاده در ارزهای دیجیتال، با رمزهای استفاده شده در امنیت رایانه ها متفاوت است. برای مثال، بیت کوین و اتریوم از رمز مخصوصی به اسم الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) برای تایید تراکنشها استفاده میکنند.
رمزنگاری نامتقارن یا کلید عمومی از یک اصل به نام “مشکل آسان و سخت” استفاده میکند. به این معنی که در یک مسیر دوطرفه، مسیر رفت ساده است ولی مسیر برگشت بسیار سخت و دشوار. یک مثال خوب در این باره وجود دارد:
اگر من به شما یک خودکار و کاغذ بدهم و زمان زیادی در اختیار شما قرار دهم، میتوانم از شما بخواهم که دو عددی را که میخواهید را در هم ضرب کنید؛ شما احتمالا به راحتی پاسخ را پیدا میکنید.
اما اگر همان پاسخ ضرب دو عدد را به شما بدهم و از شما بخواهم که تمام اعدادی را که در هم ضرب میشوند تا این پاسخ به دست بیاید را برایم پیدا کنید، برای شما بسیار دشوار خواهد بود.
در رمزنگاری کلید عمومی، از یک مشکل ساده ریاضیاتی برای ایجاد یک پیام استفاده میشود، اما برای کسی که نباید این پیام را مشاهده کند، رمزگشایی آن بسیار دشوار خواهد بود؛ کلیدهای عمومی و خصوصی نقش بسیار معمی در فناوری بلاک چین بازی میکنند.
یک نمونه را ببینیم:
فرض کنید که من دو کیف پول متفاوت دارم؛ یک کیف پول که همه میتوانند از آن برای نگهداری پول استفاده کنند، و یک کیف پول سخت افزاری، که میتوانم از آن برای خرید و فروش ارزهای دیجیتالی مثل بیت کوین و اتر استفاده کنم.
حالا اتفاقی که میافتد، این است که اگر کیف پول معمولیام را گُم کنم و کسی آن را پیدا کند، میتواند پول داخل آن را خرج کند.
اما در کیف پول سخت افزاری، تنها چیزی که در آن نگهداری میشود، کلید خصوصی من است. در بلاک چین و رمز ارزها، این مقداری متفاوت است؛ کلیدهای عمومی و خصوصی با یکدیگر کار میکنند، تا من بتوانم از کلید خصوصی برای انجام امضای دیجیتال پیامها و یا تراکنشها استفاده کنم.
من از کلید عمومی (که همه میتوانند ببینند) برای تایید کلید خصوصی استفاده میکنم که امضای دیجیتال را انجام داده است؛ بنابراین همه مطمئن میشوند که مالک این کلید خصوصی من هستم. در بلاک چین و رمز ارزها، کلید عمومی و کلید خصوصی به این شکل کار میکنند. به این ترتیب، دیگر کسی نمیتواند داراییهای مرا امضا و خرج کند.
اگر من بخواهم برای شما ۳ بیت کوین ارسال کنم، تنها چیزی که در کیف پولم وجود دارد، کلید خصوصی است. یعنی من برای ارسال بیت کوین، به کلید خصوصی خود دسترسی دارم و با استفاده از آن، تراکنش را تایید میکنم تا بر روی بلاک چین قرار بگیرد. این امضا میگوید که من دارم مقداری بیت کوین را از کیف پولم ارسال میکنم؛ سپس کلید عمومی این پیام را تایید میکند و رمز ارز به شما منتقل میشود.
اگر آن را گم کنم، در واقع دارایی خود را از دست ندادهام، چون هیچ پولی داخل آن نیست؛ تمام پول بر روی بلاک چین ذخیره میشود و اگر روزی بتوانم کلید خصوصی خود را پیدا کنم و یا کیف پول خود را بازیابی کنم، دوباره میتوانم به پولم دسترسی داشته باشم و آن را خرج کنم.
نتیجه گیری
همانطور که در ابتدای مقاله اشاره کردیم، در این مقاله با ماهیت رمزنگاری کلید عمومی (PKC) یا نامتقارن، نحوه کارکرد آن و رمزنگاری مورد استفاده در بلاک چین آشنا شدید.
از امنیت رایانهای تا تایید تراکنشهای ارز دیجیتال، رمزنگاری کلید عمومی در ایمن سازی سیستمهای دیجیتالی مدرن نقش مهمی ایفا میکند.
الگوریتمهای رمزنگاری نامتقارن با استفاده از جفت کلید عمومی و خصوصی، مشکلات امنیتی بنیادین موجود در رمزنگاری متقارن را حل میکنند؛ اگرچه سالهاست که از PKC استفاده میشود، اما کاربردهای جدیدی مخصوصا در دنیای ارز دیجیتال و بلاک چین برای آن توسعه مییابد.
آخرین به روز رسانی: ۹۹/۰۸/۱۷