אופן ההפעלה Output Feedback (משוב פלט) מדמה צופן זרם והוא שמיש במקרים בהם יש צורך להצפין זרם מידע באורך לא ידוע וכן יש צורך להימנע מכשל מצטבר. אופן זה דומה ל-CFB ומאפשר הצפנת בלוקים בכל גודל רצוי, אולם שונה בכך שפלט פונקציית ההצפנה עצמה משמש להזנה חוזרת, בשונה מהאופן הקודם שבו חלק מהטקסט המוצפן (לאחר XOR) משמש להזנה. תיאור האופן לפי תקן ISO 10116 של ארגון התקינה הבינלאומי:
גרסה נוספת של OFB לפי תקן FIPS 81:
גרסה זו זהה לאופן הפעלה OFB המתואר למעט השורה האחרונה המוחלפת ב:
אופן הפעלה זה מאפשר הזזה של סיביות ההזנה ימינה לסוף אוגר ההזזה כך שרק formula_41 סיביות משמשות להזזה. כאשר formula_87 ראה להלן ביטחון האופן הזה נמוך מהמצופה.
תכונות OFB :
אופן CTR.
אופן מונה (Counter mode) בדומה לאופן OFB משנה את התנהגות צופן הבלוקים לצופן זרם על ידי ייצור זרם מפתח מתוך המונה. בניגוד לאופן OFB במצב זה מצפינים את המונה פעם אחר פעם, כאשר בכל שלב המונה משתנה ותוצאת כל הצפנה מהווה חלק מזרם המפתח איתו מצפינים את הבלוק הבא של המידע בחיבור XOR. בדרך זו אין מגבלה על גודל הבלוק וכן שינוי המונה formula_94 יכול להתבצע בכל דרך נוחה כפונקציה כלשהי של המונה הקודם והוא אינו חייב להיות סודי, למשל: formula_95 כמתואר בתרשים. לדוגמה:
עבור כל בלוק formula_44 של המסר formula_10 כאשר formula_25 ו-formula_99 הוא מונה המכיל ערך התחלתי כלשהו בדרך כלל וקטור אתחול הנקרא Nonce בהקשר זה. עם הפונקציה Increment שאחראית לעדכונו, בצע:
פענוח דומה. שימו לב שמשתמשים בפונקציית ההצפנה בלבד כמו בצופן זרם, תחילה טוענים את הערך ההתחלתי של המונה formula_99 ואז:
הפונקציה Increment יכולה להיות קידום המונה באחד או כל פונקציה אחרת, כל עוד מובטח שהמספר לא יחזור על עצמו בהצפנה של מסר נתון.
יתרונות.
החיסרון של אופן המונה המתואר הוא ששינוי סיבית אחת של הצופן משפיע רק על הסיבית המקבילה בטקסט המקור. בתנאים מסוימים הדבר מאפשר התקפת הבחנה שבה התוקף מבצע Bit flipping (הפיכת סיביות) כדי להשיג מידע על הטקסט המוצפן, לכן המתכונת המתוארת אינה מוכחת בטוחה לפי מודל התקפת מוצפן-נבחר המחמיר יותר. אפשר לפתור את הבעיה על ידי הוספת קוד אימות מסרים.
אפשר לראות ששלושת האופנים האחרונים מיישמים הצפנת בלוקים באופן הדומה לצופן זרם, בכך שהם מייצרים זרם מפתח ייחודי באורך הטקסט הגלוי, התלוי בפרמטרים אחרים כגון בלוקי צופן קודמים או המפתח עצמו ובעזרת וקטור אתחול. בעיקרון אפשר בדרך זו, להתייחס לכל צופן בלוקים כאל צופן זרם.
אופן IGE.
אופן הפעלה Infinite Garble Extension (הרחבת עיוות אין-סופית) בקיצור IGE הוא אופן הפעלה של צופן בלוקים סימטרי המשרשר את הבלוקים להצפנה כמתואר בתרשים משמאל, באופן הבא:
כאשר formula_106 הוא הצפנה של בלוק אחד עם המפתח formula_107. במילים, הרעיון הוא לחבר את הבלוק הנוכחי לפני הצפנתו ב-XOR עם הבלוק המוצפן הקודם, להצפינו ולחבר את תוצאת ההצפנה ב-XOR עם הבלוק הקריא הקודם. במצב זה נדרשים שני וקטורי אתחול, formula_108 ו-formula_109. המפרט המקורי מציין שהערך הראשוני של formula_109 צריך להיווצר על ידי הפעלה של צופן הבלוקים עם מפתח אחר: formula_111, כאשרformula_112 הוא מפתח אקראי שונה. אולם OpenSSL שתמך באופן הפעלה זה בעבר, איפשר מצב שבו ערכו של formula_109 יהיה כל ערך שרירותי שמתקבל כפרמטר למערכת. אפשר להציג את ההצפנה בשיטה זו באופן הדרגתי בצורה הבאה:
רואים שאופן הפעלה זה מכיל את המאפיין שכל שגיאה בבלוק כלשהו מתפתחת קדימה באופן אין סופי. במילים אחרות היפוך סיבית אחת בבלוק כלשהו יגרום לבלוק זה וליתר הבלוקים הבאים אחריו להשתבש. מה שיכול לשמש מעין הבטחת שלמות אם מוסיפים בלוק אפסים בסוף המסר. בזמן הפענוח אפשר לוודא שלא חלו שינויים באחד מחלקי המסר אם הבלוק האחרון המתקבל לאחר פענוח אכן מכיל אפסים.
השימוש באופן הפעלה זה על ידי OpenSSL נזנח עקב קריפטואנליזה שמעידה שהוא אינו עמיד נגד התקפת הבחנה תחת מודל התקפת גלוי-נבחר. אם המתקיף מצליח למצוא התנגשות בין שני בלוקים קריאים לפני הצפנתם, לאחר ה-XOR עם בלוק הטקסט המוצפן הקודם, הפלט המוצפן יהיה זהה, למעט העובדה שהוא מחובר ב-XOR עם בלוק קריא קודם שההנחה היא שהוא ידוע מראש. קל לגרום להתנגשות בגלל שאופן IGE מבצע XOR לפני ואחרי ההצפנה כמתואר בתרשים. כל מה שהמתקיף צריך לעשות הוא להשיג הצפנה של שני בלוקים קריאים לפי בחירתו ולקבל את תוצאת הצפנתם ומתוך זה הוא יכול לחשב בלוק שלישי זהה לבלוק השני.
התקפת הבחנה ניתנת לתיאור באופן תאורטי כמשחק בין המתקיף לבין אורקל שמסוגל לבצע הצפנה של מסרים לפי דרישתו של המתקיף (אפשר להתייחס אליו כאל קופסה שחורה) בתנאי שלמתקיף אין גישה למפתח ההצפנה. המתקיף ינצח במשחק אם יצליח לזהות בהסתברות גבוהה מחצי בשיעור בלתי זניח בין תוצאת הצפנה של מסר אחד לבין תוצאה של מסר אחר. ביתר פירוט, התקפת הבחנה נגד IGE פועלת כדלהלן: תחילה האורקל מגריל שני ערכים התחלתיים formula_108 ו-formula_109. המתקיף שולח לאורקל שני בלוקים formula_116 לצורך הצפנתם כאשר formula_117. האורקל מטיל מטבע, נניח formula_118 שיכול להיות אפס או אחד, לפי התוצאה הוא מחזיר את ההצפנה של הבלוק המתאים: formula_119. המתקיף בוחר שוב שני בלוקים זהים אחרים formula_120 ושולח אותם לאורקל. האורקל מצידו מחזיר את formula_121. כעת המתקיף מחשב את formula_122 ומגריל בלוק חדש formula_123 השונה מהבלוק formula_124 אותם הוא שלח לאורקל. לאחר שהאורקל מחזיר את formula_125 המתקיף יכול כעת לבדוק ש-formula_126 אם כן, הרי שהמתקיף הצליח לנחש את formula_127 אחרת formula_128 והוא ניצח במשחק.
המשמעות של התקפה זו שבמסגרת זו תחת ההנחה שהמתקיף רשאי לבחור את הבלוקים הקריאים המיועדים להצפנה או שיש לו שליטה במידה מוגבלת בתוכן המיועד להצפנה (שזה מצב ריאלי במקרים מסוימים) הרי שהמערכת אינה מספקת ביטחון מוחלט כי במקרה כזה המתקיף יכול לזהות איזה בלוק הוצפן ובדרך זו הוא יכול לפצח את המערכת. למרות האמור אופן הפעלה זה נמצא בשימוש בפרוטוקול האבטחה של טלגרם.
אופן TBC.
אם משתמשים בצופן בלוקים בר התאמה במקום בצופן בלוקים רגיל, אפשר לקבל אופני הפעלה יעילים ובטוחים יותר מאילו המנויים, זאת משום שווקטור האתחול מובנה בתוך הצופן. הרעיון הוצע לראשונה על ידי מוזס ליסקוב, רונלד ריבסט ודייוויד וגנר. הם פיתחו את אופן ההפעלה Tweak Block Chaining המבוסס על CBC ומיישם צופן בלוקים בר התאמה, המקבל מלבד המסר ומפתח ההצפנה ערך נוסף ייחודי וחד פעמי (שאינו סודי) כך שתוצאת ההצפנה תלויה גם בו. ערך זה נקרא בהקשר של צופן בלוקים בר התאמה "tweak" והוא בעצם וקטור אתחול או Nonce.
אופן ההפעלה TBC פועל באופן הבא: ה-tweak הראשוני formula_129 מתפקד כמו וקטור האתחול formula_130. הבלוק הראשון formula_131 מוצפן עם מפתח ההצפנה הסודי formula_7 ו-formula_129, כל בלוק formula_134 הבא אחריו מוצפן באמצעות המפתח הסודי formula_7 ו-formula_136 כאשר formula_137, כלומר ה-tweak לבלוק הנוכחי הוא תוצאת ההצפנה של הבלוק הקודם.
אופני הפעלה שמבוססים על צופן בלוקים בר התאמה פשוטים ובטוחים ולכן אטרקטיביים לצורך הצפנת דיסקים כיוון שלא קיימת כל התקורה שלאופני ההפעלה המתקדמים כמו EAX, OCB ודומיהם.
אופן CTS.
גנבת טקסט מוצפן (Ciphertext stealing) בקיצור CTS היא שיטה להצפנת מסר באורך שאינו מתחלק במספר הבלוקים שהצופן מקבל ללא צורך בריפוד המסר אך במחיר עליה קלה בסיבוכיות. השיטה יושמה בכמה אופני הפעלה מתקדמים כמו XTS. באופני ההפעלה ECB ו-CBC למשל יש צורך לרפד את המסר בדרך כלשהי כדי לקבל רצף של בלוקים שלמים, באופן שיהיה קל להסיר את הריפוד בזמן הפענוח. השיטה הנפוצה היא הוספת אחד בסוף המסר ואחריו אפסים במספר הנדרש עד לקבלת בלוק שלם. החיסרון בזה הוא שבעקבות הריפוד הטקסט המוצפן התרחב בהתאם למספר סיביות הריפוד. שיטת גנבת טקסט מוצפן מנסה להתגבר על הבעיה באופן הבא. אם הבלוק האחרון אינו שלם, פשוט מעבירים סיביות טקסט-מוצפן מהבלוק הקודם לבלוק האחרון לפי הצורך עד שמשלימים אותו לבלוק שלם, באופן זה מספר הסיביות הכולל של ההצפנה לא השתנה כלל. NIST פרסמו שלוש שיטות לגנבת טקסט-מוצפן בנספח לתקן SP800-38A עבור אופן ההפעלה CBC. ההבדלים בין השיטות הם רק באופן סידור סיביות הטקסט המוצפן. להלן תיאור האלגוריתם המחולק לשלוש וריאציות CBC-CS1, CBC-CS2 והשלישית CBC-CS3 שהוצעה עבור קרברוס 5. הקלט הוא formula_138 שהוא מחרוזת סיביות המסר להצפנה באורך כלשהו והפלט יהיה הטקסט המוצפן formula_139 כאשר formula_140.
אם הבלוק formula_161 שלם בכל השיטות ההצפנה היא בעצם אופן ההפעלה CBC הרגיל. הפענוח מתבצע בסדר הפוך בהתאם, תחילה מחלקים את הטקסט המוצפן לבלוקים בהתאם לשיטה. למשל בשיטה הראשונה הבלוק האחד לפני אחרון עשוי להיות חלקי. כזכור בשיטת CBC הטקסט המוצפן של הבלוק לפני האחרון מחובר ב-XOR עם הבלוק הקריא האחרון לפני ההצפנה. אם הבלוק האחרון אינו שלם formula_162 הסיביות העליונות הן אפסים לכן לאחר פענוח הבלוק האחרון נראה כך: formula_163, תחילה מבצעים XOR עם formula_155 הסיביות של formula_153 ומתקבל הבלוק הקריא האחרון formula_161 ומה שנותר זה לחבר את formula_167 עם formula_168 כדי לקבל את הבלוק המוצפן לפני האחרון ומפענחים.
הצפנה מאומתת.