الگوریتم‌های کلید نامتقارن

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

همواره توزیع و مبادلهٔ کلید رمز یکی از مشکلات سیستم‌های رمزنگاری بوده‌است. فارغ از آن که یک سیستم رمزنگاری چقدر قدرتمند و محکم است، هرگاه یک اخلالگر بتواند کلید رمز را سرقت کند، کل سیستم بی ارزش خواهد شد. رمزشکن‌ها همیشه از روشهایی که در آنها کلید رمزنگاری و رمزگشایی یکسان است (یا ازطریق یکدیگر قابل محاسبه هستند) قلباً استقبال می‌کنند. در این روش‌ها بالاخره باید کلیدها بین کاربران سیستم توزیع شود. در همین نقطه به نظر می‌رسد که یک اشکال ذاتی ودرونی وجود دارد. از یک طرف این کلیدها باید در مقابل سرقت حفاظت شوند و از طرف دیگر باید بین کاربران توزیع شوند. در سال۱۹۷۶دوپژوهشگر در دانشگاه استنفورد به نام‌های دیفی و هلمنیک سیستم رمز کاملاً جدید را پیشنهاد کردندکه در آن کلیدهای رمز نگاری ورمزگشایی متفاوت بودند وبا در اختیار داشتن کلیدهای رمز نگاری عملاَ نمی‌شدکلیدهای رمز گشایی رااستنتاج کرد در طرح پیشنهادی این دو نفرالگوریتم رمزنگاریE(باکلید(e الگوریتم رمز گشاییD(باکلید(dباید سه نیاز زیر را برآورده می‌کرد. این نیازها را می‌توان به سادگی به صورت زیر توصیف کرد:

  1. D(E(P))=P
  2. استنتاجd(کلید رمز گشایی)از روی e(کلیدرمز نگاری)بی نهایت مشکل می‌باشد.
  3. از طریق مکانیزم«حمله با متن‌های انتخابی وشناخته شده»شکسته نشود.

اولین نیاز بیانگر آن است که هر گاه الگوریتم رمز گشاییDرابر روی یک متن رمز شده یعنی(p(E اعمال کنیم مجددا َاصل پیام را بدست بیاوریم. بدون این ویژگی گیرندهٔ پیام نیز قادر به رمز گشایی متن رمز نخواهد بود. نیاز دوم به قدر کافی گویاست واحتیاجی به توضیح اضافی ندارد. نیاز سوم به نحوی که بعداَ خواهیم دید از آن جهت است که یک رمز شکن ممکن است الگوریتم رابا استفاده از متن‌های شناخته شده بیازماید وبه روش سعی وخطا متن رمز شده را بشکند. با این سه شرط دلیلی وجود نداردکه کلیدرمز نگاری رانتوان به صورت عمومی در اختیار همه قرار داد. روش کار بدین نحو است که یک شخص مثلاً آلیس وقتی تمایل داردپیامهای محرمانه در یافت کند باید ابتدا دو الگوریتم منطبق با شرایط فوق ابداع کند. الگوریتم وکلید رمز نگاری آلیس به صورت عمومی وآشکار اعلام می‌شود. آلیس حتی می‌تواند کلید عمومی [برای رمز نگاری ]را در صفحه اصلی از وب سایت خودش به همه اعلام کند. مااز نماد EA به معنای الگوریتم رمز نگاری با پارامتر A یعنی کلید عمومی آلیس استفاده می‌کنیم. همچنین از نماد DA به معنای الگوریتم رمز گشایی با پارامتر A یعنی کلید خصوصی آلیس استفاده می‌نماییم. شخص دیگری مانند باب نیز دقیقاَ همین کار را می‌کند. EB را به صورت عمومی آشکار می‌کند در حالی که DBرا به صورت سری نزد خود نگهداری می‌کند. حال ببینیم مشکل برقراری یک کانال مطمئن بین آلیس وباب که هیچ ارتباط قبلی با هم نداشته‌اند چگونه حل می‌شود.

فرض شده کلید رمز نگاری آلیس یعنی EA و کلید رمز نگاری باب یعنی EB در فایلهای قابل خواندن و به صورت آشکار قرار دارد. آلیس اولین پیام خود یعنی p را می‌گیرد و (EB(p را محاسبه کرده و نتیجه را برای باب می‌فرستد. باب با اعمال کلید سری خود یعنی DB آن را رمزگشایی می‌کند. هیچ شخص دیگری نمی‌تواند از پیام رمزنگاری شده بهره برداری کند؛ چرا که سیستم رمزنگاری بسیار قدرتمند فرض شده و استنتاج DB از کلید رمزگشایی EB بسیار مشکل و غیر عملی است. برای ارسال پاسخ پیام R را ارسال می‌کند. حال آلیس و باب می‌توانند به صورت مطمئن با یکدیگر مبادلهٔ پیام نمایند بدون آن که کلیدهای سری آن‌ها راغیرازخودشان کسی بداند. شاید اشاره به چند اصطلاح در خصوص این روش مفید باشد. رمزنگاری کلید نامتقارن یا رمزنگاری با کلید عمومی ایجاب می‌کند که هر کاربر دو کلید داشته باشد: یک کلید عمومی که تمام دنیا برای ارسال پیام به کاربر ازآن استفاده می‌کنند و یک کلید خصوصی که کاربر برای رمزگشایی پیام‌ها بدان احتیاج دارد.

منابع [ویرایش]

http://en.wikipedia.org/wiki/Public_key_cryptography