کلید عمومی (Public Key) چیست؟

کلید عمومی (Public Key)

کلید عمومی (Public Key) چیست؟ در علم کریپتوگرافی، هم کلید عمومی و هم کلید خصوصی برای دسترسی به اطلاعات رمزگذاری شده مورد نیاز هستند. در اصل، کریپتو گرافی، عمل رمزگذاری اطلاعات برای مخفی نگه داشتن آن از اشخاص ثالث است. با رمزگذاری داده ها، فقط شخص دارای مجوز می تواند اطلاعات را رمزگشایی کرده و استفاده کند. در این مقاله قصد داریم تا شما را با کلید عمومی (public key) ، کاربردها و تفاوت های آن با کلید خصوصی آشنا کنیم اگر به این موضوع علاقه مند هستید تا انتهای این مقاله همراه ما باشد.

کریپتوگرافی یا رمزنگاری چیست؟

اصطلاح کریپتوگرافی، ریشه یونانی دارد و در اصل به معنای «نوشتن مخفیانه» است. در گذشته از این علم فقط در سازمان های اطلاعاتی و ارتش به منظور نوشتن و رمزگشایی پیام های محرمانه استفاده می شد اما با گذر زمان این علم تکامل یافته و به شاخه ای جداگانه از علوم کامپیوتر تبدیل شده است. به طورکلی، کریپتوکارنسی ها نیز مشابه اینترنت از حوزه های آکادمیک و نظامی منشأ گرفتند و در نهایت موفق به ورود به حوزه خصوصی شدند. در اواخر دهه ۱۹۸۰، جنبشی تحت عنوان « سایفرپانک ها » از رمزنگاری به منظورحفظ حریم خصوصی کاربران استفاده می کرد و به شدت بر موضوع حفظ حریم خصوصی تأکید داشت.

کریپتوگرافی یا رمزنگاری چیست؟
کریپتوگرافی یا رمزنگاری چیست؟

کلید عمومی و خصوصی در کریپتو چیست؟

به طورکلی، Public key برای دریافت تراکنش ها و Private key برای ارسال تراکنش ها مورد استفاده قرار می گیرد. اگر به نحوه عملکرد این سیستم با دقت نگاه کنید، همه چیز کمی پیچیده تر به نظر می رسد. جالب است بدانید که به استفاده از دو کلید مختلف (یک کلید عمومی و یک کلید خصوصی)، رمزنگاری نامتقارن می گویند. این دو کلید از نظر ریاضی به یکدیگر متصل هستند و یک جنبه حیاتی از شبکه بلاکچین را تشکیل می دهند.

به طورکلی، منشأ کلید عمومی در کلید خصوصی است و این موضوع به کاربران اجازه می دهد تا امضاهای غیرقابل جعل ایجاد کنند که توسط شرکت کنندگان شبکه که از کلید عمومی مربوطه اطلاع دارند، مورد تأیید قرار می گیرند. در صورتی که علاقه مند به مطالعه در مورد مبانی رمزارزها  هستید، پیشنهاد می کنم کتاب مبانی رمز ارز و تکنولوژی های مرتبط را مطالعه نمایید.

بهتر است بدانید که دارایی های دیجیتال مانند بیتکوین و اتریوم با استفاده از سه دسته اطلاعات مهم و اساسی کار می کنند: آدرس، موجودی و کلیدهای عمومی و خصوصی مربوط به آدرس. برای تولید آدرس بیتکوین ابتدا یک کلید خصوصی ساخته می شود و سپس کلید عمومی متناظر آن با استفاده از یک الگوریتم شناخته شده استخراج می شود و در نهایت، آدرس، شکل کوتاه تر و معرف کلید عمومی می باشد که از آن برای تأیید تراکنش ها استفاده می شود.

