הסימון המקוצר של השיטה הוא EDE, כלומר הצפנה/פענוח/הצפנה והיא עמידה קצת יותר כנגד התקפת נפגש באמצע של מרקל והלמן. הבחירה במבנה הייחודי הזה לא מניבה ביטחון משולש (כיוון ששניים מהמפתחות זהים). אך המבנה אומץ על ידי IBM בעיקר בשל שיקולי תאימות וכן אומץ על ידי תקן איזו ISO 8732. הסיבה היא שבדרך זו אפשר להשתמש באותה חומרה לביצוע הצפנה בשיטה הרגילה או המשולשת. כיוון שאם קובעים formula_51 מתקבלת הצפנה יחידה, אילו היו בוחרים בשלוש הצפנות עוקבות (EEE) התוצאה לא הייתה כזו. אך יש לזכור שהצפנת DES משולש איטית פי שלושה בהשוואה להצפנה בודדת עם מפתח אחד ואף פי כמה יותר בהשוואה לאלגוריתמים מודרניים כמו AES.
מרקל והלמן פיתחו התקפת גלוי-נבחר עם formula_7 ניסיונות בקרוב ובאותה סיבוכיות מקום כנגד הצפנה משולשת EDE, אולם הדרישה של formula_7 מקורות ידועים בסגנון התקפת גלוי-ידוע לא מעשית. התקפת נפגש באמצע שוכללה על ידי רבים, ביניהם הגרסה של פול ואן אורשוט ומיכאל ויינר, שעושה שימוש בטכניקה של חיפוש התנגשויות מקבילי לצמצום משמעותי של צריכת הזיכרון ובעקרון פרדוקס יום הולדת. בהתקפה זו במחיר של formula_54 טקסטים ידועים כאשר formula_55 אפשר לפרוץ את מבנה EDE בתוך formula_56, במקרה של DES פירושו formula_57. אם formula_58 התקפה זו יעילה מכוח גס ובסיבוכיות מקום בסדר גודל של formula_59 שהיא נמוכה בהרבה מ-formula_3. המשמעות היא שבגרסת EDE מתקבל ביטחון של שתי הצפנות בקירוב במחיר של שלוש.
קיימים מספר דרכים ליישם סכמת הצפנה משולשת, במצבי הפעלה שונים. למשל, במצב CBC-פנימי מצפינים בלוק אחד עם וקטור אתחול (IV) אחד, הפלט משמש קלט לשלב הבא בו מפענחים עם וקטור אתחול שני ושוב הפלט משמש כקלט להצפנה האחרונה עם וקטור אתחול שלישי וחוזר חלילה. בגרסה אחרת משתמשים עם וקטור אתחול אחד במצב שנקרא CBC-חיצוני. כלומר משתמשים עם וקטור אתחול אחד בלבד ומצפינים את כל הבלוקים בשיטה המשולשת, שלוש פעמים רצוף. ההבדלים באים לידי ביטוי ביישום בחומרה, כאשר הראשון יעיל יותר.
אם מצפינים עם שלושה מפתחות שונים, התקפת כוח גס הטובה ביותר היא מסדר גודל formula_5 בקירוב ובסיבוכיות מקום של formula_7, שזה מה שמצפים באופן נאיבי מהצפנה כפולה. אך יש לזכור שאמנם התקפת נפגש באמצע אינה יעילה במקרה זה, קיימות התקפות אחרות טובות יותר, כמו התקפה דיפרנציאלית של שמיר וביהם. ביהם הראה שנגד התקפה זו הווריאציות המנויות לא יותר בטוחות מהצפנה בודדת. כנגד איום התקפה דיפרנציאלית פותחו וריאציות אחרות של הצפנה משולשת המנצלות טכניקה של הגדלה מלאכותית של גודל הבלוק על ידי ריפוד המידע במחרוזת אקראית כלשהי, הריפוד לא רק משבש את הקשר בין ההצפנות אלא גם גורם לחפיפה של בלוקים כמו לבנים. או לחלופין אפשר לבצע הלבנה ב-XOR עם מחרוזת פסאודו-אקראית בטוחה ושילוב פרמוטציה ללא מפתח כלשהי. גרסה אחת המשלבת את הרעיונות המנויים נחשבת כעמידה כנגד התקפה דיפרנציאלית. היא כוללת (1) מעבר הלבנה formula_63 עם תוצאת מחולל אקראי קריפטוגרפי להסתרת טקסט-המקור. (2) שימוש כפול בפרמוטציה formula_64 ללא מפתח. ו(3) הצפנה אמצעית מרובה, המסומנת formula_65 - דהיינו הצפנה מחזורית באמצעות אחד מתוך סדרה של הצפנות. הסכמה נראית כך:
אמנם לא ידוע על התקפה מעשית כנגד המבנה הזה. על כל פנים, מומחי הצפנה ממליצים להזהר בשימוש בהצפנה מרובה. ברוב המקרים המחיר עולה על התועלת. ובנוסף יש הטוענים שככל שההצפנה מורכבת ומסובכת יותר 'שטח הפנים של ההצפנה גדל' דהיינו מספקים יותר 'חומר' להתקפה וכן מגבירים את הסיכויים לטעויות וחולשות נסתרות.
קסקדת הצפנה.
המונח קסקדה או אשד מתייחס להצפנה עם מספר אלגוריתמים שונים ועם מפתחות הצפנה שונים. הרעיון הגיוני במקרים מסוימים כמו בסיטואציה שבה שני גורמים או ישויות ברשת מעוניינים לשתף ביניהם מידע סודי וכל אחד מהם סומך רק על אלגוריתם ההצפנה שבאמתחתו ואינו סומך על האלגוריתם השני, כי הוא חושש שתמצא דרך קלה לשבירתו בעתיד הקרוב. כדי שהם יוכלו להתקשר בבטחה, טבעי הדבר לחפש דרך שבה יוכלו לשלב את ביטחון שניהם, כך שאם תתגלה התקפה מעשית טובה כנגד אחד מהם, ביטחון המידע יישען על האלגוריתם השני ולהפך. בהנחה שלא סביר שימצאו בו זמנית דרכים קלות לשבירת כל האלגוריתמים המשתתפים בקסקדה.
במאמר משנת 1993 מצביע יואלי מאורר על חשיבות הצופן הראשון ברצף. למעט פנקס חד-פעמי כל צופן ניתן לשבירה, עובדה זו משליכה כי בהכרח קיימים מאפיינים מסוימים בטקסט המוצפן שייחודיים להצפנה ספציפית. בהצפנה מרובה, מאפיינים אילו עלולים לזלוג מהטקסט המוצפן הראשון לבאים אחריו ובכך להחלישם. או אם קיימת אינטראקציה קלה בין האלגוריתמים כגון במקרים בהם הצופן הראשון מוסיף מחרוזת טקסט קבועה כלשהי לתוצאת ההצפנה. פעולה נפוצה ביישומים מעשיים ונקראת מספר קסם, אזי הצופן השני יהיה פגיע להתקפת גלוי-ידוע. כעת אם האלגוריתם הראשון חלש, משמעות הדבר שנוסף בידי התוקף מידע שמאפשר לפרוץ את הבא אחריו וכן הלאה. כלומר הוכח שהתוצאה הכוללת לא תהיה חזקה יותר מהאלגוריתם הראשון. המסקנה היא שהטענה שהצפנה מרובה תהיה חזקה לפחות כמרכיב החזק ברצף עשויה להיות שגויה.
מאורר הוכיח שקסקדה של אלגוריתמים עם מפתחות שונים ובלתי תלויים זה בזה סטטיסטית, חזקה לפחות כמו האלגוריתם הראשון - בתנאי שהאלגוריתמים המשתתפים בקסקדה קומוטטיביים ביחס זה לזה (כמו בצופני זרם אחדים). כמו כן הוכיח שאפשר להגיע למבנה בטוח של סכמת הצפנה מרובה שבה הביטחון הכולל הוא לפחות כמו האלגוריתם החזק מביניהם. מכאן שבמצב הפעלה OFB שמדמה תכונות צופן זרם אפשר לבנות הצפנה מרובה ממספר אלגוריתמים באופן שיניב ביטחון לפחות כמו החזק מביניהם. למשל על ידי שילוב פנקס חד-פעמי ב-XOR.
ביטחון מערכת הצפנה מרובה תלוי גם בהנחה שכל מפתחות ההצפנה נותרים סודיים. ייתכן שצריך מודל מחמיר יותר, כי צריך לענות על השאלה האם המערכת נותרת חזקה לפחות כהצפנה יחידה, במקרה שאחד המפתחות נחשף. הגדרה זו של התקפת מוצפן נבחר מסומנת ME-CCA, בה נוסף מרכיב שנקרא 'אורקל חשיפת מפתח'. דהיינו לפי המודל יוצאים מהנחה שהתוקף מוסגל לפנות לאורקל היפותטי ולבקש חשיפת מפתח כלשהו (אבל לא את כולם) והשאלה היא כמה יקל בידו הדבר לפרוץ את המערכת כולה.
פרויקט NESSIE פרסם בשנת 2003 המלצות לאלגוריתמים אסימטריים ובין היתר המליץ להגברת הביטחון, להשתמש בהצפנה מרובה עם אלגוריתמים שונים המבוססים על בעיות שונות מתורת המספרים. למשל הצפנה עם RSA וגרסה כלשהי של דיפי-הלמן כמו ECC.
במאמר משנת 1984 הוכיחו שמעון אבן ועודד גולדרייך שחוזק קסקדה עוקבת (דהיינו פלט הצפנה א' משמש קלט להצפנה ב' וכו') כנגד התקפת גלוי-ידוע שווה לסכום גודל המפתחות, עבור formula_67 הצפנות כל אחד עם מפתח בגודל formula_68 החוזק הכולל יהיה formula_69. הם מסכמים כי קסקדה של צופנים אקראיים אינה מהווה צופן אקראי, למרות זאת הקושי שבשבירת סכמה כזו אינו נופל מהקושי שבשבירת אחת מההצפנות. כמו כן הבעיה של הצבת חסם תחתון לשבירת קסקדה ארוכה היא בעיה קשה, קיומו של חסם כזה מצביע על כך ש-formula_70.
דוגמאות.
קיימות כמה דרכים בטוחות לשילוב בין אלגוריתמים (גם סימטריים וגם א-סימטריים), תוך התחשבות באיומים המתוארים. הרעיון הוא לערבב את המסר לפני ההצפנה עם פנקס חד-פעמי אחד או יותר באמצעות XOR ולהצפין גם את הפנקסים החד-פעמיים שהופכים להיות חלק מהטקסט המוצפן. המחיר הוא שהטקסט המוצפן 'מתנפח' בפקטור של שנים או יותר תלוי בשיטה. כמו כן ההנחה היא שמחולל המספרים האקראיים בטוח לשימוש מבחינה קריפטוגרפית, אפשר להרחיב את השיטה למספר גדול יותר של אלגוריתמים. להלן סכמת הצפנה מרובה מקבילית עם פנקס חד-פעמי:
גרסה מקבילית נוספת של אסמוט ובלקלי משנת 1981 שניתן להרחיבה גם להצפנות נוספות וכן לאלגוריתמים שונים (גם א-סימטריים) עושה שימוש בשני פנקסים חד-פעמיים והיא כדלהלן (ראה תרשים):
שים לב להתרחבות הצופן פי שלושה במקרה של הצפנה כפולה.
מבנה גנרי של הצפנה מרובה בשילוב סכמת חלוקת סוד.
שיטה נוספת להצפנה מרובה שהוכחה כבטוחה כנגד התקפת מוצפן-נבחר לאלגוריתמים א-סימטריים בשילוב סכמת חלוקת סוד. בהנחה שהאלגוריתמים המשתתפים עמידים בפני התקפת גלוי-נבחר (רוב האלגוריתמים המעשיים עונים להגדרה זו), היא כדלהלן, כאשר formula_88 ו-formula_89 הן פונקציות פסאודו-ראנדומליות בטוחות (בקיצור PRF):
טרנספורמציית הכול או לא כלום.
טרנספורמציית AONT (הכול או לא כלום) ניתנת לביצוע בכמה דרכים. דרך אחת של רונלד ריבסט כדלהלן: עבור formula_111 בלוקים formula_112 בוחרים מפתח אקראי כלשהו formula_22, תחילה מחשבים את formula_114 עבור formula_115, מחשבים את formula_116 עבור formula_115 ואז formula_118. הפונקציה formula_119 היא אלגוריתם הצפנה כלשהו, המפתחות formula_120 אינם סודיים כשהמפתח formula_121 קבוע.
לשחזור מחשבים את formula_122 ואז formula_123.
רמי בן אפרים
רמי בן אפרים הוא קצין צה"ל במילואים בדרגת תת-אלוף, כיהן כראש להק כוח האדם, נספח צה"ל בסינגפור ומפקד בסיס רמת דוד במלחמת לבנון השנייה.