בס"ד
ראשית כל, אני מקווה שהנושא יעניין אתכם, הפוסט בא במטרה לשבור קצת שגרה מכל תכני הווב שיש לנו כאן
מאז ומעולם היו משתמשים בהצפנות שונות, על מנת להסתיר מידע שנפילתו לעיניים הלא נכונות, היו מהוות נזק.
תחום ההצפנה מקיף מגוון שיטות לשיבוש והסתרת מסרים מעיניי מי שאינו מיועד לכך ואנו בפוסט זה ניגע ב-2 סוגי שחלוף קלים (אתב"ש, אלב"מ) וצופן הזזה (צופן קיסר) ובמידה וזה באמת יעניין אתכם, אכתוב עוד פוסטים בנושא.
מהו צופן שחלוף?
בהצפנה מסוג צופן שחלוף, מה שקורה בעצם פשוט מאוד: כל אות במסר המקורי, מוחלפת באות אחרת ו/או בסימן אחר ועל כן השם שחלוף.
אחת משיטות השחלוף העתיקות, מופיעה בספר ירמיהו 3 פעמיים ונקראת אתב"ש וכדי להצפין בה (בהצפנת אתב"ש) יש לכתוב את אותיות הא"ב בשתי שורות נפרדות, כאשר הראשונה מופיעה מההתחלה לסוף (בסדר הרגיל) ואילו השנייה מופיעה בסדר הפוך, משמע מהסוף להתחלה.
(התמונה נלקחה מוויקיפדיה)
ההצפנה מתבצעת על ידי החלפת האותיות בטקסט המקורי, באות המקבילה אליה בטבלה* וכך מתקבל מסר מוצפן באתב"ש.
לדוגמה: פרוג = וגפר = אתב"ש.
*טבלה - הטבלה הינה מפתח ההצפנה. באמצעות המפתח, נדע באיזה אות לשחלף את אותיות הטקסט המקורי. כלומר, הטבלה שלנו נקראת מפתח אתב"ש.
ירמיהו, פרק כ"ה, פסוק כ"ו:
הערך "ששך" בהצפנת אתב"ש הינו "בבל" שכן- מלך ששך, הינו מלך בבל.
וכן, ניתן לאשר כי ששך היא אכן בבל מפני שבפרק נ"א בפסוק מ"א נאמר:
ל'-ת'
וכך נראה מפתח ההצפנה שלנו:
א ב ג ד ה ו ז ח ט י כ
ל מ נ ע פ צ ק ר ש ת
כאשר האות כ' והאות ת' מחליפות זו את זו וכן הלאה.
צופן קיסר - צופן הזזה (Shift)
כאן הנושא מתחיל לקבל קצת אקשן
צופן קיסר נקרא על שמו של יוליוס קיסר, היות והוא הראשון שהשתמש בסוג צופן זה להעברת מסרים סודיים לשלטונות רומא כבר לפני 2500 שנה וגם הוא הינו סוג של שחלוף.
מפתח הצופן, הינו מספר (בשונה מאתב"ש ואלב"מ) שידוע רק לשולח המסר ולנמען ואיתו ניתן לפצח את ההצפנה, משמע- אם מפתח ההזזה שלנו הוא +1, אז לצורך ההצפנה מחליפים כל אות בא"ב באות שאחריה. וכפי שהבנתם, מספר המפתח מציין את שיעור ההזזה של הא"ב, שמוגבל דרך אגב ל-21 ואילו בא"ב הלטיני ל-25.
וכעת, נשלב קצת PHP על מנת ליצור צופן קיסר:
כשהקריאה לפונקציה בצורה הבאה:
סיכום פוסט:
לצפנים, בדרך כלל יש שני מרכיבים, אלגוריתם ומפתח. במקרה שלנו, בצופן קיסר, האלגוריתם הוא "הזזה" והמפתח מפרט בכמה יש להזיז. באתב"ש ובאלב"מ האלגוריתם זהה, "שחלוף" אך המפתח שונה (שחלף א' עם ל' לעומת א' עם ת')
במידה וזה מעניין אתכם, אפרט עוד על צופן יוליוס קיסר, כשר ניתן להמיר אותיות במספרים ולבטא את אלגוריתם ההזזה בנוסחה מתמטית, צפני ערבול ושיפורם לצופן קיסר.
מוזמנים להגיב, לתקן ולשאול שאלות
ראשית כל, אני מקווה שהנושא יעניין אתכם, הפוסט בא במטרה לשבור קצת שגרה מכל תכני הווב שיש לנו כאן
מאז ומעולם היו משתמשים בהצפנות שונות, על מנת להסתיר מידע שנפילתו לעיניים הלא נכונות, היו מהוות נזק.
תחום ההצפנה מקיף מגוון שיטות לשיבוש והסתרת מסרים מעיניי מי שאינו מיועד לכך ואנו בפוסט זה ניגע ב-2 סוגי שחלוף קלים (אתב"ש, אלב"מ) וצופן הזזה (צופן קיסר) ובמידה וזה באמת יעניין אתכם, אכתוב עוד פוסטים בנושא.
מהו צופן שחלוף?
בהצפנה מסוג צופן שחלוף, מה שקורה בעצם פשוט מאוד: כל אות במסר המקורי, מוחלפת באות אחרת ו/או בסימן אחר ועל כן השם שחלוף.
אחת משיטות השחלוף העתיקות, מופיעה בספר ירמיהו 3 פעמיים ונקראת אתב"ש וכדי להצפין בה (בהצפנת אתב"ש) יש לכתוב את אותיות הא"ב בשתי שורות נפרדות, כאשר הראשונה מופיעה מההתחלה לסוף (בסדר הרגיל) ואילו השנייה מופיעה בסדר הפוך, משמע מהסוף להתחלה.
(התמונה נלקחה מוויקיפדיה)
ההצפנה מתבצעת על ידי החלפת האותיות בטקסט המקורי, באות המקבילה אליה בטבלה* וכך מתקבל מסר מוצפן באתב"ש.
לדוגמה: פרוג = וגפר = אתב"ש.
*טבלה - הטבלה הינה מפתח ההצפנה. באמצעות המפתח, נדע באיזה אות לשחלף את אותיות הטקסט המקורי. כלומר, הטבלה שלנו נקראת מפתח אתב"ש.
ירמיהו, פרק כ"ה, פסוק כ"ו:
נשאלת השאלה, מי אתה מלך ששך ומהי ארצך? ובכן, בהצפנת אתב"ש, מהי ששך (היעזרו במפתח ההצפנה שלנו) ?"ומלך ששך ישתה אחריהם"
הערך "ששך" בהצפנת אתב"ש הינו "בבל" שכן- מלך ששך, הינו מלך בבל.
וכן, ניתן לאשר כי ששך היא אכן בבל מפני שבפרק נ"א בפסוק מ"א נאמר:
אגב, בפסוק הפתיחה של אותו הפרק, ישנה הצפנת אתב"ש נוספת, מוזמנים לפענח:"איך נלכדה ששך ותתפוס תהילת כל הארץ, איך הייתה לשמה בבל בגויים"
מפתח שחלוף נוסף נקרא אלב"מ, שכן בשחלוף זה מחלקים את אותיות הא"ב ל-2: א'-כ'"....הנני מעיר על בבל ועל יושבי לב קמי רוח משחית"
ל'-ת'
וכך נראה מפתח ההצפנה שלנו:
א ב ג ד ה ו ז ח ט י כ
ל מ נ ע פ צ ק ר ש ת
כאשר האות כ' והאות ת' מחליפות זו את זו וכן הלאה.
צופן קיסר - צופן הזזה (Shift)
כאן הנושא מתחיל לקבל קצת אקשן
צופן קיסר נקרא על שמו של יוליוס קיסר, היות והוא הראשון שהשתמש בסוג צופן זה להעברת מסרים סודיים לשלטונות רומא כבר לפני 2500 שנה וגם הוא הינו סוג של שחלוף.
מפתח הצופן, הינו מספר (בשונה מאתב"ש ואלב"מ) שידוע רק לשולח המסר ולנמען ואיתו ניתן לפצח את ההצפנה, משמע- אם מפתח ההזזה שלנו הוא +1, אז לצורך ההצפנה מחליפים כל אות בא"ב באות שאחריה. וכפי שהבנתם, מספר המפתח מציין את שיעור ההזזה של הא"ב, שמוגבל דרך אגב ל-21 ואילו בא"ב הלטיני ל-25.
וכעת, נשלב קצת PHP על מנת ליצור צופן קיסר:
PHP:
function caesar($text,$key)
{
$abc = array("א","ב","ג","ד","ה","ו","ז","ח","ט","י","כ","ל","מ","נ","ס","ע","פ","צ","ק","ר","ש","ת");
$strlen = strlen($text);
for($i = 0; $i < $strlen; $i++)
{
if(eregi("ם",$text[$i]))
{
$text[$i] = str_replace("ם","מ",$text[$i]);
}
if(eregi("ן",$text[$i]))
{
$text[$i] = str_replace("ן","נ",$text[$i]);
}
if(eregi("ץ",$text[$i]))
{
$text[$i] = str_replace("ץ","צ",$text[$i]);
}
if(eregi("ך",$text[$i]))
{
$text[$i] = str_replace("ך","כ",$text[$i]);
}
if(eregi("ף",$text[$i]))
{
$text[$i] = str_replace("ף","פ",$text[$i]);
}
if(in_array($text[$i],$abc))
{
$place = array_search($text[$i],$abc);
$new = $place+$key;
if($new > 22)
{
$new = $new-22;
}
echo str_replace($abc[$place],$abc[$new],$abc[$place])," ";
}
else {
echo "חלק ממחרוזת הטקסט שלך אינה נמצאת במערך, ייתכן כי מדובר בטקסט שאינו בעברית";
}
}
}
PHP:
caesar("פרוג",10);
לצפנים, בדרך כלל יש שני מרכיבים, אלגוריתם ומפתח. במקרה שלנו, בצופן קיסר, האלגוריתם הוא "הזזה" והמפתח מפרט בכמה יש להזיז. באתב"ש ובאלב"מ האלגוריתם זהה, "שחלוף" אך המפתח שונה (שחלף א' עם ל' לעומת א' עם ת')
במידה וזה מעניין אתכם, אפרט עוד על צופן יוליוס קיסר, כשר ניתן להמיר אותיות במספרים ולבטא את אלגוריתם ההזזה בנוסחה מתמטית, צפני ערבול ושיפורם לצופן קיסר.
מוזמנים להגיב, לתקן ולשאול שאלות