תורת המספרים ־ הרצאה 11
Transcription
תורת המספרים ־ הרצאה 11
תורת המספרים ־ הרצאה 11 1בדצמבר 2014 שורשים פרימיטיביים אם nטבעי ו־ aזר ל־ ,nאז הטבעי המינימלי כך ש־ ).ordn (a) = aordn (a) ≡ 1 ( mod n aנקרא שורש פרימיטיבי מודולו nאם ).ordn (a) = φ(n משפט השורשים הפרימיטיביים ל־ nשורש פרימיטיבי אמ"מ n = 2, 4, pj , 2pjכאשר p ≥ 3ראשוני. דוגמה א. מצא שורש פרימיטיבי מודול .37 פתרון ננסה את .2הסדרים האפשריים ל־ 2הם מחלקי ,φ(37) = 36כלומר .2, 3, 4, 6, 9, 12, 18, 36 נקבל: 22 ≡ 4, 23 ≡ 8, 24 ≡ 16, 26 ≡ −10, 29 ≡ −6, 212 ≡ −12, 218 ≡ −1 מסקנה 2 :הוא שורש פרימיטיבי מודולו .37 ב. מצא שורש פרימיטיבי מודולו .37j נזכר שאו ש־ 2שורש פרימיטיבי מודולו 37jאו ש־ 2 + 37 = 39כזה. 2יהיה השורש אם ) .236 6≡ 1 ( mod 372 1 נבחין ש־ 236 − 1 = 218 − 1 218 + 1 כמו כן, )218 − 1 ≡ −2 ( mod 37 כלומר .37 - 218 − 1 נותר לבדוק האם ) .218 + 1 6≡ 0 ( mod 372 כעת ,מודולו :372 = ]218 = 29 · 29 = 512 · 512 = [512 = k · 37 + r, 0 ≤ r ≤ 37 ≡ = (14 · 37 − 6) · (14 · 37 − 6) ≡ −2 · 6 · 14 · 37 + 36 ) ≡ −28 · 6 · 37 + 36 ≡ 9 · 6 · 37 + 36 ≡ 54 · 37 + 36 ≡ 17 · 37 + 36 6≡ −1 ( mod 372 כלומר ) ,218 + 1 6≡ 0 ( mod 372ולכן ) ,236 6≡ 1 ( mod 372כלומר 2הוא שורש פרימיטיבי מודולו .37j דוגמה שורשים פרימיטיביים מאפשרים לפתור משוואות מהצורה ) xm ≡ a ( mod nאו ).bx ≡ c ( mod n פתור )x29 ≡ 27 ( mod 37 פתרון נפתור ע"י מעבר לקונגרואנציה לינארית .נשתמש בכך ש־ 2שורש פרימיטיבי מודולו .37 נרשום )) x ≡ 2t ( mod 37ראינו כי כל האיברים ההפיכים מודולו 37הם חזקות של ,2כמסקנה ממשפט שראינו בפעם שעברה 27 .הפיך מודולו ,37ולכן גם x29הפיך מודולו ,37ולכן xהפיך מודולו .(37 נרשום גם ) .27 ≡ 2? ( mod 37כיוון ש־ ) ,27 ≡ −10 ( mod 37וראינו בחישוב קודם כי ) ,26 ≡ −10 ( mod 37כלומר ).27 ≡ 26 ( mod 37 קיבלנו )229t ≡ 26 ( mod 37 מכאן ש־ )) 29t ≡ 6 ( mod 36שכן הסדר של 2הוא ,36ואחרי הסדר מתחיל מחזור חדש(. נחפש הופכי ל־ 29מודולו .36נשים לב כי ) ,29 ≡ −7 ( mod 36ולכן ( 29 · 5 ≡ −7 · 5 ≡ 1 ).mod 36 2 כלומר ,נציב ונקבל ).t ≡ 6 · 5 ≡ 30 ( mod 36 בסה"כ ,נקבל ש־ ).x = 2t = 230+36·k ≡ 230 ( mod 37 אבל )230 ≡ 218 · 212 ≡ −1 · (−12) ≡ 12 ( mod 37 כאשר 218 , 212חישבנו כבר קודם. דוגמה פתור ) 32x ≡ 64 ( mod 372 פתרון 2הוא שורש פרימיטיבי מודולו .372נשים לב־ .32 = 25 ,64 = 26לכן נקבל: ) 25x ≡ 26 ( mod 372 מכאן ש־ )5x ≡ 6 ( mod φ 372 = 37 · 36 לפי משפט השאריות הסיני ניתן לפתור: ( )5x ≡ 6 ( mod 37 )5x ≡ 6 ( mod 36 נתחיל במודולו .37נשים לב ש־ ) ,5 · 15 ≡ 1 ( mod 37לכן המשוואה הראשונה היא )x ≡ 6 · 15 ≡ 16 ( mod 37 כמו כן ,כמו בדוגמה הקודמת: )−7 · 5 ≡ 1 ( mod 36 לכן המשוואה השנייה היא )x ≡ −7 · 6 ≡ −6 ( mod 36 3 כעתx = 37x1 + 36x2 , כאשר )≡ −16 ( mod 37 )≡ −6 ( mod 36 ( )≡ 16 ( mod 37 x2 ⇒⇐ )≡ −6 ( mod 36 x1 ( 36x2 37x1 בסה"כ: )x = 37(−6) + 36(−16) = 534 ( mod 36 · 37 דוגמה פתור ).3x3 ≡ 7 ( mod 37 · 25 פתרון אין שורש פרימיטיבי מודולו .37 · 25 נשתמש במשפט השאריות הסיני .מספיק לפתור: )≡ 7 ( mod 37 )≡ 7 ( mod 25 ( 3x3 3x3 ניזכר משיעור הקודם ש־ 2גם שורש פרימיטיבי מודולו .5j נראה רק את הפתרון ללא פירוט מלא של הדרך. )3x3 ≡ 7 ( mod 25) ⇒ x3 ≡ −6 ( mod 25 נרשום ,x = 2tואז )23t ≡ 218 ( mod 25) ⇐⇒ 3t ≡ 18 ( mod 20) ⇒ t ≡ 6 ( mod 20) ⇒ x ≡ 14 ( mod 25 נעבור למשוואה האחרות. )3x3 ≡ 7 ⇒ x3 ≡ −10 ⇒ 23t ≡ 26 ( mod 37) ⇒ 3t ≡ 6 ( mod 36) ⇒ t ≡ 2 ( mod 12 כלומר, )t ≡ 2, 14, 26 ( mod 36) ⇒ x = 4, 214 , 226 ( mod 37 בסופו של דבר: )x = 114, 189, 289 ( mod 37 · 25 4 הערה כאשר רוצים לפתור ,למשל, ( )x ≡ 14 ( mod 25 )x ≡ 4 ( mod 37 כלומר, )x ≡ 14 + 25k ≡ 4 ( mod 37) ⇒ k ≡ 7 ( mod 37) ⇒ x ≡ 189 ( mod 25 · 37 מתרגיל הבית a, k, nטבעיים gcd(a, n) = gcd(k, φ(n)) = 1 דרך אלטרנטיבית לפתרון )xk ≡ a ( mod n )∗( א .הוכח שקיימים u, vשלמים ,u ≥ 1כך ש־ uk + vφ(n) = 1 פתרון ראינו בכיתה שקיימים u0 , v 0שלמים כך ש־ ,u0 k + v 0 φ(n) = 1מכאן שלכל mשלם: u0 + mφ(n) · k + [v 0 − mk] · φ(n) = 1 } | {z u עבור mמספיק גדול. ב .יהי uכמו בסעיף הקודם ,הוכח כי: )x ≡ au ( mod n הוא הפתרון היחיד ל־)∗( 5 פתרון ראשית נראה שזהו פתרון .נעלה בחזקת :k )xk ≡ (au )k ≡ auk ≡ auk+v·φ(n) ≡ a ( mod n כאשר המעבר השני מימין מתקיים כי aהפיך ,ולכן ממשפט אוילר ).aφ(n) ≡ 1 ( mod n כעת ,נראה שזהו הפתרון היחיד מודולו .n אם ) ,xk ≡ a ( mod nנעלה בחזקת :u )xku ≡ au ( mod n כי xבהכרח הפיך ,מכך ש־ xk ≡ aו־ aהפיך. כעת ,xku ≡ xku+v·φ(n) ≡ x ,וסיימנו. נדבר מעט על התמונה של ההעתקה .F : Z∗n → Z∗n ,F (x) = xm למשל ,מודולו .12 ≡ 1 ,22 ≡ 1 ( mod 3) ,3כלומר 1הוא ריבוע ו־ 2אינו ריבוע. משפט יהי aזר ל־ .nלמשוואה ) xm ≡ a ( mod nיש פתרון אמ"מ )φ(n )a gcd(mφ(n)) = 1 ( mod n הוכחה בתרגיל בית. דוגמה מהן כל החזקות השישיות מודולו ) ?17להוציא אפס( פתרון לפי המשפט ,אלה הם כל ה־ aשזרים ל־ 17כך ש־ 16 )a gcd(6,16) = a8 ≡ 1 ( mod 17 6 כדי למצוא במפורש איברים אלה ,ניזכר ש־ 3שורש פרימיטיבי מודולו .17 נפתור )a = 3t ⇒ 38t ≡ 1 ( mod 17) ⇒ 8t ≡ 0 ( mod 16) ⇒ t ≡ 0 ( mod 2 ⇒ t = 0, 2, 4, 6, 8, 10, 12, 14 ולכן, )a ≡ ±1, ±2, ±4, ±8 ( mod 17 )אחרי חישובים(. שימושים להצפנה של חזקות מודולו n בהצפנות קלאסיות ישנו מפתח למשדר ולמקבל שאינו ידוע לאויב המאזין. הצפנות מפתח פומבי )מודרניות( ישנו מפתח פומבי )ידוע לכל( .ניתן להשתמש במפתח כדי להצפין הודעות .אבל צריך מפתח אחר, סודי ,כדי לפענח .הצפנה אסימטרית .נדרש שקשה יהיה למצוא את המפתח הפרטי )מפתח הפענוח( מהמפתח הפומבי. שיטת RSA טענה הפונקציה F : Z∗n → Z∗nהמוגדרת ע"י )F (x) ≡ xm ( mod n כאשר gcd (m, φ(n)) = 1היא חח"ע ועל. מסקנה מיידית מהמשפט הקודם. דוגמה נאמר ואליס ובוב רוצים לתקשר ,יבחרו ) (m, nכנ"ל .אליס תשדר לבוב ) ,Am ( mod nכאשר A הוא ההודעה הסודית. כדי לפענח ,ימצא בוב sכך ש־ ))m · s ≡ 1 ( mod φ(n 7 הופכי ל־ mמודולו ).φ(n ויחשב בוב )ms ≡ Am·s ≡ A ( mod n יתר על כן ,ניתן לפרסם בפומבי את mו־ ,nואז כל אחד יכול להצפין הודעות s .יישאר סודי, לפענוח. אם למאזין ידוע הפירוק לראשוניים של ,nהוא יוכל לחשב את ) φ(nומכאן למצוא את ,sההופכי של mמודולו .n בהצפנת RSAנהוג לבחור nכמכפלת שני ראשוניים גדולים .למשל ,כ־ 100ספרות כל אחד. לא ידועה דרך יעילה למצוא את הפירוק לראשוניים או את ).φ(n 8