Web Analytics
Privacy Policy Cookie Policy Terms and Conditions בעיית לוגריתם דיסקרטי - ויקיפדיה

בעיית לוגריתם דיסקרטי

מתוך ויקיפדיה, האנציקלופדיה החופשית

בעיית לוגריתם דיסקרטי - Discrete Logarithm Problem. היא בעיה באלגברה מופשטת, במתמטיקה. לוגריתם דיסקרטי (בדיד) מקביל ללוגריתם רגיל, אך בחבורות. הבעיה הכללית, היא מציאת לוגריתמים בחבורה כפלית סופית \ G מסדר \ p (המכילה \ p - 1 שלמים) עם יוצר \ \alpha, כאשר פעולות כפל נעשות מודולו \ p. בעיה זו דומה לבעיית פירוק לגורמים, במובן ששניהן קשות (לא ידוע על אלגוריתם יעיל לפתרון בעיות אלו).

תוכן עניינים

[עריכה] הגדרה כללית

בעיית לוגריתם דיסקרטי הכללית היא כדלהלן: תהי \ G חבורה סופית ציקלית מסדר \ n. יהי \ \alpha יוצר של \ G ויהי \ \beta\in G. בעיית לוגריתם דיסקרטי של \ \beta בבסיס \ \alpha המיוצגת: \ \mbox{log}_{\alpha}\beta, היא שלם ייחודי \ x, כאשר \ 0\le x\le n-1, המקיים \ \beta = \alpha^{x} (מודולו \ n). במילים, מציאת החזקה \ x שאם מעלים בה את \ \alpha ומצמצמים מודולו \ n, מתקבל \ \beta. בגלל הצמצום המודולרי ב-\ n, ישנם למעשה אינסוף אפשרויות לפתרון המשוואה. המטרה היא למצוא את השלם החיובי, הקטן ביותר המקיים את המשוואה \ \beta=\alpha^{x}.

ההגדרה של יוצר בחבורות היא: אם \ \alpha \in \mathbb{Z}^{*}_n והסדר של \ \alpha (מספר האלמנטים) הוא \ \phi(n), אזי \ \alpha נקרא יוצר או אלמנט פרימיטיבי של \ \mathbb{Z}^{*}_n. במקרה זה \ \mathbb{Z}^{*}_n מכונה חבורה ציקלית. ל-\ \mathbb{Z}^{*}_n יש יוצר אך ורק אם \ n הוא ראשוני או חזקה של מספר ראשוני.

[עריכה] דוגמה

אם \ p = 97. אזי \ \mathbb{Z}^*_{97} היא חבורה ציקלית מסדר \ n = 96. היוצר של \ \mathbb{Z}^*_{97} הוא \ \alpha=5. בהינתן השלם \ 35, הבעיה היא למצוא \ x המקיים 5^x \equiv 35 (\mbox{ mod } 97), היות ש- \ 5^{32} \equiv 35 (\mbox{mod } 97), אזי \ \mbox{log}_{5}35 = 32 ב-\ \mathbb{Z}^*_{97}.

[עריכה] תכונות

אם \ \alpha הוא יוצר של חבורה ציקלית \ G מסדר \ n ו- \ \beta,\gamma \in G. אז

\ \mbox{log}_{\alpha}(\beta\gamma) = \mbox{log}_{\alpha}\beta + \mbox{log}_{\alpha}\gamma \mbox{ mod } n
וכן
\ \mbox{log}_{\alpha}(\beta^{\,s}) = s\, \mbox{log}_{\alpha}\beta \mbox{ mod } n עבור שלם \ s כלשהו.

הקושי שבבעיית לוגריתם דיסקרטי הכללית, אינו תלוי ביוצר. הווה אומר, אם \ \alpha ו-\ \gamma הם יוצרים של \ G_n. ואם \ x = \mbox{log}_{\alpha}\beta וכן \ y = \mbox{log}_{\gamma}\beta ו-\ z = \mbox{log}_{\alpha}\gamma.

אזי
\ \alpha^x = \beta = \gamma^y = (\alpha^z)^y.
על כן:
\ x = zy \mbox{ mod } n
וכן,
\ \mbox{log}_\gamma\beta = (\mbox{log}_{\alpha}\beta)(\mbox{log}_{\alpha}\gamma)^{-1} \mbox{ mod } n.

