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

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

یک عدد غیر قابل پیش بینی (معمولا بزرگ و تصادفی ) برای شروع تولید یک جفت کلید قابل قبول مناسب برای استفاده توسط یک الگوریتم کلید نامتقارن استفاده می شود.
در طرح رمزگذاری کلید نامتقارن، هر کسی می تواند پیام ها را با استفاده از یک کلید عمومی رمزگذاری کند، اما تنها دارنده کلید خصوصی جفت شده می تواند چنین پیامی را رمزگشایی کند. امنیت سیستم به محرمانه بودن کلید خصوصی بستگی دارد که نباید برای هیچکس دیگر شناخته شود.
در طرح تبادل کلید Diffie–Hellman ، هر یک از طرفین یک جفت کلید عمومی/خصوصی تولید کرده و کلید عمومی جفت را توزیع می‌کند. پس از به دست آوردن یک کپی معتبر (nb، این مهم است) از کلیدهای عمومی یکدیگر، آلیس و باب می توانند یک راز مشترک را بصورت آفلاین محاسبه کنند. به عنوان مثال، راز مشترک را می توان به عنوان کلید رمز متقارن استفاده کرد که اساساً در همه موارد بسیار سریعتر خواهد بود.
در این مثال پیام به صورت دیجیتال امضا شده است، اما رمزگذاری نشده است. 1) آلیس پیامی را با کلید خصوصی خود امضا می کند. 2) باب می تواند تأیید کند که آلیس پیام را ارسال کرده است و اینکه پیام تغییر نکرده است.

رمزنگاری با کلید عمومی ، یا رمزنگاری نامتقارن ، یک سیستم رمزنگاری است که از جفت کلید استفاده می‌کند . هر جفت از یک کلید عمومی (که ممکن است برای دیگران شناخته شده باشد) و یک کلید خصوصی (که ممکن است توسط کسی به جز مالک شناخته نشود) تشکیل شده است. تولید چنین جفت های کلیدی به الگوریتم های رمزنگاری بستگی دارد که بر اساس مسائل ریاضی به نام توابع یک طرفه هستند . امنیت مؤثر مستلزم خصوصی نگه داشتن کلید خصوصی است. کلید عمومی را می توان به طور آشکار و بدون به خطر انداختن امنیت توزیع کرد. [1]

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

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

الگوریتم‌های کلید عمومی، اصول اولیه امنیتی در سیستم‌های رمزنگاری مدرن هستند، از جمله برنامه‌ها و پروتکل‌هایی که از محرمانگی، صحت و غیرقابل رد کردن ارتباطات الکترونیکی و ذخیره‌سازی داده‌ها اطمینان می‌دهند. آنها زیربنای استانداردهای اینترنت متعددی مانند امنیت لایه حمل و نقل (TLS) ، S/MIME ، PGP و GPG هستند. برخی از الگوریتم‌های کلید عمومی توزیع و محرمانه بودن کلید را ارائه می‌کنند (مثلاً تبادل کلید دیفی-هلمن )، برخی امضاهای دیجیتال (مانند الگوریتم امضای دیجیتال ) و برخی هر دو را ارائه می‌کنند (مانند RSA )). در مقایسه با رمزگذاری متقارن ، رمزگذاری نامتقارن نسبتاً کندتر از رمزگذاری متقارن خوب است و برای بسیاری از اهداف بسیار کندتر است. سیستم‌های رمزنگاری امروزی (مانند TLS ، Secure Shell ) از رمزگذاری متقارن و رمزگذاری نامتقارن استفاده می‌کنند، اغلب با استفاده از رمزگذاری نامتقارن برای تبادل امن یک کلید مخفی که سپس برای رمزگذاری متقارن استفاده می‌شود.

توضیحات [ ویرایش ]

