Data Encryption Standard
מתוך ויקיפדיה, האנציקלופדיה החופשית
Data Encryption Standard (בראשי תיבות: DES) הוא תקן הצפנת נתונים.
זהו צופן בלוקים שפותח ב־1975 על־ידי IBM בשיתוף ה־NSA. התקבל בשנת 1976 כתקן האמריקאי להצפנת נתונים בעולם האזרחי, ושימש כתקן עד נובמבר 2001, אז הוחלף בתקן החדש Advanced Encryption Standard או AES, שהינו בטוח ומהיר מקודמו. למרות זאת, צופן DES עדיין נמצא בשימוש נרחב, בעיקר בתחום הבנקאות.
צופן DES הוא צופן סימטרי, להבדיל מצופן מפתח ציבורי, וככזה הוא מניח שבידי השולח והמפענח יש מפתח שאותו העבירו אחד לשני באופן מאובטח בשלב מוקדם יותר. DES משתייך לתת-המחלקה הקרויה "צופנים גושיים (Block Ciphers)" המצפינים גושי מידע הקרויים באורך מוגדר t, בעזרת מפתח סודי K. המפתח יכול שיהיה מופק מקוד סודי או סיסמה קצרה יותר, בעזרת פרוצדורת מפתח מוגדרת.
גודל המפתח של DES הוא 56 סיביות, ונחשב בימינו להצפנה חלשה ולא בטוחה, ולכן אינו מומלץ כלל לשימוש, אלא בווריאנט DES משולש שבו מצפינים את המידע באמצעות DES שוב ושוב שלוש פעמים. נוסף על אורך המפתח הקצר, התגלו בצופן מספר חולשות לאורך השנים כך שמתקפת חיפוש ממצה על הצופן היא ישימה (ובוצעה). ניתן היום לתקוף את הצופן בכמה דרכים מעט יותר יעילות.
שניים מהאנשים הבולטים בתקיפת הצופן היו אלי ביהם, כיום פרופסור בטכניון, והמנחה שלו לדוקטורט עדי שמיר, כיום פרופסור במכון ויצמן למדע, אשר פרסמו בשנת 1990 את עבודת הדוקטורט שלו שעסקה בקריפטואנליזה דיפרנציאלית של DES.
DES קשור בשני רעיונות כלליים: product cipher ו-feistel cipher כל אחד מהם מערב ביצוע רצף של סבבים בהם מתבצעת אותה פעולה. הרעיון מאחורי product cipher הוא בניית פונקציית הצפנה מורכבת על ידי הרכבת מספר פונקציות הצפנה פשוטות זו על גבי זו, אשר אינן מספקות רמה בטיחות ראויה לכשעצמן. פעולות בסיסיות כוללות למשל שיכול (סידור מחדש), XOR, הפעלת טרנספורמציה לינארית, ביצוע פעולות אריתמטיות, הכפלה מודולרית, והחלפה פשוטה. וכן רשת החלפה־תמורה שהיא צופן product המכיל מספר שלבים של החלפה, שיכול ופעולות XOR המעורבים זה בזה על קבוצת הערכים {0, 1, ..., 31}. DES עושה שימוש בכמה רשתות החלפה־תמורה סטטיות מסוג זה.
הרעיון של feistel cipher הוא מיפוי (טרנספורמציה) חוזר של 2t סיביות של טקסט קריא (Li,Ri), ל-2t סיביות גושי צופן מחלקים כל גוש לשנים, ימין R ושמאל L, כאשר R ו-L מחליפים מקומות מספר פעמים. במילים אחרות פעולת פונקציית ההצפנה מבוצעת על שני חלקי הגוש צד ימין וצד שמאל לסירוגין, כך שבכל סבב הפלט של צד ימין הופך לקלט של צד שמאל וחוזר חלילה. התוצאה היא סחרור המידע באופן שמקשה באופן משמעותי על השחזור ללא המפתח.
הצפנה גושית כמו DES מכילה מטבעה בעיה מהותית והיא: הצפנה חוזרת של גושים זהים עם מפתח K זהה תיתן אותה תוצאה, על כן ניתן להעזר במספר מועט של גושי צופן (שחלקם זהים) על מנת לבצע ניתוח סטטיסטי של הצופן (אם ידועה השפה) ולחלץ בדרך זו מידע על טקסט המקור. הפתרון לכך הוא הפעלת שיטת פעולה המבטלת או מטשטשת יתירות (Redundancy) מספר שיטות לטיפול זה מתוארות בערך צופן בלוקים.

