Data Encryption Standard

מבנה הצופן

DES הוא צופן בלוקים סימטרי איטרטיבי שיועד בעיקר לחומרה. הוא מקבל בלוק טקסט קריא שהוא מחרוזת של  64 סיביות (8 בתים) ומפיק בלוק מוצפן באורך זהה. הפונקציה הפנימית של הצופן מתבצעת בשש עשרה חזרות בעזרת מפתח סודי באורך 64 סיביות (שמתוכן רק 56 סיביות בשימוש). צופן DES היה לצופן הראשון בקנה מידה גדול שהתבסס על רשת החלפה-תמורה לפי הפרדיגמה של קלוד שאנון, שהיא שילוב של הפעולות החלפה, תמורה וחיבור עם מפתח סודי במבנה הנקרא רשת פייסטל. זהו מבנה קריפטוגרפי הקרוי על שמו של הורסט פייסטל, יושם לראשונה בצופן לוציפר וידוע כמבנה בטוח. יתרונו הוא שהוא הופך כל פונקציה לא בהכרח הפיכה, לפרמוטציה. הפונקציה הפנימית של הצופן נחשבת לאינוולוציה, במובן שאם מפעילים את אותה הפונקציה פעמיים בזה אחר זה על אותו קלט מתקבל הקלט המקורי. לכן אפשר להשתמש בפונקציה אחת הן להצפנה והן לפענוח מה שחוסך בשערים לוגיים ומקטין את נפח החומרה. באופן כללי, מחלקים את בלוק הקלט לשני חצאים, ימין ושמאל בהתאמה ובכל סבב מצפינים את החצי השמאלי עם תוצאת הפונקציה שמופעלת על החצי הימני יחד עם מפתח הסודי נפרד, שני החצאים מחליפים מקומות וחוזרים שוב על אותה פעולה. בכל סבב רק החצי השמאלי משתנה ואילו החצי הימני נותר ללא שינוי, כשהוא הופך לחצי השמאלי בסבב הבא וחוזר חלילה. בפענוח מפעילים את אותה הפונקציה אך משתמשים במפתח בסדר הפוך.

תיבת ההחלפה S-box

תיבת ההחלפה הנקראת S-box (קיצור של Substitution box ראה תרשים) מייצגת פונקציות החלפה אי-ליניאריות קבועות המחזירות ערכים מהטבלה על פי אינדקס שהוא פונקציה של הקלט. תיבות ההחלפה של DES הן מקור חוסנו, הפונקציות שהן מייצגות הן הפעולות האי-ליניאריות היחידות המופעלות על הקלט ואלמלא הן הצופן היה ניתן לפריצה בקלות. בדיעבד מסתבר כי התיבות עוצבו באופן כזה שהצופן יהיה עמיד יחסית כנגד קריפטואנליזה דיפרנציאלית. עוד ידוע כי גם ה-NSA היה מעורב בתכנון תיבת ההחלפה של DES ואף שינה אחדים מן הערכים מנימוק לא ידוע, ההערכה המקובלת כיום היא שהשינויים נועדו לחזק את הצופן כנגד ההתקפה הדיפרנציאלית שהייתה ידועה להם ולמפתחי הצופן ב-IBM כבר אז.

מצבי הפעלה

DES הוא דטרמיניסטי לכן הצפנה חוזרת של בלוקים זהים עם מפתח זהה תניב בלוק מוצפן זהה. עובדה זו עלולה להוות פתח להתקפה כנגד הצופן כי ניתן להיעזר בבלוקים זהים כדי לבצע ניתוח סטטיסטי של הצופן ולחלץ בדרך זו מידע מסוים אודות טקסט המקור. הפתרון לכך הוא יישום האלגוריתם באחד ממצבי ההפעלה המבטלים את יתירות הצופן. במצב ההפעלה משרשרים בלוקי צופן באופן שכל בלוק של טקסט המקור עובר תחילה XOR עם תוצאת ההצפנה של הבלוק הקודם. כך ששני בלוקים של טקסט מקור זהים יובילו לפלט צופן שונה. לצורך הבלוק הראשון משתמשים במפתח נוסף המכונה וקטור אתחול (Initialization Vector) או IV שגודלו כגודל הבלוק, אותו מחברים ב-XOR עם בלוק המידע הראשון.

ביטחון