قبل از اواسط دهه 1970، همه سیستم‌های رمزنگاری از الگوریتم‌های کلید متقارن استفاده می‌کردند، که در آن کلید رمزنگاری یکسان با الگوریتم زیربنایی توسط فرستنده و گیرنده استفاده می‌شود، که هر دو باید آن را مخفی نگه دارند. ضروری است، کلید در هر سیستمی از این قبیل، باید قبل از هر گونه استفاده از سیستم، به روشی امن بین طرفین ارتباط رد و بدل می‌شد - به عنوان مثال، از طریق یک کانال امن . این نیاز هرگز پیش پا افتاده نیست و با افزایش تعداد شرکت کنندگان، یا زمانی که کانال های امن در دسترس نیست، یا زمانی که (همانطور که رویه رمزنگاری معقول است)، کلیدها به طور مکرر تغییر می کنند، به سرعت غیرقابل مدیریت می شود. به ویژه، اگر قرار است پیام‌ها از سایر کاربران ایمن باشند، برای هر جفت کاربر ممکن یک کلید جداگانه لازم است.

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

دو مورد از شناخته شده ترین کاربردهای رمزنگاری کلید عمومی عبارتند از:

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

یکی از مسائل مهم اطمینان/اثبات این است که یک کلید عمومی خاص معتبر است، یعنی درست است و به شخص یا نهاد مورد ادعا تعلق دارد، و توسط شخص ثالث (شاید مخرب) دستکاری یا جایگزین نشده است. چندین رویکرد ممکن وجود دارد، از جمله:

یک زیرساخت کلید عمومی (PKI)، که در آن یک یا چند شخص ثالث – معروف به مقامات گواهی – مالکیت جفت کلید را تأیید می‌کنند. TLS بر این متکی است. این بدان معناست که سیستم PKI (نرم‌افزار، سخت‌افزار و مدیریت) قابل اعتماد برای همه افراد درگیر است.

یک " وب اعتماد " که با استفاده از تاییدیه های فردی پیوندهای بین یک کاربر و کلید عمومی متعلق به آن کاربر، احراز هویت را غیرمتمرکز می کند. PGP علاوه بر جستجو در سیستم نام دامنه (DNS) از این رویکرد استفاده می کند. سیستم DKIM برای امضای دیجیتالی ایمیل ها نیز از این رویکرد استفاده می کند.

برنامه های کاربردی [ ویرایش ]

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

یکی دیگر از کاربردهای رمزنگاری کلید عمومی، امضای دیجیتال است . از طرح های امضای دیجیتال می توان برای احراز هویت فرستنده استفاده کرد .

سیستم‌های غیر انکار از امضای دیجیتالی استفاده می‌کنند تا اطمینان حاصل کنند که یکی از طرفین نمی‌تواند با موفقیت در مورد تألیف یک سند یا ارتباط اعتراض کند.

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

کریپتوسیستم های ترکیبی [ ویرایش ]

از آنجایی که الگوریتم‌های کلید نامتقارن تقریباً همیشه از نظر محاسباتی بسیار فشرده‌تر از الگوریتم‌های متقارن هستند، استفاده از یک الگوریتم تبادل کلید نامتقارن عمومی/خصوصی برای رمزگذاری و مبادله یک کلید متقارن رایج است که سپس توسط رمزنگاری کلید متقارن برای انتقال داده‌ها با استفاده از آن استفاده می‌شود . کلید متقارن مشترک اکنون برای یک الگوریتم رمزگذاری کلید متقارن. PGP ، SSH ، و خانواده طرح‌های SSL/TLS از این رویه استفاده می‌کنند. بنابراین آنها را سیستم های رمزنگاری ترکیبی می نامند . مبادله کلیدی مبتنی بر رمزنگاری نامتقارن اولیه برای به اشتراک گذاشتن یک متقارن تولید شده توسط سرورکلید از سرور به مشتری این مزیت را دارد که نیازی به اشتراک گذاری دستی کلید متقارن ندارد، مانند کاغذ چاپ شده یا دیسک هایی که توسط یک پیک منتقل می شوند، در حالی که توان عملیاتی بالاتر داده رمزنگاری کلید متقارن را نسبت به رمزنگاری کلید نامتقارن برای باقیمانده اتصال مشترک

