צופן פלייפייר

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
שיטת פלייפייר הומצאה על ידי צ'ארלס ויטסטון, אשר תיאר אותה לראשונה בשנת 1854

צופן פלייפייר (Playfair) או ריבוע פלייפייר הוא טכניקת הצפנה סימטרית והיה צופן ההחלפה הפוליגרפי הראשון. השיטה פותחה ב 1854 על ידי צ'ארלס ויטסטון, אך נושאת את שמו של לורד פלייפייר אשר קידם את השימוש בצופן.

בשיטת הצפנה זו מצפינים זוגות של אותיות (דיגרפים) במקום להצפין אותיות בודדות כמו שנהוג לעשות בצופן החלפה פשוט ובצופן ויז'נר. שיטת פלייפייר היא לכן משמעותית קשה לפריצה מאחר שניתוח תדירות שמשמש להחלפה פשוטה לא עובד היטב עמו. ניתוח תדירות עדיין יכול להתבצע אבל על 600 דיגרפים אפשריים במקום על 26 אותיות אפשריות. כלומר ניתוח תדירות הופך למשימה מורכבת בהרבה - ודורש באופן כללי טקסט מוצפן גדול כדי שיוכל להיות שימושי.

היסטוריה[עריכת קוד מקור | עריכה]

לורד פלייפייר קידם את השימוש בצופן ושמו נקשר עם השיטה.

התיעוד הראשון של צופן פלייפייר היה במסמך החתום על ידי ויטסטון. אולם, השיטה לבסוף נודעה כשיטתו של ידידו לורד פלייפייר, שהפך אותה לאהודה. השיטה נדחתה על ידי משרד החוץ הבריטי כאשר פותחה מאחר שהייתה סבוכה ללימוד. כאשר ויטסטון הציע להדגים ששלושה מארבעה ילדים מבית ספר קרוב יוכלו ללמוד להשתמש בשיטה תוך 15 דקות, השיבו לו ממשרד החוץ "ייתכן מאוד שאתה צודק, אבל לעולם לא תוכל ללמד את הנספחים להשתמש בשיטה".

הצבא הבריטי עשה שימוש טקטי בשיטה במלחמת הבורים השנייה ובמלחמת העולם השנייה. גם האוסטרלים עשו שימוש בשיטה במלחמת העולם השנייה. הסיבה היא שהשיטה מהירה לשימוש ולא דורשת ציוד מיוחד. השימוש בפלייפייר נעשה כדי להגן על סודות חשובים אך לא מאוד מהותיים בזמן קרב. הסברה הייתה שעד שמנתחי הצופן יצליחו לפרוץ הודעה, הרי זו כבר תהייה ישנה וחסרת חשיבות מעשית עבורם. פלייפייר לא נמצא בשימוש על ידי כוחות צבא בשל העובדה שכיום קיימים התקני הצפנה ספרתיים. פלייפייר אינו בטוח כיום כלל - אפילו מחשב אינטל 80386 יכול לפרוץ את הצופן בזמן קצר.

השיטה לפענוח הצופן פורסמה בעלון בן 19 עמודים על ידי סגן ג'וזף מוברגן בשנת 1914.

באוגוסט 1943, סמוך לאי קולומבנגרה השייך לאיי שלמה, הוטבעה ספינת סיור מסוג PT-109 בפיקודו של סגן ג'ון פ. קנדי על ידי משחתת היפנית אמגירי (Amagiri). קצין משמר החופים האוסטרלי ראה נקודה בוערת באפילה ומיהר לדווח על האירוע. דיווחי משמר החופים עשו שימוש בצופן פליפייר. מספר הודעות עברו בין קציני משמר החופים בנודע לאפשרויות של הניצולים לשחות לאיים הסמוכים, פעולה שאכן התבצעה על ידי צוות האוניה שניצל. למרות שהיפנים קלטו את ההודעות המוצפנות, הם לא ביצעו פעולות לאיתור הניצולים.

