איסור השתחוויה על אֶבֶן מַשְׂכִּית הוא מצוות לא תעשה מתוך תרי"ג מצוות, לפיה אסור להשתחוות על אבן, ואפילו לעבודת ה'. המונח "אבן משכית" מתייחס גם לבסיס אבן המונח לפני פסלים לצורכי השתחוויה.
מקור המצווה.
"לֹא-תַעֲשׂוּ לָכֶם אֱלִילִם, וּפֶסֶל וּמַצֵּבָה לֹא-תָקִימוּ לָכֶם, וְאֶבֶן מַשְׂכִּית לֹא תִתְּנוּ בְּאַרְצְכֶם, לְהִשְׁתַּחֲו‍ֹת עָלֶיהָ: כִּי אֲנִי ה', אֱלֹהֵיכֶם."
דיני המצווה.
ביהדות אסור להשתחוות על אבן משכית ב"פישוט ידיים ורגליים" (מצב שבו כל הגוף אופקי) אפילו לעבודת ה', חוץ מבבית המקדש. מדרבנן אסורה גם השתחוויה ללא פישוט ידיים ורגליים. בעת השתחוויה מלאה בבית כנסת בעל רצפת אבן (כמו שנעשה בראש השנה וביום כיפור), מכסים את הרצפה כדי שלא תהיה השתחוות על האבן.
טעמי המצווה.
הנימוק שמביא הרמב"ם למצווה זו היא שמכיוון שהאבן משכית הייתה אמצעי לעבודת אלילים, הוא נאסר גם לעבודת ה'. הרש"ר הירש מביא הסבר אחר: ביהדות ההתמסרות לה' אינה לפי ראות העיניים, אלא על פי הוראות התורה. מוקד התורה היא מרכז בית המקדש, שכן היא נמצאת בתוך ארון הברית המונח בבית קודש הקודשים. השתחוויה מבטאת התמסרות מלאה לה' ועל כן המקום היחיד המותר בכך באופן מסודר הוא בית המקדש. מחוץ לבית המקדש מותר אמנם ביהדות להשתחוות לה', אך לא על מקום מיוחד, אבן המשכית, אלא על הארץ, המקיפה את בית המקדש. בכך נשמר המעמד של בית המקדש כמרכז התורה העולמי.
צופן סימטרי
בקריפטוגרפיה, הצפנה סימטרית (symmetric encryption) או צופן סימטרי הוא אלגוריתם הצפנה שבו משתמשים במפתח הצפנה יחיד הן להצפנה של הטקסט הקריא והן לפענוח של הטקסט המוצפן. בפועל המפתח הוא בדרך כלל סוד משותף לשנים או יותר משתתפים ובדרך כלל מתאים לכמות מוגבלת של נתונים. הסיבה שהצופן נקרא סימטרי היא כי נדרש ידע שווה של חומר סודי (מפתח) משני הצדדים.
צופן סימטרי מקבל טקסט קריא ומפתח הצפנה ובעזרתו ממיר את הטקסט הקריא לטקסט מוצפן שאינו מובן לאיש ואותו הוא שולח ליעדו. בצד המקבל אלגוריתם הפענוח מבצע את הפעולה ההפוכה, הוא מקבל את הטקסט המוצפן ואותו מפתח הצפנה שבו השתמש השולח ומשחזר את הטקסט המקורי. כדי שהפענוח יצליח המפענח חייב להחזיק במפתח פענוח מתאים שמאפשר את הפיכת פעולת ההצפנה. לאור זאת על השולח להעביר את מפתח ההצפנה לידיעת המקבל בערוץ בטוח כלשהו כמו במפגש אישי, על ידי שליח מהימן או באמצעות פרוטוקול שיתוף מפתח קריפטוגרפי. מציאת ערוץ בטוח להעברת המפתח היא בעיה בפני עצמה שנדונה רבות והיא נקראת בעיית הפצת מפתחות.
הדרישה שיהיה מפתח אחד משותף לשולח והמקבל היא התכונה העיקרית המבדילה בין הצפנה סימטרית להצפנה אסימטרית שבה מפתח הפענוח שונה ממפתח ההצפנה. שמות אחרים להצפנה סימטרית הם הצפנת מפתח-יחיד (single-key), הצפנת מפתח פרטי (private-key) או הצפנת מפתח סודי (secret key).
דוגמה.
אפשר להמחיש הצפנה סימטרית על ידי צופן ההחלפה הבא: יהי formula_1האלפבית העברי הכולל 22 אותיות (לא כולל סופיות) "אבגדהוזחטיכלמנסעפצקרשת". אם נבחר מפתח formula_2 שהוא פרמוטציה כלשהי באורך חמש אותיות מעל formula_1, הצפנה תתבצע על ידי חלוקת המסר המיועד להצפנה לקבוצות של חמש אותיות והפעלת התמורה formula_2 על כל קבוצה באופן מחזורי. כדי לפענח מחשבים את התמורה ההופכית formula_5 ומפענחים באותו סדר. אם למשל formula_6, דהיינו האות הראשונה בכל חמישייה מוחלפת באות השלישית הבאה אחריה בסדר האלפביתי, האות השנייה מוחלפת באות הרביעית הבאה אחריה, האות השלישית מוחלפת באות הראשונה הבאה אחריה וכן הלאה. אפשר להציג את המפתח formula_2 כטבלת תמורה עם חמישה היסטים שונים, בשורה הראשונה האלפבית formula_1 ובשורות הבאות ה'היסטים' של האלפבית במרחק שנקבע לפי המפתח, כדלהלן:
אם המשפט אותו רוצים להצפין הוא "צופן זה לא בטוח כלל", תחילה מחלקים אותו לקבוצות של חמש אותיות (לצורך הפשטות נתעלם מרווחים) ומתקבל "צופנז הלאבט וחכלל" ואז מצפינים אות אות, 'צ' מוחלפת לפי היסט 3 באות 'ש' בשורה השנייה בטבלה, 'ו' מוחלפת לפי היסט 4 באות 'י' בשורה השלישית וכן הלאה. לאחר הצפנת חמש אותיות חוזרים לתחילת המפתח ומצפינים את חמש האותיות הבאות עד לסיום המשפט. לאחר הצפנה התוצאה תהיה "שיצעל חעבדנ טללנפ". לפענוח מפעילים את התמורה ההפוכה לפי הסדר של המפתח, למשל כדי להחליף את האות 'ש' מתחילים בשורה השנייה בטבלה ומאתרים את האות המקבילה אליה בשורה הראשונה, את האות 'י' מחליפים לפי מיקומה בשורה השלישית וכך מתקדמים עד לפענוח כל המשפט.
הצופן המתואר הוא להמחשה בלבד ואינו ראוי לשימוש כיום מלבד לשעשוע. הסיבות לכך הן, מספר ההיסטים או המפתחות האפשריים מוגבל מאוד במונחים של ימינו ומלבד זאת בצופן מסוג זה התכונות הסטטיסטיות של הטקסט המקורי 'זולגות' לטקסט המוצפן מה שמאפשר ניתוח תדירויות. למעשה השיטה מתוארת היא שיטה עתיקת יומין הקרויה צופן ויז'נר, על כל פנים היא מדגימה היטב את סימטריות הצופן, אפשר לראות שהמפתח חייב להיות סודי וחייב להיות ידוע לשני הצדדים השולח והמקבל במידה שווה. למקבל די בידיעת מפתח ההצפנה כדי לפענח את הטקסט המוצפן בקלות.
היסטוריה.
צופן סימטרי קיים בקריפטוגרפיה מראשית ימיה. הצפנים הקלאסיים מוגדרים כצפנים סימטריים. לדוגמה: צופן החלפה, צופן קיסר, צופן ויז'נר, צופן היל ופנקס חד-פעמי, הם צפנים סימטריים כאשר formula_9, כלומר ההצפנה והפענוח נעשים באמצעות אותו מפתח לעיתים באותה טרנספורמציה או בטרנספורמציה הופכית. אלגוריתם DES הוא דוגמה לצופן הסימטרי המודרני הראשון שפותח. הפונקציה ליצירת מפתח הפענוח מכינה את בתי המפתח בסדר הפוך. ההצפנה נקראת סימטרית, מאחר שכל שנדרש הוא ידיעת המפתח הסודי. כאשר המפתח הסודי ידוע, תהליך הפקת מפתח הפענוח הוא פונקציה פשוטה.
דוגמאות לצופנים סימטריים מודרניים נוספים: Twofish, MARS, סרפנט, AES, Blowfish, CAST5, RC4, RC6, DES וכן IDEA.
הגדרות ומוסכמות.
בהצפנה נהוג בדרך כלל לכנות את הצדדים המשתתפים בהתקשרות מוצפנת אליס ובוב, המתקיפה או הקריפטאנליסטית היא איב (eavesdropper) שמעוניינת לחשוף את המידע המוצפן שעובר בין אליס ובוב. תחילה אליס ובוב מסכימים ביניהם על אלגוריתם הצפנה. באופן פורמלי אלגוריתם ההצפנה מורכב משלושה אלגוריתמים:
אלגוריתם ההצפנה מוגדר בשלמותו על ידי השלישייה: formula_25. לצורך ההצפנה מתייחסים לקלט האלגוריתם כאל מחרוזת סיביות המייצגת אלמנט מתוך מרחב כל המסרים האפשריים formula_15, לכן צריכה להיות דרך קלה ומוסכמת שאינה סודית, להמרת המסר המיועד להצפנה לאלמנט המתאים לאלגוריתם ובחזרה, אם הטקסט הגלוי הוא מחרוזת תווים בקידוד אסקי אפשר להתייחס לכל תו כאל מחרוזת בינארית באורך שמונה סיביות או לצרף יחדיו כמה מחרוזות למחרוזת ארוכה יותר ולהתייחס אליה כאל מספר שלם. התפלגות הטקסט הגלוי אינה בהכרח אחידה, אם למשל הוא מכיל מלל בשפה האנגלית למתקיף יכול להיות מושג כלשהו לגבי ההסתברות שיופיע טקסט כלשהו לעומת טקסט אחר. האלגוריתם formula_13 מצפין את formula_28 ומחזיר את טקסט המוצפן formula_29 שהוא אלמנט השייך למרחב הטקסטים המוצפנים formula_30, אפשר לראות בהצפנה כפונקציה מהצורה:
כאשר התחום formula_32 מורכב מזוג ערכים formula_33 והטווח הוא formula_30. פונקציית ההצפנה מקבלת את formula_11 ואת formula_14 ומחזירה את formula_17. באופן דומה הפענוח הוא פונקציה מהצורה:
כלומר פונקציית הפענוח מקבלת את formula_17 ואת formula_11 ומחזירה את formula_14. ברור שלמען התקינות פונקציית ההצפנה חייבת להיות פונקציה הפיכה באופן שהמפענח יוכל לשחזר את הטקסט המקורי שלפני ההצפנה. אחרת לא תהיה בה כל תועלת. בהצגה מתמטית:
בדרך כלל מקובל אם כי זה לא חובה, למניעת התנפחות לא רצויה מרחב הטקסט המוצפן צריך להיות זהה למרחב הטקסט הגלוי שאז ההצפנה היא תמורה מהמרחב לעצמו, בניסוח מתמטי formula_45. במילים אחרות רצוי שהטקסט המוצפן המתקבל יהיה זהה באורכו לטקסט המקורי.
מזה נובע שעבור כל מפתח formula_11 הפונקציה formula_47 חייבת להיות פונקציה חד-חד-ערכית. כי אם לא עלול להיווצר מצב ש:
כאשר formula_49. פירושו שההצפנה תהיה חסרת תועלת אם המפענח יקבל טקסט קריא אחר מזה שהוצפן.
קידוד.
למען הנוחות, מפתח ההצפנה, הטקסט הגלוי והטקסט המוצפן מומרים באמצעות שיטת קידוד מוסכמת ליחידות מידע בסיסיות. בדרך כלל נוח להתייחס אל המידע כאל מספרים, אחרי הכול ההצפנה מבוצעת על מחשב (בדרך כלל). בניגוד להצפנה שיטת קידוד היא דרך להמרת מידע כלשהו מפורמט אחד לאחר באופן גלוי ומוסכם ובאופן שיהיה קל לביצוע על ידי כל אחד. כל הצפנה חייבת להשתמש בשיטת קידוד כלשהי כאשר השיטה הבסיסית ביותר היא השיטה הבינארית. שיטת ההצפנה יכולה להצפין את המידע סיבית אחר סיבית או אם נבחרה שיטת קידוד אחרת (כמו בתים או מילים) יחידת מידע זו אחר זו, בדרך זו השולח מצפין ומעביר באמצעות ערוץ התקשורת יחידות מידע מוצפנות בזו אחר זו ללא תלות אחת בשנייה ומבלי לדעת מה אורך המידע המיועד להצפנה. לעיתים כאשר קיימת כמות גדולה של מידע ואורכו ידוע מראש כמו קובץ במחשב, נוח לחלקו לבלוקים באורך קבוע בהם מטפלים בזה אחר זה. היתרון בשיטה זו שאפשר להתייחס לבלוק בודד formula_14 כאל מספר שלם בטווח formula_51. בדרך זו סיביות הבלוק הן ספרות בבסיס בינארי של מספר שלם כלשהו לפי הכלל:
במקרה זה יש להבחין בין סדר בתים גדול לסדר בתים קטן. בסדר בתים גדול יש להפוך את הסדר כך שהספרות המשמעותיות יהיו בהתחלה.
ובאופן דומה מרחב המפתח ומרחב טקסט המוצפן מזוהים עם מספרים שלמים בטווח המתאים.
ביטחון.