نقاط ضعف [ ویرایش ]

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

الگوریتم ها [ ویرایش ]

همه طرح‌های کلید عمومی در تئوری مستعد یک " حمله جستجوی کلیدی brute-force " هستند. [4] با این حال، چنین حمله ای غیرعملی است اگر مقدار محاسبات مورد نیاز برای موفقیت - که توسط کلود شانون "عامل کار" نامیده می شود - دور از دسترس همه مهاجمان بالقوه باشد. در بسیاری از موارد، ضریب کار را می توان به سادگی با انتخاب یک کلید بلندتر افزایش داد. اما سایر الگوریتم‌ها ذاتاً ممکن است فاکتورهای کاری بسیار پایین‌تری داشته باشند، که مقاومت در برابر حمله‌های brute-force (مثلاً از کلیدهای طولانی‌تر) نامربوط است. برخی از الگوریتم‌های خاص و ویژه برای کمک به حمله به برخی از الگوریتم‌های رمزگذاری کلید عمومی توسعه داده شده‌اند - هر دو رمزگذاری RSA و ElGamal حملاتی را می‌شناسند که بسیار سریع‌تر از رویکرد brute-force هستند.[5] با این حال، هیچ یک از اینها به اندازه کافی بهبود نیافته اند تا عملی شوند.

نقاط ضعف عمده ای برای چندین الگوریتم کلید نامتقارن که قبلا امیدوار کننده بودند، یافت شده است. پس از توسعه یک حمله جدید، الگوریتم "بسته بندی کوله پشتی" ناامن بود . [6] مانند همه توابع رمزنگاری، پیاده‌سازی‌های کلید عمومی ممکن است در برابر حملات کانال جانبی که از نشت اطلاعات برای ساده‌سازی جستجوی کلید مخفی سوء استفاده می‌کنند، آسیب‌پذیر باشند. اینها اغلب مستقل از الگوریتم مورد استفاده هستند. تحقیقات برای کشف و محافظت در برابر حملات جدید در حال انجام است.

تغییر کلیدهای عمومی [ ویرایش ]

یکی دیگر از آسیب‌پذیری‌های امنیتی بالقوه در استفاده از کلیدهای نامتقارن، احتمال حمله «man-in-the-middle» است که در آن ارتباط کلیدهای عمومی توسط شخص ثالث («مرد در وسط») رهگیری می‌شود و سپس تغییر می‌کند. به جای آن کلیدهای عمومی مختلف را ارائه دهید. پیام‌ها و پاسخ‌های رمزگذاری‌شده باید در همه موارد توسط مهاجم با استفاده از کلیدهای عمومی صحیح برای بخش‌های ارتباطی مختلف رهگیری، رمزگشایی و رمزگذاری مجدد شوند تا از سوء ظن جلوگیری شود.

در جایی که داده ها به گونه ای انتقال می یابند که امکان شنود را فراهم می کند، ارتباطی ناامن است . این شرایط به خواندن اطلاعات خصوصی فرستنده به طور کامل اشاره دارد. هنگامی که فرستنده نمی تواند از رهگیری ها جلوگیری یا نظارت کند، یک ارتباط ناامن است. [7]

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

در برخی از حملات پیشرفته Man-in-the-Middle، یک طرف ارتباط داده های اصلی را می بیند در حالی که طرف دیگر یک نوع مخرب را دریافت می کند. حملات نامتقارن man-in-the-middle می‌تواند مانع از به خطر افتادن اتصال کاربران شود. این امر حتی زمانی که اطلاعات یک کاربر به خطر افتاده است، باقی می ماند زیرا داده ها برای کاربر دیگر خوب به نظر می رسند. این می تواند منجر به اختلاف نظرهای گیج کننده بین کاربران شود مانند "آن را باید در پایان شما باشد!" زمانی که هیچ یک از کاربران مقصر نیستند. از این رو، حملات انسان در وسط تنها زمانی کاملاً قابل پیشگیری هستند که زیرساخت های ارتباطی به طور فیزیکی توسط یک یا هر دو طرف کنترل شود. مانند از طریق یک مسیر سیمی در داخل ساختمان خود فرستنده. به طور خلاصه، هنگامی که سخت افزار ارتباطی مورد استفاده فرستنده توسط مهاجم کنترل می شود، کلیدهای عمومی آسان تر تغییر می کنند.[8][9] [10]