5 ימים לאחר האירוע, גילו מספר ילידים את קנדי וצוותו באי גרוס. הילידים העבירו את המידע על מיקומם המדויק של צוות האוניה אל קצין משמר החופים, וזה החל בהתכתבות עם קצינים אחרים בנוגע למיקומם ומשימת החילוץ. כל הודעה כנ"ל הייתה יכולה להיות מפוענחת בתוך פחות משעה על ידי קריפטאנליסט מנוסה, אך היפנים לא עשו שימוש בהודעות אלו, ופספסו הזדמנות לתפוס את צוות האוניה ואת כח החילוץ, ואולי לשנות את ההיסטוריה.

שימוש בפלייפייר[עריכת קוד מקור | עריכה]

צופן פלייפייר עושה שימוש בטבלה בגודל 5 על 5 המכילה מילת או ביטוי מפתח. שינון מילת המפתח ו 4 חוקים פשוטים הם כל שנדרש על מנת ליצור טבלה 5 על 5 ולהשתמש בצופן.

על מנת לייצר את טבלת המפתחות, יש למלא את הרווחים בטבלה עם אותיות ממילת המפתח (תוך השמטה של אותיות כפולות) ואז יש למלא את הרווחים הנותרים עם האותיות הנותרות באלפבית לפי סדר (לרוב תוך השמטת "Q" על מנת להפחית את כמות האותיות). המפתח יכול להרשם בשורות העליונות של הטבלה, משמאל לימין, או בדפוס אחר כלשהו, כמו ספירלה המתחילה בצד שמאלי עליון ומסתיימת במרכז. מילת המפתח יחד עם המוסכמות למילוי בטבלה 5 על 5 יוצרים את מפתח הצופן.

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

  • אם שתי האותיות זהות (או אות אחת נותרת), הוסף "X" לאחר האות הראשונה. הצפן את הזוג החדש והמשך. חלק מהגרסאות של פלייפייר עושות שימוש ב "Q" במקום ב "X", אבל כל אות שאינה נפוצה תהווה פתרון הולם.
  • אם שתי אותיות מופיעות באותה שורה של הטבלה, החלף אותם עם אותיות הממוקמות לימינן בהתאמה.
  • אם האותיות מופיעות באותה עמודה של הטבלה, החלף אותן עם האותיות שמתחת בהתאמה (תוך גלילה חזרה לחלק העליון של העמודה אם אות בזוג המקורי הייתה בחלק התחתון של העמודה).
  • אם האותיות אינן באותה שורה או עמודה, החלף אותן עם אותיות באותה שורה בהתאמה אבל בזוג הקצוות השני של המלבן. הסדר חשוב - האות המוצפנת הראשונה של הזוג היא זו שממוקמת באותה שורה כמו האות הראשונה בטקסט המקור.

על מנת לפענח, יש להשתמש בהופכי של 4 החוקים (השמטת כל "X" (או "Q") שאינם הגיוניים בהודעה הסופית).

דוגמה[עריכת קוד מקור | עריכה]

כאשר עושים שימוש ב "playfair example" כמפתח הטבלה הופכת להיות :

P L A Y F
I R E X M
B C D G H
J K N O S
T U V W Z

קידוד ההודעה "Hide the gold in the tree stump":

HI DE TH EG OL DI NT HE TR EX ES TU MP
                            ^
  1. הזוג HI יוצר מלבן, החלף עם BM
  2. הזוג DE מצוי בעמודה, החלף עם ND
  3. הזוג TH יוצר מלבן, החלף עם ZB
  4. הזוג EG יוצר מלבן, החלף עם XD
  5. הזוג OL יוצר מלבן, החלף עם KY
  6. הזוג DI יוצר מלבן, החלף עם BE
  7. הזוג NT יוצר מלבן, החלף עם JV
  8. הזוג HE יוצר מלבן, החלף עם DM
  9. הזוג TR יוצר מלבן, החלף עם UI
  1. הזוג EX נמצא בשורה, החלף עם XM
  2. הזוג ES יוצר מלבן, החלף עם MN
  3. הזוג TU נמצא בשורה, החלף עם UV
  4. הזוג MP יוצר מלבן, החלף עם IF