به طورکلی، کلید خصوصی چیزی است که مالکیت وجوه یک کاربر را در یک آدرس، مشخص می کند. اغلب کیف پول ها به طور خودکار کلیدهای خصوصی را برای شما تولید و ذخیره می کنند. جالب است بدانید که هنگامی که شما از کیف پول خود تراکنش می زنید، نرم افزار این تراکنش را با کلید خصوصی شما امضا می کند و بدون افشای آن، آن را به کل شبکه نشان می دهد که این نشان دهنده صلاحیت شما برای انتقال وجه است.

امنیت این سیستم از مسیر یک طرفه ای که از کلید خصوصی به آدرس عمومی می رسد، تأمین می شود. اگر از انتها به ابتدا نگاه کنیم، متوجه خواهید شد که استخراج کلید عمومی از آدرس ممکن نیست و به همین ترتیب، استخراج کلید خصوصی از کلید عمومی نیز غیرممکن است. در کیف پول هایی مانند اتمیک، عبارت ۱۲ کلمه ای که در ابتدای ساخت کیف پول در اختیار شما قرار می گیرد همان عبارت بازیابی و کلیدهای خصوصی شما است. در واقع این همان چیزی است که به شما امکان می دهد تا در صورت از دست دادن کیف پول اصلی خود، وجوه آن را بازیابی کنید.

کلید عمومی و خصوصی در کریپتو چیست؟
کلید عمومی و خصوصی در کریپتو چیست؟

کریپتوگرافی کلید عمومی چگونه کار می کند؟

در این فرایند، کلید عمومی توسط فرستنده و با هدف رمزگذاری اطلاعات و کلید خصوصی توسط شخص گیرنده و به منظور رمزگشایی آن مورد استفاده قرار می گیرد. همانطور که در بخش های قبلی مقاله توضیح دادیم، این دو کلید با یکدیگر متفاوت هستند. به همین دلیل شما می توانید کلید عمومی خود را با خیال راحت و بدون به خطر انداختن امنیت کلید خصوصی، آن را در اختیار دیگران قرار دهید اما کلید خصوصی خود را باید به صورت مخفی و در جایی امن و به دور از دسترس دیگران نگهداری کنید.

رمزنگاری نامتقارن هر جفت کلید، فرایندی منحصربه فرد بوده و تضمین می کند که پیام رمزگذاری شده با استفاده از کلید عمومی فقط توسط شخصی که کلید خصوصی مربوطه به آن را در اختیار دارد، خوانده  شود.

از آنجا که الگوریتم های رمزنگاری نامتقارن، جفت  کلیدی تولید می کنند که از نظر ریاضی با یکدیگر مرتبط هستند، طول کلید آن ها بسیار طولانی تر از کلیدهایی است که در رمزنگاری متقارن تولید می شود. طول کلید معمولاً بین ۱۰۲۴ تا ۲۰۴۸ بیت است و محاسبه یک کلید خصوصی را از همتای عمومی آن بسیار دشوار می کند. یکی از رایج ترین الگوریتم های رمزنگاری نامتقارن که امروزه مورد استفاده قرار می گیرد، RSA نامیده می شود.

در RSA، کلیدها با استفاده از یک مدول تولید می شوند که با ضرب دو عدد (اغلب دو عدد اول بزرگ) به دست می آیند. به طور اساسی، مدول دو کلید تولید می کند ( یک Public key و یک Private key ). این الگوریتم، اولین بار در سال ۱۹۷۷ توسط Rivest، Shamir و Adleman ( به همین دلیل RSA نامگذاری شد ) معرفی شد و همچنان جزء سیستم های رمزنگاری کلید عمومی در نظر گرفته می شود.

کریپتوگرافی کلید عمومی چگونه کار می کند؟
کریپتوگرافی کلید عمومی چگونه کار می کند؟

تفاوت بین آدرس، کلید و کیف پول

در مورد تفاوت بین آدرس، کلید و کیف پول، تصورات غلط زیادی وجود دارد. برای درک بهتر این موضوع در این قسمت از مقاله به توضیح آن  می پردازیم و ویژگی های آن ها را یک به یک بررسی می کنیم.