زیرساخت کلید عمومی [ ویرایش ]

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

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

علیرغم مشکلات نظری و احتمالی آن، این رویکرد به طور گسترده مورد استفاده قرار می گیرد. به عنوان مثال می توان به TLS و SSL قبلی آن اشاره کرد که معمولاً برای تأمین امنیت تراکنش های مرورگر وب (مثلاً برای ارسال ایمن جزئیات کارت اعتباری به یک فروشگاه آنلاین) استفاده می شود.

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

مثالها [ ویرایش ]

نمونه هایی از تکنیک های کلیدی نامتقارن که به خوبی در نظر گرفته شده اند برای اهداف مختلف عبارتند از:

نمونه هایی از الگوریتم های کلید نامتقارن که هنوز به طور گسترده مورد استفاده قرار نگرفته اند عبارتند از:

نمونه هایی از الگوریتم های کلیدی نامتقارن قابل توجه – اما ناامن – عبارتند از:

نمونه هایی از پروتکل هایی که از الگوریتم های کلید نامتقارن استفاده می کنند عبارتند از:

تاریخچه [ ویرایش ]

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

پیش بینی [ ویرایش ]

ویلیام استنلی جوونز [11] در کتاب خود به نام اصول علم در سال 1874 نوشت:

آیا خواننده می تواند بگوید با ضرب چه دو عددی عدد 8616460799 به دست می آید ؟ [12] بعید می دانم که هیچ کس جز خودم بداند. [13]

در اینجا او رابطه توابع یک طرفه را با رمزنگاری توضیح داد و به طور خاص در مورد مسئله فاکتورسازی مورد استفاده برای ایجاد یک تابع درگاه بحث کرد. در ژوئیه 1996، ریاضیدان Solomon W. Golomb گفت: "Jevons یک ویژگی کلیدی از الگوریتم RSA را برای رمزنگاری کلید عمومی پیش بینی کرد، اگرچه او مطمئناً مفهوم رمزنگاری کلید عمومی را ابداع نکرد." [14]

کشف طبقه بندی شده [ ویرایش ]

در سال 1970، جیمز اچ. الیس ، رمزنگار بریتانیایی در ستاد ارتباطات دولت بریتانیا (GCHQ)، امکان «رمزگذاری غیر مخفی» (که اکنون رمزنگاری کلید عمومی نامیده می‌شود) را در نظر گرفت، اما هیچ راهی برای پیاده‌سازی آن مشاهده نکرد. [15] [16] در سال 1973، همکارش، کلیفورد کاکس ، چیزی را که به الگوریتم رمزگذاری RSA معروف شد، پیاده‌سازی کرد و روشی عملی برای «رمزگذاری غیر مخفی» ارائه کرد و در سال 1974، مالکوم جی ویلیامسون ، ریاضی‌دان و رمزنگار دیگر GCHQ ، چیزی را توسعه داد که امروزه به عنوان تبادل کلید دیفی-هلمن شناخته می شود . این طرح همچنین به آژانس امنیت ملی ایالات متحده منتقل شد .[17] هر دو سازمان تمرکز نظامی داشتند و در هر صورت فقط قدرت محاسباتی محدودی در دسترس بود. پتانسیل رمزنگاری کلید عمومی توسط هیچ یک از سازمان ها محقق نشده باقی مانده است:

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

- رالف بنجامین [17]

این اکتشافات به مدت 27 سال به طور عمومی تایید نشد، تا اینکه این تحقیقات توسط دولت بریتانیا در سال 1997 از طبقه بندی خارج شد. [18]

کشف عمومی [ ویرایش ]