ומקבלים :

BM ND ZB XD KY BE JV DM UI XM MN UV IF

ולכן ההודעה "Hide the gold in the tree stump" הופכת להודעה "BMNDZBXDKYBEJVDMUIXMMNUVIF".

הבהרה בתמונות[עריכת קוד מקור | עריכה]

נניח שמישהו מעוניין להצפין את הדיגרף OR. ישנם שלושה מקרים כלליים :

1)
* * * * *
* O Y R Z
* * * * *
* * * * *
* * * * *

OR -> YZ‎

2)
* * O * *
* * B * *
* * * * *
* * R * *
* * Y * *

‎OR -> BY

3)
Z * * O *
* * * * *
* * * * *
R * * X *
* * * * *

‎OR -> ZX

פענוח צופן פלייפייר[עריכת קוד מקור | עריכה]

על מנת לפענח צופן פלייפייר יש לעשות את אותן פעולות הנעשות בהצפנה אך בסדר הפוך. ניקח את הדוגמה המופיעה למעלה:BMNDZBXDKYBEJVDMUIXMMNUVIF מילת המפתח היא playfair example ולכן הטבלה תהיה:

P L A Y F
I R E X M
B C D G H
J K N O S
T U V W Z 
  1. הזוג BM יוצר מלבן, החלף עם HI
  2. הזוג ND מצוי בעמודה, החלף עם DE
  3. הזוג ZB יוצר מלבן, החלף עם TH
  4. הזוג XD יוצר מלבן, החלף עם EG
  5. הזוג KY יוצר מלבן, החלף עם OL
  6. הזוג BE יוצר מלבן, החלף עם DI
  7. הזוג JV יוצר מלבן, החלף עם NT
  8. הזוג DM יוצר מלבן, החלף עם HE
  9. הזוג UI יוצר מלבן, החלף עם TR
  10. הזוג XM נמצא בשורה, החלף עם EX
  11. הזוג MN יוצר מלבן, החלף עם ES
  12. הזוג UV נמצא בשורה, החלף עם TU
  13. הזוג IF יוצר מלבן, החלף עם MP
  • יוצא לנו: HIDETHEGOLDINTHETREXESTUMP
  • נוסיף רווחים:HIDE THE GOLD IN THE TREXE STUMP
  • נוריד איקסים:HIDE THE GOLD IN THE TREE STUMP

ולכן הקוד: BMNDZBXDKYBEJVDMUIXMMNUVIF הופך להודעה: HIDE THE GOLD IN THE TREE STUMP

קריפטאנליזה של צופן פליפייר[עריכת קוד מקור | עריכה]

בעת ניתוח הצופן, שמים לב לתכונותיו הבאות:

  1. זהו צופן החלפה
    1. אף אות אינה מוצפנת לעצמה
    2. כל אות יכולה להיות מוחלפת ב-5 אותיות אחרות (וכל אות מוצפנת יכולה להתפענח ל-5 אפשרויות בלבד)
  2. ההסתברות ששתי האותיות ייצרו מלבן הינה כפולה מאשר ההסתברות שהאותיות באותה שורה או עמודה

ניתוח הצופן מבוסס על ניתוח תדירויות הן של אותיות בודדות והן של דיגרפים. בהתאם לחזרות של דיגרפים ולהופעת דיגרפים הפוכים (למשל ER וRE) ניתן לבצע מספר ניחושים ולשבור את הצופן.

יש לציין שבמידה וידוע חלק מהמסר הגלוי, ניתוח הצופן הופך פשוט עוד יותר, כלומר הניתוח קל מאד עבור התקפת גלוי-ידוע.

קישורים חיצוניים[עריכת קוד מקור | עריכה]