1 / 44

رمزگذاری كليد عمومي

رمزگذاری كليد عمومي. ویرایش: حمیدرضا شهریاری. اهداف. آشنا يي با مفاه ي م و کاربردها ي رمزنگار ي کل ي د عموم ي مقا ي سه روشها ي رمزنگار ي کل ي د عموم ي با رمز نگار ي مرسوم (کل ي د خصوص ي ) بررسی يک نمونه از کاربرد کليد عمومی در مکانيسم توزيع کليد DH. فهرست مطالب.

dermot
Download Presentation

رمزگذاری كليد عمومي

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. رمزگذاری كليد عمومي ویرایش: حمیدرضا شهریاری

  2. اهداف • آشنايي با مفاهيم و کاربردهاي رمزنگاري کليد عمومي • مقايسه روشهاي رمزنگاري کليد عمومي با رمز نگاري مرسوم (کليد خصوصي) • بررسی يک نمونه از کاربرد کليد عمومی در مکانيسم توزيع کليدDH

  3. فهرست مطالب • مباني رمزنگاري کليد عمومي • مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي • كاربردهاي رمزنگاري کليد عمومي • معرفي چند الگوريتم کليد عمومي • لغت نامه • پيوست ها

  4. مباني رمزنگاري کليد عمومي • رمزنگاري کليد عمومي اساساً با انگيزه رسيدن به دو هدف طراحي شد: • حل مساله توزيع کليد در روشهای رمزنگاری متقارن • امضاي ديجيتال ديفي و هلمن اولين راه حل را در 1976 ارايه دادند.

  5. رمزنگاري کليد عمومي • کليد هاي رمزگذاری و رمزگشايي متفاوت اما مرتبط هستند. • رسيدن به کليد رمز گشايي از کليد رمزگذاری از لحاظ محاسباتي ناممکن مي باشد. • رمزگذاری امري همگاني ميباشد و اساساً نيازي به اشتراک گذاشتن اطلاعات محرمانه ندارد. • رمز گشايي از طرف ديگر امري اختصاصي بوده و محرمانگي پيامها محفوظ ميماند.

  6. نمادها و قراردادها • کليد عمومي: کليد رمزگذاری • اين کليد را براي شخص A با KUa نشان ميدهيم. • کليد خصوصي: کليد رمز گشايي • اين کليد را براي شخص A باKRa نشان ميدهيم.

  7. نیازمندیهای رمزنگاری کلید عمومی • از نظر محاسباتی برای طرف B تولید یک زوج کلید (کلید عمومی KUbو کلید خصوصیKRb) آسان باشد. • برای فرستنده تولید متن رمز آسان باشد: • برای گیرنده رمزگشایی متن با استفاده از کلید خصوصی آسان باشد:

  8. نیازمندیهای رمزنگاری کلید عمومی • از نظر محاسباتی تولید کلید خصوصی (KRb) با دانستن کلید عمومی (KUb) غیر ممکن باشد. • بازیابی پیام M با دانستن KUbو C غیر ممکن باشد. • ( ویژگی تقارنی ) از هر یک از کلیدها میتوان برای رمزکردن استفاده کرد. در این صورت از کلید دیگر برای رمزگشایی استفاده میشود.

  9. رمزگذاری کليد عمومي-2 • براي رمز نگاري کليد عمومي گامهاي زير را برميداريم: • هر کاربر يک زوج کليد رمزگذاری و رمز گشايي توليد ميکند. • کاربران کليد رمزگذاری خود را به صورت عمومي اعلان ميکنند درحالي که کليد رمز گشايي مخفي ميباشد. • همگان قادر به ارسال پيام رمز شده براي هر کاربر دلخواه با استفاده از کليد رمزگذاری (عمومي) او ميباشند. • هر کاربر ميتواند با کمک کليد رمزگشايي (خصوصي) پيامهايي که با کليد رمزگذاری (عمومي) او رمز شده رمزگشايي کند.

  10. رمزگذاری کليد عمومي

  11. K4 K1 K2 K3 K5 K6 K8 K7 K9 K10 مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي-1 رمزنگاري مرسوم (Conventional Cryptography) • استفاده از يك كليد يکسان و مخفي براي رمزگذاري و رمزگشايي معايب • مشكل مديريت كليدها • نياز به توافق بر روي كليد پيش از برقراري ارتباط • براي ارتباط n نفر باهم به n(n-1)/2 كليد احتياج داريم • عدم پشتيباني از امضاء الكترونيكي مزايا • با اين وجود از الگوريتمهاي رمزنگاری با كليد عموميسريع‌‌تر است

  12. مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي-2 رمزگذاری مرسوم • براي امن بودن بايد: • كليد سری، مخفي نگه‌ داشته شود. • رسيدن به پيام واضح از روي متن رمز شده از نظر محاسباتي نا ممکن باشد. • اطلاع از الگوريتم و داشتن نمونه‌هايي از پيغام رمز شده براي تعيين كليد كافي نباشد.

  13. مقايسه رمزگذاری مرسوم و رمزگذاری کليد عمومي-3 • ملزومات امنيتي(رمزگذاری با كليد عمومي) • تنها يكي از دو كليدبايد مخفي بماند • رسيدن به پيام واضح از روي متن رمز شده حتي با داشتن کليد عمومياز نظر محاسباتي نا ممکن باشد. • اطلاع از الگوريتم، داشتن يكي از كليدها و نيز دراختيار داشتن نمونهپيغام‌های رمزشده براي تعيين كليد دوم كافي نباشد.

  14. جايگزيني ياتكميل؟ از نظر كاربردي، رمزگذاری با كليد عمومي بيش از آنكه جايگزيني براي رمزگذاری مرسوم باشد, نقش مكمل آنرا براي حل مشکلات توزيع كليدبازي مي كند.

  15. Misconceptions! دو تصور اشتباه ديگر درباره الگوريتمهای کليد عمومی • رمزنگاری با کليد عمومی امن تر است! • در هر دو روش رمزنگاری امنيت به طول کليد وابسته است. • مسئله توزيع کليد در رمزنگاری با کليد عمومی برطرف شده است • چگونه مطمئن شويم کليد عمومی لزوما متعلق به شخص ادعاکننده است؟! • پس توزيع کليد عمومی آسانتر است، ولی بديهی نيست.

  16. محرمانگي و احراز هويت به صورت همزمان رمزگذاری کليد عمومي: محرمانگي و احراز هويت به صورت همزمان

  17. فهرست مطالب • مباني رمزگذاری کليد عمومي • مقايسه رمزگذاری مرسوم و رمزگذاری کليد عمومي • كاربردهاي رمزگذاری کليد عمومي • معرفي چند الگوريتم کليد عمومي • لغت نامه • پيوست ها

  18. كاربردهايرمزگذاری کليد عمومي • دسته بندي كلي كاربردها • رمزگذاری/ رمز گشايي : براي حفظ محرمانگي • امضاء رقمي : براي حفظ اصالت پيام و معين نمودن فرستنده پيام (پيوند دادن پيام با امضاء کننده) • توزيع كليد : براي توافق طرفين روي كليد جلسه مخفي پيش از برقراری ارتباط

  19. جايگاه عمليرمزگذاری کليد عمومي • کليدهاي اين نوع از الگوريتمها بسيار طولاني تر از الگوريتمهاي مرسوم (کليد خصوصي) ميباشند. • الگوريتم RSA با پيمانه 1024 بيتي امنيتی در حد الگوريتمهای متقارن با کليدهای 80 بيتي دارد. • سرعت الگوريتمهاي کليد عمومي از الگوريتمهاي رمزگذاری مرسوم پايين تر است. • RSA تقريباً 1000بار کند تر از رمزهاي کليد سری (با امنيت يکسان) ميباشد.

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

  21. حملات به رمزنگاری کلید عمومی • جستجوی فراگیر (Brute force) • محاسبه کلید خصوصی از کلید عمومی • اثبات نشده که غیر ممکن است! • حمله پیام احتمالی (Probable-message attack) • مخصوص رمزنگاری کلید عمومی

  22. فهرست مطالب • مباني رمزگذاری کليد عمومي • مقايسه رمزگذاری مرسوم و رمزگذاری کليد عمومي • كاربردهاي رمزگذاری کليد عمومي • معرفي چند الگوريتم کليد عمومي • لغت نامه • پيوست ها

  23. كليات الگوريتم رمز نگاريRSA • كليات • توسط Adleman- Shamir- Rivestدر سال 1977 در MIT ارائه شد • مشهورترين و پركاربردترين الگوريتم رمزگذاری كليدعمومي • مبتني بر توان رساني پيمانه ايي • استفاده از اعداد طبيعي خيلي بزرگ • امنيت آن ناشي از دشوار بودن تجزيه اعداد بزرگ، که حاصلضرب دو عامل اول بزرگ هستند، می باشد. • مستندات مربوط به آن تحت عنوان PKCS استاندارد شده است. Public Key Cryptography Standards

  24. نمادگذاريRSA • N : پيمانه محاسبات • e: نمايرمزگذاری • d: نماي رمزگشايي • M: پيام ، عدد صحيح متعلق به • تابع RSA: تالباتبتابتابتا • تابع معکوس: سيسيسيسيسي

  25. مبانی رياضی RSA • p و q دو عدد اول ميباشند. • (N): تعداد اعداد(کوچکتر ازN) که نسبت به N اول است. • کلید عمومی: {e,n} • کلید خصوصی: {d,n}

  26. قراردادها و پرتکل RSA • هم فرستنده و هم گيرنده مقدار N را مي‌دانند • فرستنده مقدار e را مي‌داند • کليد عمومی : (N , e) • تنها گيرنده مقدار d را مي‌داند • کليد خصوصی : (N, d) • نيازمنديها: • محاسبه Me و Cd آسان باشد • محاسبه d با دانستن کليد عمومی غيرممكن باشد

  27. RSA -مثال p = 17, q = 11, n = p*q= 187 (n) = 16*10 =160, pick e=7, d.e=1 mod (n)  d = 23

  28. روشهاي کارا براي محاسبه نما • براي محاسبه ab (mod N) الگوريتمهاي متفاوتي ابداع شده است... • فرض کنيد bkbk-1…b0نمايش مبناي 2 عدد b باشد. • بنابراين خواهيم داشت:

  29. الگوريتم توان و ضرب • بر اين مبنا ميتوان الگوريتم زير را طراحي نمود:

  30. مثال عددي الگوريتم توان و ضرب نتيجه الگوريتم توان رساندن سريع پيمانه ايي برايab mod n که مقادير a،b و n عبارتند از: a=7,b=560=(1000110000)2,n=561

  31. حملات ممکن بر RSA • حمله آزمون جامع(Brute Force) • طول كليد با پيدايش هر نسل جديد از پردازنده ها افزايش مي يابد، ضمن اينكه قدرت پردازشي هكرها زياد مي شود! • طول کليد معادل تعداد بيتهای پيمانه محاسبات(N) می باشد. • حملات رياضي • تجزيه N و در نتیجه محاسبه (N) • محاسبه (N)به صورت مستقیم • محاسبه d بدون استفاده از (N) • حمله زماني • زمان اجراي عمليات رمزگذاری يا واگشايي رمز ميتواند اطلاعاتي را در مورد کليد افشاء کند.

  32. حملات رياضي RSA • مقاله Dan Boneh در دانشگاه Stanford (پيوست) : • Twenty Years of Attacks on the RSA Cryptosystem 1999

  33. راههاي مقابله با حمله زمانيبه RSA • استفاده از توان رساندن با زمان ثابت محاسباتي. • تابع بايد به ازای همه وروديها زمان ثابتی به طول بيانجامد • اضافه كردن تاخيرهاي تصادفي • قرار دادن اعمال اضافی و گمراه کننده در بين محاسبات • ضرب کردن متن رمزشده در يک عدد تصادفی قبل از عمليات به توان رسانی • تحليلگر از ساختار بيتی متنی که به توان می رسد، مطلع نيست و اين حمله زمانی را برای او غيرممکن می سازد

  34. الگوريتم Diffie Hellman • براي تبادل کليد مورد استفاده قرار می گيرد • طرفين بر روي مقادير و توافق ميکنند. • qqيک عدد اول و haيک مولد(عدد اولی که توانهانش اعداد از 1 تا q -1 را توليد کند) براي اين عدد مي باشد. • امنیت روش مبتنی بر مشکل بودن لگاریتم گسسته است.

  35. α , q : عمومی کليد مشترک عبارت است از الگوريتم Diffie - Hellman Alice Bob مقدار تصادفيXA را انتخاب ميکند مقدار تصادفيXB را انتخاب ميکند

  36. حمله مرد ميانی • مهاجم به عنوان کانال ارتباطي ميان طرفين عمل ميکند. • از نوع حملات فعال محسوب ميشود • الگوريتم Diffie-Hellman را تهديد می کند.

  37. YA YK’ YK YB حمله مرد میانی A K B B گمان ميکند کليد K2 را با A به اشتراک گذاشته است A گمان ميکند کليد K1 را با B به اشتراک گذاشته است

  38. پايان فصل 5

  39. لغت نامه

  40. توابع يكطرفه • تابع يک طرفه: تابع f(.) را يک طرفه گوييم اگر يافتن مقدار ورودي تابع از روي مقدار خروجياز لحاظ محاسباتي ناممکن باشد. • يک تابع يک طرفه همانند ماشين چرخ گوشت عمل ميکند! • از روي خروجي (گوشت چرخ شده ) نمي توان ورودي را بازسازي کرد. براي تعريف دقيق به پيوست 1 مراجعه نماييد. وجود توابع يک طرفه صرفاً يک فرض ميباشد.

  41. دريچه • اما در برخي کاربردها نياز داريم تا ورودي تابع يک طرفه را معين کنيم... • وجود يک دريچه در تابع: اطلاعات اضافي که با دانستن آنها ميتوانيم تابع را به روشي کارا معکوس کنيم.

  42. توابع يكطرفه دريچه • مجموعه اي از توابع معكوس پذير fk(.) به طوريكه : • محاسبه y= fk(x) با دانستن k و x آسان باشد • محاسبه fk-1(y)x=با دانستن k و y آسان باشد • محاسبه fk-1(y)x= با دانستن y و مخفي بودن k امكانپذير نباشد

  43. توابع يكطرفه دريچه به عنوان يک ابزار • توابع يك طرفه دريچهابزارهاي مناسبي براي طراحي الگوريتمهاي رمزگذاری و امضاي ديجيتال ميباشند. • در حقيقت ثابت ميشود وجود توابع يك طرفه دريچهشرط لازم و کافي براي وجود الگوريتمهاي رمزگذاری و امضاي ديجيتال امن ميباشد.

  44. کاربردهاي برخي الگوريتمهاي کليد عمومي

More Related