در سال 1976، یک سیستم رمزنگاری نامتقارن توسط ویتفیلد دیفی و مارتین هلمن منتشر شد که تحت تأثیر کار رالف مرکل در مورد توزیع کلید عمومی، روشی برای توافق کلید عمومی را افشا کردند. این روش تبادل کلید، که از توان در یک میدان محدود استفاده می کند ، به عنوان تبادل کلید دیفی-هلمن شناخته شد . [19] این اولین روش عملی منتشر شده برای ایجاد یک کلید مخفی مشترک بر روی یک کانال ارتباطی تایید شده (اما نه محرمانه) بدون استفاده از راز مشترک قبلی بود. "تکنیک توافق نامه کلید عمومی" مرکل به پازل های مرکل معروف شد و در سال 1974 اختراع شد و تنها در سال 1978 منتشر شد.

در سال 1977، تعمیم طرح کوکس به طور مستقل توسط ران ریوست ، آدی شامیر و لئونارد ادلمن ، که همه آن زمان در MIT بودند، ابداع شد . نویسندگان اخیر کار خود را در سال 1978 در ستون علمی آمریکایی مارتین گاردنر منتشر کردند و این الگوریتم از حروف اول آنها با نام RSA شناخته شد. [20] RSA از مدول توان یک محصول از دو عدد اول بسیار بزرگ برای رمزگذاری و رمزگشایی استفاده می‌کند که هم رمزگذاری کلید عمومی و هم امضای دیجیتال کلید عمومی را انجام می‌دهد. امنیت آن به سختی شدید فاکتورگیری اعداد صحیح بزرگ مرتبط است، مشکلی که هیچ تکنیک عمومی کارآمد شناخته شده ای برای آن وجود ندارد (اگرچه فاکتورسازی اولیه ممکن است از طریق حملات brute-force به دست آید؛ هر چه فاکتورهای اصلی بزرگتر باشند این امر بسیار دشوارتر می شود). شرحی از الگوریتم در ستون بازی های ریاضی در شماره اوت 1977 مجله علمی آمریکایی منتشر شد. [21]

از دهه 1970، تعداد زیادی از رمزگذاری، امضای دیجیتال، قرارداد کلید، و تکنیک های دیگر توسعه یافته است، از جمله سیستم رمزگذاری رابین ، رمزگذاری الگامال ، DSA - و رمزنگاری منحنی بیضوی .

همچنین مشاهده کنید [ ویرایش ]

