צפנים מונואלפבתים וצפנים פוליאלפבתים. - נכתב ע"י cp77fk4r.
|----------------------------------------------------|
צפנים מונואלפבתיים הם צפנים שפועלים בצורה שלכל אות מסויימת יש תו (או אות אחרת) שמסמלת אותו בטקסט המוצפן.
נקח לדוגמא את הצופן המוכר והפשוט- צופן קיסרי (האלגוריתם שלו- Ch=Ch+X, והX זה מספר שהמצפין בוחר)
בצופן הזה, המצפין והמנען קובעים מספר מסויים, ועל פיו נגשים לטבלה הבאה:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
IJKLMNOPQRSTUVWXYZABCDEFGH
JKLMNOPQRSTUVWXYZABCDEFGHI
KLMNOPQRSTUVWXYZABCDEFGHIJ
LMNOPQRSTUVWXYZABCDEFGHIJK
MNOPQRSTUVWXYZABCDEFGHIJKL
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
WXYZABCDEFGHIJKLMNOPQRSTUV
XYZABCDEFGHIJKLMNOPQRSTUVW
YZABCDEFGHIJKLMNOPQRSTUVWX
ZABCDEFGHIJKLMNOPQRSTUVWXY
למשל הם קבעו ביחד ללכת על המספר 5 אז הם פונים לשורה מספר חמש (שמתחילה באות החמישית- E), ואת השורה הראשונה (בסדר הרגיל):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
EFGHIJKLMNOPQRSTUVWXYZABCD
ומתחילים להצפין .
לדוגמא, נרצה להצפין את ההודעה:
The meetting will be on thuesday in the park
אז נתחיל: T=X,H=M,E=I וכו' וכו', לבסוף יצא לנו:
Xli qiixxmrk ampp fi sr xlyiwhec mr xli tevo
סבבה, בואו ננסה לחשוב על החולשה של הצופן הקיסרי, הוא פועל בצורה שהוא פשוט מחליף אותיות באותיות אחרות ע"פ סדר קבוע.
חולשה מספר אחד- סדר קבוע, אם אנחנו מוצאים אות אחת אנחנו מוצאים את כל האותיות ע"י בדיקת ההפרש בינה לבין האות שהחליפה
אותה בצופן.
חולשה מספר שתיים- התדירות (Frequency) של האותיות נשארו.
אנחנו יכולים לחשוב בצורה הבאה:
הטקסט נכתב באנגלית נכון?, נסתכל על המילה הראשונה בצופן: "Xli", היא בעלת שלושה תווים, והיא מופיעה פעמיים בטקסט (9 מילים), להופיע
פעמיים בטקסט של 9 מילים זאת תדירות גבוהה ביותר.
איזה מילה באנגלית בעלת שלושה אותיות יש לה את התדירות הגבוהה ביותר? כמובן- "ה" הידיעה, זאת אומרת- "The".
אם Xli זה The, זה אומר שT=X
באיזה שורה בטבלה T=X? בשורה החמישית.
ומכאן אנחנו מציבים:
EFGHIJKLMNOPQRSTUVWXYZABCD
ABCDEFGHIJKLMNOPQRSTUVWXYZ
וככה מפענחים את הצופן בקלות.
כמובן שיש עוד הרבה צפנים/אלגוריתמים מסובכים יותר להצפנה מונואלפבתית, אבל גם המסובכים יותר ניתנים לפיצוח בדרך זו או דומה לה.
חזרה של מחרוזת מסויימת בצופן מספר פעמיים משמעותה ברורה- חולשה בצופן.
כאן באות אלינו (בניסיון נואש) ההצפנות הפוליאלפבתיות (פולי- בגלל שלכל אות ואת יכולה להיות יותר מסימן/תו/אות נוספת שתסמל אותה),
מטרתם ברורה- לנסות לערבל את המחרוזות כמה שיותר, כך שיהיו מספר קטן ככל היותר של מחרוזות דומות בטקסט.
ההצפנה הזאת מבוססת מפתח, זאת אומרת שאנחנו משתמשים במילת מפתח מסויימת כדי להצפין וכדי לפענח את ההצפנה שלנו.
לדוגמא:
הטקסט שברצננו להצפין הוא: The meetting will be on the third day of the week in the park
Emd jtwxenmd lapw gd vc llp ygfgv sqy gb lwi vnmq ww tlw j
מילת המפתח שבה נשתמש להצפנה היא: KeyWord
הגמטריה של הטקסט שלנו היא:
11 18 01 16 05 08 20 14 09 11 05 05 23 05 08 20 06 15 25 01 04 04 18 09 08 20 05 08 20 14 15 05 02 12 12 09 23 07 14 09 20 20 05 05 13 05 08 20
והגמטריה של המילת מפתח שלנו היא:
04 18 15 23 25 05 11
את המילת מפתח שלנו נכתוב מתחת לטקסט מספר פעמים עד שהיא תגיעה למספר התווים שיש בטקסט:
11 18 01 16 05 08 20 14 09 11 05 05 23 05 08 20 06 15 25 01 04 04 18 09 08 20 05 08 20 14 15 05 02 12 12 09 23 07 14 09 20 20 05 05 13 05 08 20
18 15 23 25 05 11 04 18 15 23 25 05 11 04 18 15 23 25 05 11 04 18 15 23 25 05 11 04 18 15 23 25 05 11 04 18 15 23 25 05 11 04 18 15 23 25 05 11
ועכשיו נחבר אותם תחת החוק מודולו 26 (מספר האותיות באנגלית)- זאת אומרת, שאם סכום שני הספרות ביחד קטן מ26 נקח אותו,
אבל אם הוא גדול מ26 נקח את התוצעה
של הסכום פחות 26.
20+11=31... 31-26=5.
08+05=13.
05+25=30... 30-26=4.
13+23=33... 33-26=7.
וכו' וכו'...
האפקט של הצפנה בעזרת מפתח הוא שכל הזמן יש לנו חוקיות שונה, כי פעם אחת האות T תיהיה שווה ל X ופעם לY, כי זה תלוי גם באות שבה היא נפגשת במילת מפתח.
התוצעה שלנו בסוף היא:
03 07 24 15 10 19 24 06 24 17 04 10 08 09 26 09 03 14 04 12 08 22 07 06 07 25 16 12 12 03 22 04 07 23 16 01 12 04 13 14 05 24 23 20 10 04 13 05
עכשיו נחזיר את כל המספרים לאותיות, ונקבל:
Emdjtwxenmdlapwgdvcllpygfgvhldncizihjdqxfxsjoxgc
אפילו אם נחלק את זה לפי מספר המילים (מה שיכול ליצור חולשה בצופן) לא נוכל למצוא מילה שתחזור על עצמה:
Emd jtwxenmd lapw gd vcl lpyg fgv hl dnc izih jd qxf xsj oxgc
כאן ראינו את שיטות ההצפנה הפוליאלפבתיות יכולות לעזור לנו בערבול הצופן והמחרוזות.
אבל גם להצפנות הפוליאלפבתיות יש נקודת חולשה, ככל שהטקסט יותר גדול, כך יש יותר סיכוי שמחרוזות כן יחזרו על עצמן, איך? פשוט מאוד, ככל שהטקסט
גדול יותר (אם למשל רצינו להצפין עמודים שלמים, ולא איזה חצי שורה..) אז יש יותר סיכוי שהמפתח יפול על אותם המילים וככה יווצרו לנו מחרוזות שחוזרות על עצמן.
אנחנו יוצאים מנקודת הנחה שהמפתח קטן בהרבה מהטקסט שאותו אנו רוצים להצפין, אם למשל המפתח שלנו היה המילה (25 05 11) Key והצופן שלנו היה:
The password was Green and we change that to the General Name
אז הוא היה נופל בצורה:
ThepasswordwasGreenandwechangethattotheGeneralName
keykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeyk
אז המילה "The" הראשונה והמילה "The" השניה היו נופלות עם המילת מפתח (Key) בדיוק באותה הצורה!
מה זה אומר לנו? זה אומר שגם אחרי ההצפנה היו לנו מחרוזות שחוזרות על עצמן!
מילת מפתח קצרה בטקסט ענקי זו אכן נקודה חלשה בצופן.
אחרי ההצפנה, אחרי שעלינו על מחרוזת שחוזרת על עצמה אנחנו בודקים את הרוח שבין שני המילים והכפולה הקטנה ביותר היא הגודל של המילת מפתח.
בטקסט שלנו הרוח בין ה"The" הראשונה ל"The" השניה הוא 30 והכפולה הקטנה ביותר היא- 3, זאת אומרת שהגודל של המילת מפתח שאנחנו צריכים
לחפש הוא 3.
אנחנו יכולים עכשיו לחפש לפי התבנית (x1,x2,x3 - המילת מפתח שלנו) ע"י זה שנציב אותה מתחת לטקסט המוצפן ולאחר מכן לחפש אותיות שנופלות
לנו באותה הצורה עם המפתח, (נגיד שהמילה The עם המפתח Key כשהמילה נופלת בצורה שבה הT מעל הK [למשל בתחילת הטקסט] אז אנחנו יודעים ש
y1 כשהוא מעל x1 זה נותן לנו את התו n1, אז אנחנו נעבור בטקסט ונחפש את התו n1 ורק אם הוא יהיה גם מעל האות x1 שבמפתח אז אנחנו יכולים לדעת
שגם הוא y1, וככה גם עם x2 וx3).
אחרי זה כבר נוכל לנסות להשלים מילים ולהשתמש שוב במפתח ואז נוכל למצוא גם את y4 וy5 וכו' וכו'.
ככל שנתקדם ונמצא יותר מילים ככה יהיה לנו יותר קל, זאת אומרת שהשלבים הראשונה הם ההכי קשים ומאז זה רק ניהיה יותר ויותר קל.
וואי.. עכשיו כבר 04:12 בבוקר, אני מקווה שהבנתם משהו.
- שלכם תמיד, באש ובמים, cp77fk4r.
|--------MADE BY cp77fk4r aka 3gGDr0pp3r aka eXt4zZa aka Empty0pagE--------|