הקריפטואנליזה הבולטת ביותר והראשונה נגד DES שסיבוכיותה טובה מעט יותר מכח גס, התגלתה על ידי אלי ביהם, כיום פרופסור בטכניון והמנחה שלו לדוקטורט עדי שמיר, כיום פרופסור במכון ויצמן למדע. הם פרסמו ב-1990 את עבודת הדוקטורט שלו שעסקה בקריפטואנליזה דיפרנציאלית - טכניקה רבת עוצמה שהתגלתה ככלי יעיל נגד אלגוריתמים סימטריים מודרניים רבים. אך קריפטואנליזה דיפרנציאלית מסוגלת לגלות מפתח הצפנה של DES עם  דגימות קלט-פלט נבחרות של האלגוריתם לפי מודל התקפת גלוי-נבחר שזה אינו מעשי. ההתקפה טובה יותר המוכרת כיום נגד DES נקראת קריפטואנליזה ליניארית שמציעה שיפור על פני קודמתה. מלבד יכולתה לגלות מפתח DES עם  קלטים, אין צורך עבורה בטקסט-מקור נבחר אלא כל טקסט אפשרי. התקפה זו נקראת התקפת גלוי-ידוע. התקפה אחרת מודרנית יותר היא התקפה אלגברית של ניקולס קורטויס וגרגורי בראד משנת 2007, שהיא תחום מתפתח בקריפטואנליזה מודרנית. זוהי התקפה קריפטוגרפית הפועלת רק עם טקסט מקור יחיד והיא מנצלת אלגוריתמים לפתרון בעיות SAT כדי לגלות חולשות אלגבריות בצופן. DES נופל בקטגוריה של צפנים סימטריים הנקראת HFE שמבוססת על הקושי שבפתרון משוואות ריבועיות מרובות נעלמים שידועה כבעיית NP-קשה. אמנם מבחינה מעשית כאשר מערכת המשוואות "דלילה" אפשר לפעמים לפתור בעיה זו ביעילות, אך בפועל התקפה זו מצליחה רק נגד ששה סבבים של הצופן אבל היא אינה מעשית נגד DES במלואו.
ההתקפה הדיפרנציאלית והליניארית דורשות כמות עצומה של טקסטים מוצפנים ומקורותיהם (בסדר גודל של מאות טרה-בייט) על מנת למצוא את מפתח ההצפנה ולכן אינן מהוות איום ממשי על האלגוריתם. עובדה זו מעידה על חוסנו ועל טיבו של האלגוריתם יותר מאשר על חולשתו. למרות כל השנים טרם נמצאה התקפה היעילה באופן משמעותי מכח גס. מסתבר שההתקפה המעשית היחידה נגד DES היא התקפת כוח גס מקבילית באמצעות חומרה ייעודית. ב-1993 טען מיכאל ויינר שאפשר לבנות בהשקעה של כמיליון דולר מכונה שתפצח את DES בתוך 3.5 שעות במקרה הממוצע. לפי התכנון המקורי שלו המכונה צריכה להכיל כ-57,000 שבבים המסוגלים להריץ את DES במקביל. מאוחר יותר נבנתה מכונה כזו הלכה למעשה ובעלות נמוכה בהרבה. הארגון Electronic Frontier Foundation בנה מכונה לשבירת צופן DES בעלות של 250,000 דולר שבאמצעותה גילוי המפתח מתבצע בתוך יומיים וחצי בקירוב. כיום ניתן בהחלט לבנות מכונות מסוג דומה במחירים נמוכים בהרבה ובזמנים טובים יותר במידה ניכרת.
התקפה אחרת כנגד DES הנקראת התקפת יום הולדת היא התקפה אקראית מקבילית היעילה אף יותר מההתקפות המתוארות. התקפה זו מנצלת את תופעת פרדוקס יום ההולדת הידועה ומתבססת על ההנחה שהסיכויים ששני מפתחות שונים שנבחרו באקראי יניבו תוצאה זהה (עם טקסט מקור קבוע), גבוהים. Quisquater ו-Delescaille הראו שאפשר בהתקפה כזו לגלות מפתח DES ב- ניסיונות במקרה הממוצע.

DESL ו-DESXL

DES נחשב לצופן מהיר בחומרה (כוונת המפתחים מלכתחילה הייתה לייעדו לחומרה) והוא מציג ביצועים טובים מאוד בחומרה אפילו בהשוואה לצפנים מודרניים. כאמור אם דרוש ביטחון גבוה יותר ממה שהצופן המקורי מציע, אפשר להשתמש בגרסת DES-X של ריבסט המתוארת לעיל עם שני מפתחות הצפנה סודיים נוספים. התקורה הנוספת הנובעת מהוספת שערי XOR של שני המפתחות הנוספים היא כ-14 אחוז. התוספת הזו מחזקת את הצופן נגד כוח גס והתקפת איזון זמן/זיכרון שהיא אפקטיבית נגד הגרסה המקורית. גם התקפות אחרות אינן ישימות נגד מבנה זה בשל תוספת המפתחות ולכן הוא נחשב בטוח מאוד, במיוחד לאור העובדה שזהו הצופן הוותיק והנחקר ביותר בהיסטוריה של ההצפנה. ידוע ש-DES מכיל תכונות אקראיות טובות והוא חזק באופן יוצא דופן נגד קריפטואנליזה דיפרנציאלית וליניארית. כאשר נדרש צופן קל משקל במיוחד, אפשר להתאים את DES-X על שימוש בתיבת החלפה אחת במקום בשמונה הקיימות ובכך מפחיתים באופן משמעותי את כמות השערים. לגרסה זו קוראים DESL (קיצור של DES Lightweight). היא הוצעה ב-2006 על ידי Gregor Leander, Christof Paar, Axel Poschmann, and Kai Schramm. ניתן לממשה בחומרה עם 1848 GE (תואמי שערים לוגיים), זאת מבלי לאבד מהתכונות הטובות של הצופן המקורי למעט החיסרון הברור של המפתח הקצר. אם משלבים את DES-X עם DESL (מוסיפים עוד שני מפתחות) מתקבל הצופן DESXL שהוא גם בטוח וגם מהיר מאוד במיוחד בחומרה מוגבלת משאבים וצריכת אנרגיה נמוכה כמו חיישנים לבישים או RFID. השינויים בצופן כמובן עלולים שלא במודע לפתוח פתח להתקפות קריפטוגרפיות חדשות, לכן הצופן אינו מומלץ כתחליף ל-AES אלא רק במקרים בהם מעדיפים להתפשר על ביטחון לצורך יעילות וקלות הטמעה במערכת מוגבלת. הרעיון הוא שבמקום לפתח צופן חדש אפשר לשנות מעט את הצופן הקיים ולקבל צופן טוב במחיר מועט.