رمزنگاری کلید عمومی: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
Sinasaleh.ut (بحث | مشارکتها) بدون خلاصۀ ویرایش |
جز ربات ردهٔ همسنگ (۳۰.۱) +نشانی+املا+مرتب+تمیز (۱۴.۹ core): + رده:شبکههای ناشناس ماندن+رده:نرمافزارهای رمزنگاری |
||
خط ۱:
{{ویکیسازی}}
[[
[[
[[
[[
'''رمزنگاری کلید عمومی''' {{به انگلیسی|Public-key cryptography}} یا '''رمزنگاری نامتقارن'''، یک سیستم [[رمزنگاری]] است که از یک جفت [[کلید]] استفاده میکند: کلید عمومی که ممکن است به طور گسترده منتشر شود، و [[کلید خصوصی]] که فقط برای مالک شناخته شده است. تولید چنین کلیدهایی به [[الگوریتم]]
در چنین سیستمی، هر شخص میتواند با استفاده از کلید عمومی گیرنده، پیام را [[رمزگذاری]] کند اما آن پیام رمزگذاری شده فقط با کلید خصوصی گیرنده قابل [[رمزگشایی]] است.
سطر ۱۳ ⟵ ۱۲:
[[احراز هویت]] قوی نیز ممکن است. یک فرستنده میتواند یک پیام را با یک کلید خصوصی ترکیب کند تا یک [[امضای دیجیتال]] کوتاه روی پیام ایجاد کند. هر کسی که کلید عمومی مربوطه فرستنده را داشته باشد، میتواند همان پیام و امضای دیجیتال فرضی مربوطه را ترکیب کند که بررسی کند که آیا آن [[امضا]] معتبر است یا نه، یعنی توسط صاحب کلید خصوصی مربوطه ساخته شده است یا نه.
الگوریتمهای کلید عمومی، عناصر اصلی امنیتی در سیستمهای رمزنگاری مدرن، برنامهها و پروتکلها هستند که درمورد [[محرمانگی]]، صحت و عدم انکارپذیری ارتباطات الکترونیکی و ذخیرهسازی داده اطمینان میدهند. آنها مطابق استانداردهای مختلف [[اینترنت]] از جمله [[امنیت لایه انتقال]]
([[TLS]]), S/MIME, [[PGP]] و [[GPG]] هستند. برخی از الگوریتمهای کلید عمومی، توزیع کلید و رازداری را ارائه میدهند (مثل تبادل کلید دیفی-هلمن)، برخی از آنها امضاهای [[دیجیتال]] را فراهم میکنند (مثل الگوریتم امضای دیجیتال) و برخی از آنها هردو را ارائه میدهند (مثل [[RSA]]).
== شرح ==
پیش از اواسط دهه ۱۹۷۰ تمام سیستمهای رمزگذاری از [[الگوریتمهای کلید متقارن]] استفاده میکردند که در آن کلید رمزنگاری یکسانی با الگوریتم اساسی توسط فرستنده و گیرنده استفاده میشود که هردو باید آن را مخفی نگه دارند. کلید در چنین سیستمی پیش از هرگونه استفاده از سیستم لزوماً باید از طریق یک [[کانال امن]] بین طرفین ارتباط تبادل شود. این نیاز
در مقابل، در یک سیستم کلید عمومی، کلیدهای عمومی میتوانند به طور گسترده و آشکارا پخش شوند و فقط کلید خصوصی باید توسط صاحبش [[ایمن]] نگه داشته شود.
سطر ۲۷ ⟵ ۲۶:
یک مسئله مهم؛ اثبات این است که یک کلید عمومی خاص معتبر است. یعنی صحیح است و متعلق به شخص یا موجودیتی است که ادعا شده است و شخص ثالث مخربی آن را دستکاری یا جایگزین نکرده است. چند روش ممکن وجود دارد، از جمله:
* یک زیرساخت کلید عمومی (PKI)؛ که در آن یک یا چند شخص ثالث که به عنوان مراجع صدور گواهینامه (certificate authority) شناخته میشوند، مالکیت جفتهای کلید را تأیید میکنند. [[TLS]] به این امر متکی است.
* یک وب اعتماد (web of trust)؛ که با استفاده از تأییدیههای فردیِ پیوند بین کاربر و کلید عمومی؛ احراز هویت را انجام میدهد. PGP و همچنین جستجو در سیستم نام دامنه ([[DNS]]) از این روش استفاده میکنند. سیستم DKIM نیز برای امضای دیجیتال [[ایمیل]]
== مفاهیم زیرساخت کلید عمومی ==
سطر ۱۰۹ ⟵ ۱۰۸:
یکی دیگر از آسیبپذیریهای امنیتی احتمالی در استفاده از کلیدهای نامتقارن، احتمال حمله «شخص ثالث» (man-in-the-middle attack) است که در آن، ارتباط کلیدهای عمومی توسط شخص ثالثی رهگیری میشود و سپس برای ایجاد کلیدهای عمومی دیگری به جای آن تغییر میکند. همچنین مهاجم باید پیامها و پاسخهای رمزگذاری شده را با استفاده از کلیدهای عمومی صحیح برای بخشهای مختلف ارتباطی، در همه موارد، رهگیری، رمزگشایی و رمزگذاری مجدد کند تا از ظن دیگران جلوگیری کند.
به نظر میرسد که این حمله در عمل ممکن است دشوار باشد؛ اما هنگام استفاده از [[رسانه]]
;زیرساخت کلید عمومی
یک رویکرد برای جلوگیری از چنین حملاتی؛ استفاده از یک زیرساخت کلید عمومی (PKI) است. مجموعهای از نقشها، [[سیاست]]
با وجود مشکلات تئوری و بالقوه، از این رویکرد به طور گسترده استفاده میشود. مثالهایی از آن شامل TLS و SSL قبلی آن میشود که
گذشته از مقاومت در برابر حمله به یک جفت کلید خاص، باید امنیت سلسله مراتب صدور گواهینامه هنگام استقرار سیستمهای کلید عمومی در نظر گرفته شود. برخی از مراجع صدور گواهینامه (
== نمونهها ==
'''نمونههایی از تکنیکهای کلید نامتقارن که برای اهداف متنوعی مورد توجه قرار گرفتهاند، عبارتند از:'''
* [[پروتکل تبادل کلید دیفی-هلمن]] (Diffie-Hellman)
* استاندارد امضای دیجیتال ([[DSS]]) که شامل الگوریتم امضای دیجیتال است
* ElGamal
* تکنیکهای مختلف [[منحنی بیضوی]]
* تکنیکهای مختلف توافقنامه کلید تصدیقشده با گذرواژه
* سیستم رمزنگاری Paillier
* الگوریتم رمزگذاری RSA (PKCS#1)
* سیستم رمزنگاری Cramer-Shoup
* پروتکل توافقنامه کلید تصدیقشده توسط YAK
'''نمونههایی از الگوریتمهای کلید نامتقارن که به طور گسترده پذیرفته نشدهاند، عبارتند از:'''
* سیستم رمزنگاری NTRUEncrypt
* سیستم رمزنگاری McEliece
'''نمونههایی از الگوریتمهای کلید نامتقارن که قابل توجه ولی در حال حاضر ناامن هستند، عبارتند از:'''
* سیستم رمزنگاری کولهپشتی Merkle-Hellman
'''نمونههایی از پروتکلهایی که از الگوریتمهای کلید نامتقارن استفاده میکنند، عبارتند از:'''
* S/MIME
* GPG، یک پیادهسازی از OpenPGP
* [[EMV]]، مرجع گواهینامه EMV
* تبادل کلید اینترنتی
* PGP
* ZRTP، یک پروتکل [[VoIP]] ایمن
* امنیت لایه انتقال که توسط [[IETF]] و لایه سوکت ایمن قبلی آن استاندارد شدهاست
* SILC
* SSH
* [[بیت کوین]]
* پیامرسانی محرمانه
== تاریخچه ==
در طول تاریخچه اولیه رمزنگاری، دو طرف با
;پیشبینی
سطر ۱۸۵ ⟵ ۱۶۱:
آیا خواننده میتواند بگوید که کدام دو عددی اگر در هم ضرب شوند، عدد ۸۶۱۶۴۶۰۷۹۹ تولید خواهد شد؟ فکر میکنم بعید است کسی به جز من هیچگاه این را بداند.
</blockquote>
در اینجا او رابطه توابع یکطرفه را با رمزنگاری شرح داد و در ادامه، به طور خاص درباره مسئله فاکتور گیری (factorization) که برای ایجاد یک تابع دریچه (trapdoor function) استفاده شده، بحث کرد. در جولای ۱۹۹۶، سلیمان گلومب ریاضیدان گفت: «جوونز یک ویژگی کلیدی الگوریتم RSA را برای رمزنگاری کلید عمومی پیشبینی کرد، اگرچه او
;کشف محرمانه
در سال ۱۹۷۰، جیمز الیس، رمزنگار انگلیسی در دفتر مرکزی ارتباطات دولت (GCHQ) انگلستان، احتمال «رمزگذاری غیر مخفی» (که اکنون رمزنگاری کلید عمومی نامیده میشود) را متصور شد؛ اما هیچ راهی برای اجرای آن نمیدید. در سال ۱۹۷۳،
<blockquote>
من این را برای استفاده نظامی بسیار مهم دانستم … اگر شما میتوانید کلید خود را به سرعت و به صورت الکترونیکی به اشتراک بگذارید، شما مزیت بزرگی نسبت به حریف خود دارید. تنها در پایان تحولات از برنرز-لی که یک معماری اینترنت باز را برای سِرن ([[CERN]]) طراحی میکرد، توافق و پذیرش آن برای [[آرپانت]] … رمزنگاری کلید عمومی متوجه پتانسیل کامل آن بود.
سطر ۲۰۳ ⟵ ۱۷۹:
در سال ۱۹۷۷ کلیاتی از طرح کاکس به طور مستقل توسط ران ریوست، ادی شمیر و [[لئونارد آدلمن]] در [[MIT]] اختراع شد. نویسندگانِ آخر کار خود را در سال ۱۹۷۸ منتشر کردند و این الگوریتم از ابتدای کارشان به RSA معروف شد. RSA برای رمزگذاری و رمزگشایی از مدول به توان رساندن حاصلضرب دو عدد اول بسیار بزرگ استفاده میکند که هم رمزگذاری کلید عمومی و هم امضای دیجیتال کلید عمومی را انجام میدهد. امنیت آن دشواری شدیدی در زمینه فاکتورسازی اعداد صحیح بزرگ دارد؛ مشکلی که هیچ تکنیک عمومی کارآمد شناختهشدهای برای حل آن وجود ندارد. توضیحی از این الگوریتم در ستون بازیهای ریاضی در انتشار آگوست ۱۹۷۷ نشریه Scientific American منتشر شد.
از دهه ۱۹۷۰ تعداد و تنوع زیادی از رمزگذاری، امضای دیجیتال، توافقنامه کلید و سایر تکنیکها در زمینه رمزنگاری کلید عمومی توسعه یافتهاند؛ از جمله سیستم رمزنگاری Rabin، رمزگذاری ElGamal, [[DSA]] و رمزنگاری منحنی بیضوی.<ref>صفحه رمزنگاری کلید عمومی در ویکیپدیای انگلیسی https://en.wikipedia.org/wiki/Public-key_cryptography</ref>
== منابع ==
سطر ۲۱۱ ⟵ ۱۸۶:
== لینکهای مرتبط ==
[
== جستارهای وابسته ==
سطر ۲۱۹ ⟵ ۱۹۴:
{{دادههای کتابخانهای}}
[[رده:رمزنگاری کلید عمومی|رمزنگاری کلید عمومی]]
[[رده:رمزنگاری]]
[[رده:رمزنگاری با کلید نامتقارن]]
[[رده:زیرساخت کلید عمومی]]
[[رده:شبکههای ناشناس ماندن]]
[[رده:نرمافزارهای رمزنگاری]]
[[رده:ویکیسازی رباتیک]]
|