משמעות הדבר היא, שכל אלגוריתם המסוגל לחשב לוגריתמים בבסיס \ \alpha ניתן לשימוש כדי לחשב את הלוגריתמים בכל בסיס אחר שגם הוא יוצר של \ G.

הגדרה קשה יותר של הבעיה האמורה, היא כאשר \ G אינה חבורה ציקלית וכן הבסיס \ \alpha אינו יוצר בהכרח של \ G. בעיה זו קשה אף יותר לפתרון.

[עריכה] אלגוריתמים

בעיית לוגריתם דיסקרטי (DLP), מוגדרת כבעיה מתמטית קשה ולא ידוע על אלגוריתם יעיל לפתרונה. הדרך הנאיבית ביותר היא, לנסות להעלות את \ \alpha בחזקת מספרים שונים בסדר עולה, עד שימצא המספר העונה על התנאי האמור, דרך זו מכונה כוח גס וזמן הריצה שלה מעריכי ביחס לסדר החבורה \ n. בין האלגוריתמים הטובים ביותר הידועים לפתרון בעיה זו נמנים:

  • Baby-step giant step.
  • אלגוריתם Pollard's rho.
  • אלגוריתם פוליג-הלמן (Pohlig-Hellman).
  • אלגוריתם Index calculus.

האחרון הנו האלגוריתם החזק ביותר הידוע כיום לפתרון בעיית לוגריתם דיסקרטי בחבורות מסוימות כמו \ \mathbb{Z}^*_n עבור \ n פריק כלשהו. גרסה מסוימת שלו הנקראת אלגוריתם Coppersmith מסוגלת להגיע לזמן ריצה של \ L_ {2^m}\left[ \frac{1}{3}, c \right] עבור קבוע כלשהו \ c < 1.587.

[עריכה] לוגריתם דיסקרטי בקריפטוגרפיה

החבורות שיש בהן עניין מבחינה קריפטוגרפית הן, החבורה הכפלית \ \mathbb{F}^*_q מעל שדה הסופי \ \mathbb{F}_q. במיוחד החבורה הכפלית \ \mathbb{Z}^*_p של השלמים מודולו ראשוני \ p גדול וכן החבורה הכפלית \ \mathbb{F}^*_{2^m} מעל השדה המורחב \ \mathbb{F}_{2^m} עם מציין 2. כן יש עניין מיוחד בחבורה \ \mathbb{Z}^*_n כאשר \ n שלם פריק, קבוצת הנקודות בעקומה אליפטית המוגדרת מעל שדה סופי ועקומה היפר-אליפטית המוגדרת מעל שדה סופי.

בלוגריתם דיסקרטי, בדומה לפירוק לגורמים, ישנן שתי פעולות הופכיות שאינן סימטריות בכוח החישוב הדרוש לביצוען. לדוגמה, כפל ופירוק לגורמים הם פעולות הפוכות, בעוד שכפל היא פעולה קלה במונחי חישוב, הרי שפירוק לגורמים קשה הרבה יותר ממנה. כן הדבר בלוגריתמים, העלאה בחזקה מודולרית (מודולו שלם n) קלה הרבה יותר ממציאת החזקה מודולו n. חוסר הסימטריה הבולט, מנוצל היטב בעיקר במערכת מפתח פומבי. טכניקות הצפנה רבות, מבוססות על תכונת חד-סטריות זו. דוגמאות: פרוטוקול דיפי-הלמן להעברת מפתח, אלגוריתם הצפנת מפתח-פומבי וחתימה דיגיטלית של אל-גמאל ואלגוריתם חתימה דיגיטאלית DSA.

כדי להתמודד עם האיום של האלגוריתמים המוניים לעיל, ההנחה היא כיום, כי ראשוני p בגודל 1024 סיביות מספק מרווח בטחון זעיר בלבד. תקן DSA מגדיר למשל מספר רמות אבטחה לאלגוריתם חתימה דיגיטלית כשהמרבית היא, p ראשוני בסדר גודל של 3072 סיביות.

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu