צופן קיסר, או היסט קיסר, הוא אחד הצפנים העתיקים ביותר. את השימוש בו מייחסים ליוליוס קיסר, המנהיג הצבאי והפוליטי הרומי המפורסם שחי במאה הראשונה לפני הספירה. הוא עלה לשלטון במלחמת אזרחים שהוא עצמו יזם כדי להפיל את המשטר הרפובליקני, הרחיב את האימפריה הרומית, ערך רפורמות נרחבות ולבסוף נרצח.
במהלך ההיסטוריה השלטונית והפיקודית שלו הוא נהג להשתמש בצופן הזה על מנת ליצור תקשורת בטוחה עם מפקדי צבאו. דוגמה לכך מובאת בספרו "המלחמות הגאליות", שבו מסופר כי קיסר שלח הודעה למנהיג הרומי קיקרו, שבמהלך כיבוש גאליה (חבל ארץ שנמצא כיום בצרפת) מצא את עצמו במצור ושקל להיכנע. ההודעה הוצפנה בהיסט קיסר והוצמדה לחנית שהטיל שליח מעל חומות העיר הנצורה.
הצופן
היסט קיסר נחשב צופן פשוט. במסגרתו מחליפים כל אות בא"ב באות אחרת שנמצאת בהיסט מסוים אחריה. למשל בהיסט קיסר 1, כל אות תוחלף באות הנמצאת במרחק של אות אחת אחריה. האות א' תוחלף באות ב', האות ב' תוחלף בג', והאות ת' תוחלף באות א'. בהיסט קיסר 2 כל אות תוחלף בזו שנמצאת 2 אותיות אחריה, כלומר, האות א' תוחלף באות ג', האות ש' תוחלף באות א' והאות ת' תוחלף באות ב'.
בצורתו הפשוטה ביותר יש להיסט קיסר 26 אפשרויות הצפנה בשפה העברית – הכוללת 27 אותיות יחד עם האותיות הסופיות. האפשרות ה-27 היא היסט 0, כלומר הטקסט המקורי נטול ההצפנה. לדוגמה, נניח שברצוננו להצפין את צמד המילים "שלום, קריפטוגרפיה!" באמצעות היסט קיסר 3. לשם כך עלינו לבנות לעצמנו טבלת הצפנה שבה כל אות בשורה הראשונה מוסטת שלושה מקומות קדימה בשורה השנייה:
אחרי השמטת סימני הפיסוק, הטקסט המוצפן שנקבל הוא: "בןטנ תאלקכטואקלח"
במבט ראשון הטקסט נראה חסר כל משמעות. אדם שייתקל באוסף האותיות הזה בלי טבלת הצפנה ובלי להכיר טכניקות פענוח – לא יבין ממנו דבר. בדיוק מה שרצינו.
פענוח
איך אפשר לפענח את הטקסט? אם המכתב מיועד אליכם, סביר להניח שאתם יודעים שההודעה הוצפנה באמצעות צופן קיסר ובאיזה היסט השתמשו השולחים. לפיכך תוכלו בקלות רבה להכין לעצמכם טבלת פענוח דומה לזאת ששימשה להצפנה, אך בהיסט אחורה במקום קדימה. כך תוכלו לפענח את הטקסט.
אך מה תעשו אם המכתב לא נועד אליכם. מה יעשה למשל מפקד הצבא הגאלי שיירט מסר שנועד להגיע לקיקרו בעיר הנצורה. לבטח מסתתר שם מידע מודיעיני רב חשיבות! אתם משערים או יודעים שהצבא הרומי משתמש בצופן קיסר. איך תפצחו אותו?
יש שתי גישות עיקריות לפענוח צופן כזה. השיטה הפשוטה ביותר היא פיצוח באמצעות כוח גס (Brute force), כלומר בדיקה בניסוי וטעייה של כל ההחלפות האפשריות עד שמתקבל טקסט קריא. בצופן קיסר יש רק 26 אפשרויות הסטה בעברית, כך שלא יידרש זמן רב לחשוף את המסר ששלח יוליוס קיסר לנצורים. שיטה נוספת, מתקדמת יותר, היא ניתוח תדירויות – אחת משיטות הפיצוח השימושיות ביותר של צפנים פשוטים, המסתמכת על שיטות סטטיסטיות. בה נעסוק בכתבה הבאה.
נסו גם אתם לפענח הודעה בצופן קיסר: