28-11-2004, 11:32
|
|
|
|
חבר מתאריך: 20.06.03
הודעות: 5,616
|
|
אבטחת מידע וקריפטולוגיה - #1:הצפנות מונואלפבתיות
הצפנות מונואלפבתיות
צופן קיסר (על שמו של יוליוס קיסר)
בשיטה זו לכל אות בא"ב הותאם מספר (0-25 לא"ב האנגלי) כשהמפתח k הוא מספר בין 0 ל-25.
xєPyєC
תהליך ההצפנה: Ek(x)=x+k(mod 26)
תהליך הפיענוח: Dk(x)=y-k(mod 26)
בצופן קיסר הבסיסי, המפתח היה 3.
חיסרון: מס' מפתחות אפשרי קטן.
שיטת פריצה: סריקת מפתחות (brute force).
צופן הצבה שרירותי
k– כל התמורות על 26 מספרים שונים (ערבוב מספרים)
לדוגמה:
a b c d e . . .
k= -1 4 12 9 -7
בשיטה זו, מספר המפתחות האפשריים הוא: !26 (~26^10*4), כלומר סריקת מפתחות לא תועיל במקרה זה.
חיסרון – שיטת פריצה: ניתוח שכיחויות. אנו יכולים לנתח סטטיסטית את אחוז המופעים של כל אות בטקסט ארוך (כמה שהטקסט יותר ארוך, כך הוא יתאים יותר לממוצעים) ולמצוא את ההתאמה לשפה בא הוצפן הטקסט בעזרת היסטוגרמה כללית אשר משקפת את טבלת השכיחויות באותה שפה.
26!=~4*10^26=~2^80
שזה בערך מפתח בגודל 80bit.
צופן playfair
עונה על החיסרון של הצופן הקודם. כדי להימנע מטבלאות השכיחויות של השפה (היסטוגרמות) שיטת playfair מצפינה זוגות של אותיות, וכל זוג הופך להיות זוג אחר.- במילת המפתח כל אות צריכה להופיע פעם אחת.
- נעזרים במטריצה 5x5 כאשר בתוך המטריצה כותבים את המפתח עד שהוא נגמר ואת שאר האותיות לפי הסדר (אותיות שהיו במפתח לא חוזרות על עצמן).
- אותיות I,J מופיעות באותה משבצת (חוסר מקום)
- במידה וב-ptext ישנן שתי אותיות צמודות זהות, יוכנס בתוכן X מפריד (המילה need תוצפן כ-nexed)
דוגמה:
בחרנו את מילת הצופן ANTROPY
נזין אותה למטריצה ונשלים את האותיות:
- אם האותיות בזוג נמצאות באותה שורה במטריצה, אז כל אות מוחלפת בזו שלימינה. האות הימנית ביותר תוחלף בשמאלית ביותר באותה שורה. למשל AO תוחלף ב-NA.
- אם האותיות בזוג נמצאות באותה עמודה במטריצה, אז כל אות מוחלפת בזו שמתחתיה, כאשר האות התחתונה ביות מוחלפת בעליונה. למשל BW תוחלף ב-GT.
- בכל מקרה אחר, כל אות תוחלף באות שנמצאת באותה שורה והעמודה שנמצאת השנייה בזוג, למשל GO, תוחלף ב-IT (או JT).
חסרון - שיטת פריצה: באמצעים הקיימים היום, ניתן לבנות גם טבלאות שכיחויות לזוגות של אותיות – ולכן קל לפריצה.
צופן Hill
צופן זה עובד בשיטה הבאה:- מחלקים את הטקסט לקבוצות של n אותיות.
- כל n אותיות הופך להיות וקטור עם הערך המספרי של אותה אות.
- בוחרים מטריצת הצפנה בגודל nXn אשר המספרים בה הם בטווח (0-25) והיא הפיכה.
- במקרה ש-ptext אינו מתחלק ב-n אזי מרפדים את ptext (מוסיפים אותיות באופן שרירותי עד לחלוקה ב-n).
תהליך ההצפנה מתמטית:
מטריצת ההצפנה: (n=3)
ptext: rob|eth|eba|nkt|oni|ght
rob=(17 14 1)
eth=(4 19 7)
eba=(4 1 0)
nkt=(13 10 19)
oni=(14 13 8)
ght=(6 7 19)
.
.
.
.
ctext: mgdkbxhyk…
מטריצת פיענוח:
חסרונות – שיטות פריצה: אם נתונה מטריצת הצפנה, ניתן למצוא את מטריצת הפענוח בקלות. ואם אנו משיגים גם ctext וגם ptext (זוגות), אזי ניתן למצא את המטריצות ע"י מערכת משוואות ליניאריות. מכאן אנו למדים שמערכות ליניאריות אינן טובות להצפנה.
שיעור הבא - שיטות הצפנה פוליאלפבתיות
שיעור קודם - מבוא
כל הזכויות שמורות ©, ניתן לפרסם קורסים מקוונים אלו או חלק מהם בכל מקום תוך ציון המקור וקישור ישיר אליו.
נערך לאחרונה ע"י fat fish בתאריך 28-11-2004 בשעה 11:34.
|