לצפנים ולהצפנות קשר כפול לפרשת שמות. הקשר הלשוני הוא בפסוק המתאר את לידת משה (שמות ב): "וַתַּהַר הָאִשָּׁה וַתֵּלֶד בֵּן וַתֵּרֶא אֹתוֹ כִּי-טוֹב הוּא וַתִּצְפְּנֵהוּ שְׁלשָׁה יְרָחִים: ולֹא-יָכְלָה עוֹד הַצְּפִינוֹ וַתִּקַּח-לוֹ
תֵּבַת גֹּמֶא וַתַּחְמְרָה בַחֵמָר וּבַזָּפֶת וַתָּשֶׂם בָּהּ
אֶת-הַיֶּלֶד וַתָּשֶׂם בַּסּוּף עַל-שְׂפַת הַיְאֹר". הצפנה פירושה להסתיר, להחביא ובימינו הכוונה היא לדרכים להסתרת הודעה או מידע כאשר רק אנשים מעטים יודעים לפענח את המסר. מעניין, ששני השורשים, צפן ופענח מופיעים כבר בספר בראשית בכינויו של יוסף: "צפנת פענח" - יוסף הוא זה שמפענח את המסרים המוצפנים (במקרה זה חלומותיו של פרעה). בעוד השורש פענח מופיע פעם אחת בכל התנ"ך, השורש צפן נפוץ הרבה יותר. גם הכיוון צפון, מקורו במשמעות זו. השמש לא נראית לעולם בצפון (לפחות לא מישראל. באיזורים הטרופיים ובחצי הכדור הדרומי, השמש אכן נמצאת בצפון), ולכן צד זה נסתר מהשמש. השורש משמש גם בתור שם: אליצפן, צפניה ועוד. ומופיע פעמים רבות בספרות החוכמה (איוב, משלי תהילים) למשל:
צפנים היו מקובלים כבר בעולם העתיק בתור דרך להעברת מסרים. הצפנים הראשונים היו פרימיטיבים ביותר והתבססו על החלפת אותיות. בתנ"ך, ניתן למצוא צופן פשוט מעין זה (ירמיהו נ"א א): "כֹּה אָמַר ה' הִנְנִי מֵעִיר עַל-בָּבֶל וְאֶל-יֹשְׁבֵי לֵב קָמָי רוּחַ מַשְׁחִית". לא מצאנו מקום בשם לב קמי אולם בצופן אתבש פשוט (א=ת ב=ש וכו') מתברר כי פירוש המילה הוא "כשדים". צופן אתבש מופיע שוב באותה נבואה בפסוק מא: "אֵיךְ נִלְכְּדָה שֵׁשַׁךְ וַתִּתָּפֵשׂ תְּהִלַּת כָּל-הָאָרֶץ אֵיךְ הָיְתָה לְשַׁמָּה בָּבֶל בַּגּוֹיִם" ששך=בבל. מאחר ובנבואה מופיעה בבל מפורשות וגם כשדים, השימוש בצופן הינו מסיבות ספרותיות גרידא ולא על מנת להסתיר את מושא הנבואה.
צופן אחר הוא פשוט שימוש בשפה אחרת. לפעמים ההורים מדברים אנגלית כאשר לא רוצים שהילדים יבינו (או יידיש, או כל שפה אחרת) וגם את זה אנו מוצאים בתנ"ך(מלכים ב' י"ח כו): "וַיֹּאמֶר אֶלְיָקִים בֶּן-חִלְקִיָּהוּ וְשֶׁבְנָה וְיוֹאָח אֶל-רַבְשָׁקֵה דַּבֶּר-נָא אֶל-עֲבָדֶיךָ אֲרָמִית כִּי שֹׁמְעִים אֲנָחְנוּ וְאַל-תְּדַבֵּר עִמָּנוּ יְהוּדִית בְּאָזְנֵי הָעָם אֲשֶׁר עַל-הַחֹמָה". את האיומים של רבקשה עדיף שלא כל העם יבין.
שיטת הצפנה נוספת שזכתה לפרסום רב בשנים האחרונות היא בדילוגי אותיות. מסרים מוחבאים בתוך טקסט בדילוג קבוע של אותיות. קיימים ספרים שלמים על מסרים רבים המוחבאים בתורה וכנגדם אותה כמות של מאמרים ומחקרים המראים שהכל בגדר ההסתברות הסטטיסטית.
צפנים אחרים התבססו על רישום ההודעה בתבנית מלבנית, חלוקת המלבן וכתיבתו מחדש לפי מספר טורים, בדרך מוסכמת מראש על שני הצדדים, שימוש בסימנים במקום אותיות ועוד. החיסרון בכל הצפנים האלו הוא כי בכל שפה יש אותיות ומילים שמופיעות הרבה יותר מאחרות ובכלים פשוטים ניתן להתחיל ולהפעיל ניחושים ולהבין את כל ההודעה. שיטה מתקדמת יותר הייתה בחירת מילים מתוך ספר או טקסט מסוים שנמצא בידי שני הצדדים, כאשר כל מילה או אות מתוארת באמצעות מיקום בספר (עמוד, שורה וכו'). היתרון הוא שאפשר לקודד כל אות בהרבה דרכים ולהתגבר על הבעייה הקודמת. ככל שיכולות הפיענוח השתכללו, כך שופרו מנגנוי ההצפנה ואולי השיא של מנגנוני החלפת האותיות הוא מכונת ההצפנה הגרמנית, האניגמה, שהגיעה לידי שכלול כאשר כללה החלפות מרובות של אותיות ונחשבה בלתי ניתנת לפיענוח, ללא ספרי הצופן. סיפור האניגמה, והמאמצים הרבים שהושקעו בפיענוחה על ידי הבריטים זכו לסרטים ולספרים רבים (ספר מבוא בהיר ופשוט הוא סודות ההצפנה של סיימן סינג).
בימינו, ההצפנות מבוססות על אלגוריתמים מתימטיים המתבססים על מספרים ראשונים גדולים מאד. קל מאד להכפיל שני מספרים ראשונים שכל אחד מהם בין מאה או מאתיים ספרות, אבל קשה מאד וצריך הרבה זמן לקחת מספר גדול של 300 ספרות ולמצוא אילו שני מספרים ראשונים מרכיבים אותו. הבדל זה בקושי מאפשר הצפנה תוך שימוש במספר הראשוני ופיענוח רק אם יודעים את שני המספרים המרכיבים אותו. כול המסחר המודרני, והשימוש באינטרנט מבוסס על הצפנה זו. מאחר וכח המחשוב עולה, ואין שיטת הצפנה טובה יותר, הדרך היחידה להתגבר על יכולת הפיענוח של המחשבים החזקים היא החלפה תדירה של המפתחות ושימש במפתחות ארוכים יותר ויותר. מאחר וידועים גם מספרים ראשוניים עם 12 מיליון ספרות, מספר עם 100 ספרות נחשב ממש קטן. קבלו רשימה . המחשב שלי לא התקשה להכפיל את שני המספרים האחרונים, כל אחד באורך 200 ספרות ולקבל בפחות משנייה את המספר המפחיד הבא
518744426209940032637855475617557025917144423166552003315289664590377195318492322973520569323405172261908438289324128271333661507263696780286377802594407191964028205929036813787772836191301797195714485178441679052979708166856939088704968059856292276727594925491529584624281571173863337802530099467381783487449767530028549828461979120374978925688102474250733212104033943466362235813574599354670767441
תהליך הפוך למציאת שני המספרים הראשונים המרכיבים מספר זה, יקח זמן רב מאד
- כִּי יִצְפְּנֵנִי בְּסֻכֹּה בְּיוֹם רָעָה יַסְתִּירֵנִי בְּסֵתֶר אָהֳלוֹ בְּצוּר יְרוֹמְמֵנִי (תהילים כ"ז ה)
- הַדּוּדָאִים נָתְנוּ-רֵיחַ וְעַל-פְּתָחֵינוּ כָּל-מְגָדִים חֲדָשִׁים גַּם-יְשָׁנִים דּוֹדִי צָפַנְתִּי לָךְ (שיר השירים ז' יד)
- צֹפְנֶיהָ צָפַן-רוּחַ וְשֶׁמֶן יְמִינוֹ יִקְרָא (משלי כ"ז טז)
צפנים היו מקובלים כבר בעולם העתיק בתור דרך להעברת מסרים. הצפנים הראשונים היו פרימיטיבים ביותר והתבססו על החלפת אותיות. בתנ"ך, ניתן למצוא צופן פשוט מעין זה (ירמיהו נ"א א): "כֹּה אָמַר ה' הִנְנִי מֵעִיר עַל-בָּבֶל וְאֶל-יֹשְׁבֵי לֵב קָמָי רוּחַ מַשְׁחִית". לא מצאנו מקום בשם לב קמי אולם בצופן אתבש פשוט (א=ת ב=ש וכו') מתברר כי פירוש המילה הוא "כשדים". צופן אתבש מופיע שוב באותה נבואה בפסוק מא: "אֵיךְ נִלְכְּדָה שֵׁשַׁךְ וַתִּתָּפֵשׂ תְּהִלַּת כָּל-הָאָרֶץ אֵיךְ הָיְתָה לְשַׁמָּה בָּבֶל בַּגּוֹיִם" ששך=בבל. מאחר ובנבואה מופיעה בבל מפורשות וגם כשדים, השימוש בצופן הינו מסיבות ספרותיות גרידא ולא על מנת להסתיר את מושא הנבואה.
צופן אחר הוא פשוט שימוש בשפה אחרת. לפעמים ההורים מדברים אנגלית כאשר לא רוצים שהילדים יבינו (או יידיש, או כל שפה אחרת) וגם את זה אנו מוצאים בתנ"ך(מלכים ב' י"ח כו): "וַיֹּאמֶר אֶלְיָקִים בֶּן-חִלְקִיָּהוּ וְשֶׁבְנָה וְיוֹאָח אֶל-רַבְשָׁקֵה דַּבֶּר-נָא אֶל-עֲבָדֶיךָ אֲרָמִית כִּי שֹׁמְעִים אֲנָחְנוּ וְאַל-תְּדַבֵּר עִמָּנוּ יְהוּדִית בְּאָזְנֵי הָעָם אֲשֶׁר עַל-הַחֹמָה". את האיומים של רבקשה עדיף שלא כל העם יבין.
שיטת הצפנה נוספת שזכתה לפרסום רב בשנים האחרונות היא בדילוגי אותיות. מסרים מוחבאים בתוך טקסט בדילוג קבוע של אותיות. קיימים ספרים שלמים על מסרים רבים המוחבאים בתורה וכנגדם אותה כמות של מאמרים ומחקרים המראים שהכל בגדר ההסתברות הסטטיסטית.
צפנים אחרים התבססו על רישום ההודעה בתבנית מלבנית, חלוקת המלבן וכתיבתו מחדש לפי מספר טורים, בדרך מוסכמת מראש על שני הצדדים, שימוש בסימנים במקום אותיות ועוד. החיסרון בכל הצפנים האלו הוא כי בכל שפה יש אותיות ומילים שמופיעות הרבה יותר מאחרות ובכלים פשוטים ניתן להתחיל ולהפעיל ניחושים ולהבין את כל ההודעה. שיטה מתקדמת יותר הייתה בחירת מילים מתוך ספר או טקסט מסוים שנמצא בידי שני הצדדים, כאשר כל מילה או אות מתוארת באמצעות מיקום בספר (עמוד, שורה וכו'). היתרון הוא שאפשר לקודד כל אות בהרבה דרכים ולהתגבר על הבעייה הקודמת. ככל שיכולות הפיענוח השתכללו, כך שופרו מנגנוי ההצפנה ואולי השיא של מנגנוני החלפת האותיות הוא מכונת ההצפנה הגרמנית, האניגמה, שהגיעה לידי שכלול כאשר כללה החלפות מרובות של אותיות ונחשבה בלתי ניתנת לפיענוח, ללא ספרי הצופן. סיפור האניגמה, והמאמצים הרבים שהושקעו בפיענוחה על ידי הבריטים זכו לסרטים ולספרים רבים (ספר מבוא בהיר ופשוט הוא סודות ההצפנה של סיימן סינג).
בימינו, ההצפנות מבוססות על אלגוריתמים מתימטיים המתבססים על מספרים ראשונים גדולים מאד. קל מאד להכפיל שני מספרים ראשונים שכל אחד מהם בין מאה או מאתיים ספרות, אבל קשה מאד וצריך הרבה זמן לקחת מספר גדול של 300 ספרות ולמצוא אילו שני מספרים ראשונים מרכיבים אותו. הבדל זה בקושי מאפשר הצפנה תוך שימוש במספר הראשוני ופיענוח רק אם יודעים את שני המספרים המרכיבים אותו. כול המסחר המודרני, והשימוש באינטרנט מבוסס על הצפנה זו. מאחר וכח המחשוב עולה, ואין שיטת הצפנה טובה יותר, הדרך היחידה להתגבר על יכולת הפיענוח של המחשבים החזקים היא החלפה תדירה של המפתחות ושימש במפתחות ארוכים יותר ויותר. מאחר וידועים גם מספרים ראשוניים עם 12 מיליון ספרות, מספר עם 100 ספרות נחשב ממש קטן. קבלו רשימה . המחשב שלי לא התקשה להכפיל את שני המספרים האחרונים, כל אחד באורך 200 ספרות ולקבל בפחות משנייה את המספר המפחיד הבא
518744426209940032637855475617557025917144423166552003315289664590377195318492322973520569323405172261908438289324128271333661507263696780286377802594407191964028205929036813787772836191301797195714485178441679052979708166856939088704968059856292276727594925491529584624281571173863337802530099467381783487449767530028549828461979120374978925688102474250733212104033943466362235813574599354670767441
תהליך הפוך למציאת שני המספרים הראשונים המרכיבים מספר זה, יקח זמן רב מאד
אניגמה - מכונת הצופן הגרמנית |