שינויים

קפיצה אל: ניווט, חיפוש

מבנים אלגבריים למדעי המחשב - ארז שיינר

הוסרו 43 בתים, 11:43, 4 בינואר 2018
==ספר הקורס==
ההרצאות מבוססות באופן כללי על הספר [http://abstract.ups.edu/aata/ Abstarct Algebra - Theory and Applications by Thomas W. Judson]
==נושאי ההרצאות=====הרצאה 1 הקדמה; הסבר על קידוד והצפנה, מבוא למבנים אלגבריים ===
*קידוד הוא שיטה להעברת מידע ובין היתר מטרתו היא להבטיח את נכונות המידע ולזהות (ולתקן) שגיאות.
===הרצאה 2 חבורות ותת חבורות; פרקים 3,4 מ[http://abstract.ups.edu/aata/ הספר] ===
*תזכורת לגבי חבורות, תכונת הצמצום.
===הרצאה 3 חבורת תמורות, סימן התמורה; פרק 5 מ[http://abstract.ups.edu/aata/ הספר] ===
*הגדרת סימן של תמורה לפי חלוקת פולינומים, הוכחת כפליות הסימן.
===הרצאה 4 הומומורפיזמים, איזומורפיזמים, משפט קיילי, משפט לגראנג'; פרקים 9 ו6 מ[http://abstract.ups.edu/aata/ הספר] ===
*הומומורפיזמים, איזומורפיזמים.
===הרצאה 5 חבורת אוילר, משפטי אוילר ופרמה; פרק 6 מ[http://abstract.ups.edu/aata/ הספר]===
*זוג מספרים שלמים <math>a,b</math> נקראים שקולים מודולו n אם קיים שלם <math>q</math> כך ש <math>a=b+q\cdot n</math>
*חלוקה עם שארית: לכל מספר טבעי a ולכל מספר שלם b קיים זוג שלמים '''יחיד''' <math>q,r</math> כך ש <math>b=q\cdot a+r</math> וגם <math>0\leq r < a</math>.
===הרצאה 6 הצפנה סימטרית (מפתח פרטי), הצפנה אסימטרית (מפתח ציבורי), RSA; פרק 7 מ[http://abstract.ups.edu/aata/ הספר]===
*הצפנה; העברת מידע בערוץ פומבי כך שרק המשתתפים בהצפנה יוכלו להבין אותו, הוכחה לזהות כותב המידע (בין היתר כותב המידע לא יוכל להתנער ממנו), הוכחה לאמינות המידע (המידע אינו חלקי ואף אחד לא שינה אותו).
**אורך המידע (בהנחה שהוא אינו מרופד באפסים).
====RSA====
*אליס בוחרת שני ראשוניים גדולים <math>\{p,q\}</math> זה הסוד שלה.
*אליס מחשבת את המכפלה <math>n=p\cdot q</math>
===הרצאה 7 המשך הצפנה - בדיקת ראשוניות, דיפי הלמן, חתימה, חישוב חזקות;===
====שיטת מילר-רבין לבדיקת ראשוניות====
*חלק מהותי בשיטות שאנו לומדים הוא מציאת ראשוניים גדולים. כיצד הדבר נעשה? האם יש רשימה גדולה של כל הראשוניים בעולם?
*ידוע שכמות הראשוניים עד המספר <math>n</math> היא בערך <math>\frac{n}{\ln(n)}</math>.
*אם נבחן k מספרים אקראיים שונים, הסיכוי שכולם יהיו עדים חזקים אך המספר אינו ראשוני הוא <math>\frac{1}{4^k}</math> (נמוך מאד).
====דיפי-הלמן====
*למדנו שבעזרת RSA ניתן להעביר פיסת מידע באופן בטוח בערוץ פומבי, ולרוב נרצה להעביר מפתח סודי לצורך הצפנה סימטרית.
*אלגוריתם דיפי-הלמן הוא שיטה לתיאום מפתח סודי בלבד ולא להעברת מידע.
**האיבר שבחרנו הוא יוצר.
====חתימה====
*פונקציות גיבוב (hash) - מעבירות קלט בגודל אקראי לקלט באורך קבוע.
*שימו לב שעל מנת למנוע תקיפת 'אדם באמצע' באמצעות חתימה המפתחות הפומביים צריכים להיות מאומתים על פני ערוץ מאובטח (מקודדים בתוך הדפדפן למשל).
====חישוב חזקה====
*[http://abstract.ups.edu/aata/section-method-of-repeated-squares.html שיטת הריבועים החוזרים] לחישוב חזקה.
*לדוגמא, אנו מעוניינים לחשב את <math>x^{41} \mod n</math> במעט פעולות
===הרצאה 8 תת חבורות נורמליות, חבורות מנה, גרעין; פרקים 10,11 מ[http://abstract.ups.edu/aata/ הספר]===
*תהי חבורה G ותהי תת חבורה N. תת החבורה N נקראת '''נורמלית''' אם לכל <math>a\in G</math> מתקיים כי <math>aN=Na</math>.
===הרצאה 9 משפט האיזומורפיזם, מבוא לקידוד; פרק 11 מ[http://abstract.ups.edu/aata/ הספר]===
*'''משפט האיזומורפיזם הראשון'''. יהי <math>\varphi:G\to H</math> איזומורפיזם בין חבורות. אזי <math>G/\ker(\varphi)\cong im(\varphi) </math>
*הוכחה:
*כיוון ש <math>\varphi(21)=\varphi(3)</math>, נובע לפי הוכחת משפט האיזומורפיזם הראשון כי <math>21+9\mathbb{Z}=3+9\mathbb{Z}</math>, כלומר אכן מותר לעשות את המודולו בסוף.
====מבוא לקידוד====
*קוד ISBN בעל 10 ספרות, כאשר הספרה האחרונה היא ספרת ביקורת.
*הספרות שייכות לחבורה <math>\mathbb{Z}_{11}</math>, כאשר 9 הספרות הראשונות הן 0-9 והאחרונה יכולה להיות גם X.
===הרצאה 10 קידוד; פרק 8 מ[http://abstract.ups.edu/aata/ הספר]===
*תעודת זהות בישראל.
*עבור ספרת הביקורת של תעודת הזהות אנו לא מרשים שימוש בספרה X ולכן עובדים ב<math>\mathbb{Z}_{10}</math>.
====קוד לינארי====
*המידע שאנו מעוניים לשלוח הוא וקטור של ביטים <math>\mathbb{Z}_2^k</math>.
*נכפיל את המידע במטריצה הבינארית <math>G=\begin{pmatrix} I_k \\ A\end{pmatrix}</math> ונקבל קוד ב<math>\mathbb{Z}_2^n</math>.
===הרצאה 11 המשך קידוד; פרק 8 מ[http://abstract.ups.edu/aata/ הספר]===
*עד כה הראנו שיש לנו דרך לקודד מידע ולוודא שהמידע שהגיע הוא קוד תקין.
===הרצאה 12 חוג הפולינומים; פרקים 16,17 מ[http://abstract.ups.edu/aata/ הספר]===
חלוקה עם שארית, אידיאלים, כל אידיאל הוא אידיאל ראשי.
===הרצאה 13 קודים ציקליים; פרק 22 מ[http://abstract.ups.edu/aata/ הספר]===
השדה הבינארי, קודים פולינומיים.
CRC בשימוש פרוטוקול Ethernet.