آموزش الگوریتم رمزنگاری کلید عمومی

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

رمزنگاری کلید عمومی به چه صورت کار می کند ؟

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

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

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

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

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

به کارگیری این الگوریتم در امضاهای دیجیتالی

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

محدودیت ها

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

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

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

پروتکل لایه سوکت های ایمن (SSL) که موجب ممکن شدن ارتباط های ایمن با وبسایت ها می شود ، هم رمزنگاری نامتقارن را به کار می گیرد . سیستم های PKC حتی به عنوان ابزاری به منظور ارائه محیطی ایمن جهت رای گیری الکترونیکی نیز بررسی شده‌اند . این شیوه این امکان را به رای دهندگان خواهد داد تا بتوانند با کامپیوتر خانگی خود در انتخابات شرکت نمایند .

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

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

جمع بندی

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

منبع : binance