آدرس ( Address )

آدرس، مجموعه ای از اعداد و حروف است که به صورت تصادفی ساخته می شود و نشان دهنده یک نوع شماره منحصربه فرد شبیه به شماره حساب بانکی است. به عنوان مثال، این اولین آدرس بیتکوین است:

۱A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

یک آدرس می تواند به صورت رایگان توسط هر کسی و در عرض چند ثانیه بدون نیاز به شخص ثالث ایجاد شود. در نتیجه، شما می توانید به تعداد دلخواه یا نیاز، آدرس عمومی ایجاد کرده و آن ها را با دیگران به اشتراک بگذارید. به این ترتیب، کاربران می توانند دارایی های دیجیتال را به آدرس شما ارسال کنند. توجه داشته باشید که دارایی ها و تراکنش های شما توسط هر کسی که آدرس عمومی شما را می داند، قابل مشاهده است.

کلیدها ( Keys )

دو نوع کلید وجود دارد: کلید عمومی و کلید خصوصی. کلیدهای عمومی شبیه شماره حساب بانکی شما هستند که آن ها را به شکل آزادانه می توانید با همه به اشتراک بگذارید و هر کسی می تواند تراکنش هایی را برای آن  ارسال کند. از سوی دیگر، کلیدهای خصوصی همانطور که از نامشان پیداست باید خصوصی نگه داشته شوند و بهتر است آن ها را به عنوان نوعی پین یا کد تأیید در نظر بگیرید که همراه با کلیدهای عمومی مربوطه، امکان دسترسی به وجوه شما در شبکه بلاکچین را فراهم می کنند.

توجه داشته باشید که شما هرگز و تحت هیچ شرایطی نباید کلیدهای خصوصی خود را با شخص دیگری به اشتراک بگذارید و بهتر است دارایی های خود را به ایمن ترین شکل ممکن مثلاً روی یک کیف پول کاغذی یا یک کیف پول سخت افزاری نگهداری کنید. نکته حائز اهمیت این است که کلیدها در شبکه بلاکچین ذخیره نمی شوند بلکه در عوض، می توانید آن ها را در یک فایل رمزگذاری شده و به صورت آفلاین نگهداری کنید.

کیف پول

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

کیف پول
کیف پول

کاربردهای رمزنگاری کلید عمومی

از رمزنگاری کلیدهای عمومی برای تأمین امنیت اطلاعات حساس در سیستم های کامپیوتری مدرن استفاده می شود. به عنوان مثال، با کمک این روش می توان ایمیل ها را رمزگذاری کرد تا محتویات آن ها محرمانه بماند. علاوه بر این، پروتکل SSL که موجب امنیت وب سایت ها می شود، نیز از رمزنگاری نامتقارن استفاده می کند. در واقع، این سیستم می تواند به عنوان وسیله ای برای ارائه یک محیط امن در رأی گیری های الکترونیکی مورد استفاده قرار گیرد تا کاربران از خانه و با استفاده از رایانه های شخصی خود در انتخابات شرکت کنند.

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

 

محدودیت های کریپتوگرافی کلید عمومی

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

جمع بندی

رمزنگاری کلید عمومی برای حفظ امنیت رایانه ها و تأیید تراکنش  رمزارزها اهمیت زیادی دارد. الگوریتم های رمزنگاری نامتقارن، با استفاده از کلیدهای عمومی و خصوصی، بسیاری از نگرانی های امنیتی مربوط به رمزنگاری های متقارن را حل کرده است. اگرچه رمزنگاری کلیدهای عمومی سال هاست که در حال انجام است اما ما شاهد آن هستیم که کاربردهای آن در فضای بلاکچین و دارایی های دیجیتال روز به روز در حال افزایش است.

منبع

 

می توانید به این محصول امتیاز بدهید

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید