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

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

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

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

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

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

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

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

== שימוש בפלייפייר ==
צופן פלייפייר עושה שימוש בטבלה בגודל 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

#הזוג HI יוצר מלבן, החלף עם BM
#הזוג DE מצוי בעמודה, החלף עם ND
#הזוג TH יוצר מלבן, החלף עם ZB
#הזוג EG יוצר מלבן, החלף עם XD
#הזוג OL יוצר מלבן, החלף עם KY
#הזוג DI יוצר מלבן, החלף עם BE
#הזוג NT יוצר מלבן, החלף עם JV
#הזוג HE יוצר מלבן, החלף עם DM
#הזוג TR יוצר מלבן, החלף עם UI

#הזוג EX נמצא בשורה, החלף עם XM
#הזוג ES יוצר מלבן, החלף עם MN
#הזוג TU נמצא בשורה, החלף עם UV
#הזוג MP יוצר מלבן, החלף עם IF

ומקבלים :
 BM ND ZB XD KY BE JV DM UI XM MN UV IF

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

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

{| border="0" cellspacing="" cellpadding="0" style="border-collapse: collapse;direction:ltr;"
| width="30%" | 1)
 * * * * *
 * O Y R Z
 * * * * *
 * * * * *
 * * * * *
OR -> YZ
| width="5%" |
| width="30%" | 2)
 * * O * *
 * * B * *
 * * * * *
 * * R * *
 * * Y * *
OR -> BY
| width="5%" |
| width="30%" | 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

#הזוג BM יוצר מלבן, החלף עם HI
#הזוג ND מצוי בעמודה, החלף עם DE
#הזוג ZB יוצר מלבן, החלף עם TH
#הזוג XD יוצר מלבן, החלף עם EG
#הזוג KY יוצר מלבן, החלף עם OL
#הזוג BE יוצר מלבן, החלף עם DI
#הזוג JV יוצר מלבן, החלף עם NT
#הזוג DM יוצר מלבן, החלף עם HE
#הזוג UI יוצר מלבן, החלף עם TR
#הזוג XM נמצא בשורה, החלף עם EX
#הזוג MN יוצר מלבן, החלף עם ES
#הזוג UV נמצא בשורה, החלף עם TU
#הזוג 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

== קריפטאנליזה של צופן פליפייר==
בעת ניתוח הצופן, שמים לב לתכונותיו הבאות:
#זהו צופן החלפה
##אף אות אינה מוצפנת לעצמה
##כל אות יכולה להיות מוחלפת ב-5 אותיות אחרות (וכל אות מוצפנת יכולה להתפענח ל-5 אפשרויות בלבד)
#ההסתברות ששתי האותיות ייצרו מלבן היא כפולה מאשר ההסתברות שהאותיות באותה שורה או עמודה
ניתוח הצופן מבוסס על ניתוח תדירויות הן של אותיות בודדות והן של דיגרפים. בהתאם לחזרות של דיגרפים ולהופעת דיגרפים הפוכים (למשל ER וRE) ניתן לבצע מספר ניחושים ולשבור את הצופן.

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

== קישורים חיצוניים ==

*[https://web.archive.org/web/20030212185742/http://www.wisdom.weizmann.ac.il/~albi/cryptanalysis/lect3.htm רשימות מהרצאות על צפנים במכון ויצמן למדע - צופן פלייפייר]
* 

קטגוריה:הצפנה
קטגוריה:הממלכה המאוחדת: המצאות