یادداشت ها [ ویرایش ]

  1. استالینگز، ویلیام (3 مه 1990). رمزنگاری و امنیت شبکه: اصول و تمرین . سالن پرنتیس پ. 165. شابک 9780138690175.
  2. ^ منزز، آلفرد جی. اورشوت، پل سی. Vanstone, Scott A. (اکتبر 1996). "11: امضاهای دیجیتال" (PDF) . راهنمای رمزنگاری کاربردی . مطبوعات CRC. شابک  0-8493-8523-7. بازبینی شده در 14 نوامبر 2016 .
  3. برنشتاین، دانیل جی. (1 مه 2008). "محافظت از ارتباطات در برابر جعل" (PDF) . نظریه اعداد الگوریتمی . جلد 44. انتشارات MSRI. §5: امضاهای کلید عمومی، صفحات 543-545 . بازبینی شده در 14 نوامبر 2016 .
  4. ^ پار، کریستف؛ پلزل، جان; پرنیل، بارت (2010). درک رمزنگاری: کتاب درسی برای دانش آموزان و پزشکان . اسپرینگر. شابک 978-3-642-04100-6.
  5. Mavroeidis، Vasileios و Kamer Vishi، "تأثیر محاسبات کوانتومی بر رمزنگاری فعلی" ، مجله بین‌المللی علوم کامپیوتر و برنامه‌های پیشرفته ، 31 مارس 2018
  6. شمیر، آدی (نوامبر ۱۹۸۲). "یک الگوریتم زمانی چند جمله ای برای شکستن سیستم رمزپایه مرکل-هلمن" . بیست و سومین سمپوزیوم سالانه مبانی علوم کامپیوتر (SFCS 1982) : 145-152. doi : 10.1109/SFCS.1982.5 .
  7. تونگال، ابی (۲۰ فوریه ۲۰۲۰). "حمله مرد در وسط چیست و چگونه می توان از آن جلوگیری کرد - تفاوت بین حمله مرد در وسط و بو کشیدن چیست؟" . UpGuard . بازبینی شده در 26 ژوئن 2020 .
  8. تونگال، ابی (۲۰ فوریه ۲۰۲۰). "حمله انسان در وسط چیست و چگونه می توان از آن جلوگیری کرد - حملات مرد در وسط کجا اتفاق می افتد؟" . UpGuard . بازبینی شده در 26 ژوئن 2020 .
  9. ^ مارتین (30 ژانویه 2013). "چین، گیت هاب و مرد میانی" . آتش بزرگ بایگانی شده از نسخه اصلی در 19 اوت 2016 . بازبینی شده در 27 ژوئن 2015 .
  10. ^ percy (4 سپتامبر 2014). "مقامات حمله مرد میانی به گوگل را آغاز کردند" . آتش بزرگ بازبینی شده در 26 ژوئن 2020 .
  11. جوونز، ویلیام استنلی، اصول علم: رساله ای درباره منطق و روش علمی ص. 141، مک میلان و شرکت، لندن، 1874، ویرایش دوم. 1877، ویرایش سوم. 1879. تجدید چاپ با پیشگفتار توسط ارنست ناگل ، انتشارات دوور، نیویورک، نیویورک، 1958.
  12. ^ این به "شماره جوونز" معروف شد. تنها جفت فاکتور غیر ضروری 89681 × 96079 است.
  13. اصول علم ، مک میلان و شرکت، 1874، ص. 141.
  14. گلوب، سولومون دبلیو. (1996). "در مورد فاکتورسازی شماره جیونز" . کریپتولوژی . 20 (3): 243. doi : 10.1080/0161-119691884933 . S2CID 205488749 . 
  15. ^ الیس، جیمز اچ. (ژانویه 1970). "امکان رمزگذاری دیجیتالی غیر محرمانه ایمن" (PDF) . {{cite journal}}:استناد به مجله نیاز دارد |journal=( کمک )
  16. ساور، پاتریک (11 مارس 2016). "نابغه گمنامی که دفاع کامپیوتری بریتانیا را ایمن کرد و راه را برای خرید آنلاین امن هموار کرد . " تلگراف _
  17. ^ a b اسپینر، تام (26 اکتبر 2010). "پیشگام GCHQ در تولد رمزنگاری کلید عمومی" . www.zdnet.com .
  18. سینگ، سایمون (1999). کتاب کد . دو روزه صص  279 –292.
  19. ^ دیفی، ویتفیلد ؛ هلمن، مارتین ای. (نوامبر 1976). "جهت های جدید در رمزنگاری" (PDF) . معاملات IEEE در تئوری اطلاعات . 22 (6): 644-654. CiteSeerX 10.1.1.37.9720 . doi : 10.1109/TIT.1976.1055638 . بایگانی شده (PDF) از نسخه اصلی در 29 نوامبر 2014.  
  20. ^ ریست، آر. شامیر، ع. Adleman, L. (فوریه 1978). "روشی برای به دست آوردن امضاهای دیجیتال و سیستم های رمزنگاری کلید عمومی" (PDF) . ارتباطات ACM . 21 (2): 120-126. CiteSeerX 10.1.1.607.2677 . doi : 10.1145/359340.359342 . S2CID 2873616 .   
  21. رابینسون، سارا (ژوئن 2003). "هنوز پس از سال‌ها حمله از اسرار محافظت می‌کند، RSA برای بنیان‌گذارانش تمجید می‌کند" (PDF) . سیام نیوز . 36 (5).

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

پیوندهای خارجی [ ویرایش ]