אופן הפעלה של צופן בלוקים

בקריפטוגרפיה אֹפֶן הַפְעָלָה (באנגלית: Mode of operation) מתייחס לאלגוריתם שמגדיר כיצד להפעיל צופן בלוקים סימטרי דטרמיניסטי להצפנת טקסט-גלוי באורך שעולה על אורך הבלוק שהצופן מסוגל להצפין בבת אחת. צופן בלוקים כשלעצמו מסוגל רק להבטיח סודיות של 'בלוק' טקסט גלוי, שהוא מחרוזת סיביות באורך קבוע מוגדר מראש. מעצם ההגדרה, בהינתן צופן בלוקים דטרמיניסטי כמו AES ומפתח הצפנה זהה, הצופן ימיר תמיד בלוק קלט זהה לבלוק טקסט-מוצפן זהה. לכן ניתן לזהות הצפנה חוזרת של בלוקים זהים עם אותו מפתח. זהו מאפיין שעלול להוות חיסרון כי בהצפנה ישירה דולף בדרך אגב מידע ליריב פוטנציאלי שעלול להיות מנוצל להתקפה כנגד המערכת.

ריפוד

אם בלוק הצופן הוא באורך  סיביות (ב-AES למשל  סיביות) והמסר הגלוי המיועד להצפנה כמו קובץ, הודעת אי-מייל או מסרון הוא באורך כלשהו גדול מ- שזה המצב בדרך כלל, הדרך הפשוטה להכינו להצפנה היא תחילה לחלקו לבלוקים בגודל  סיביות. אם מספר סיביות המסר אינו מתחלק ללא שארית ב- מבצעים מה שקרוי "ריפוד". הדרך הפופולרית היא להוסיף את הסיבית '1' בסוף מחרוזת המסר ולאחריה להוסיף אפסים כמידת הצורך כדי שאורך המסר יתחלק ללא שארית באורך הבלוק. לאחר פענוח הטקסט המוצפן, המקבל מחפש את הסיבית '1' האחרונה בבלוק האחרון ואז פשוט מסיר את כל האפסים שלאחריה (כולל הסיבית '1'), מחבר יחד את כל הבלוקים ומשחזר את המסר המקורי. אפשר כמובן להשתמש בכל סכמת ריפוד רצויה. סכמת הריפוד אינה סודית וכן חשוב שלא תווצר התנפחות מוגזמת של הטקסט המוצפן בעקבות הריפוד. 
לאחר הריפוד אפשר פשוט להצפין את המסר המרופד, בלוק אחר בלוק, באופן איטרטיבי עד להשלמת כל הבלוקים. למעשה שיטה זו, המתוארת ביתר פירוט להלן, נקראת ספר-קוד והיא בעצם הצפנה ישירה ללא פעולה נוספת כלשהי. חסרונה הוא שקל לדעת אם בלוקים גלויים היו זהים אם התקבלו בלוקים מוצפנים זהים, כל עוד המפתח זהה. כפי שיוסבר בהמשך זו אינה בעיה תאורטית אלא יש לה השלכות מעשיות. באופן הפעלה זה הצופן חשוף להתקפות קריפטוגרפיות והדבר עלול אף להביא לשבירתו. ולכן רצוי להימנע משימוש באופן הפעלה זה כמעט תמיד. ראוי לציין שבעיה זו אינה קיימת בצופן זרם כיוון שמעצם ההגדרה, טרנספורמציית ההצפנה משתנה באופן דינאמי תוך כדי התהליך. זרם המפתח הפסאודו-אקראי שמופק ארוך מהמסר, לכן לעולם לא ייווצר מצב שבלוקים זהים יוצפנו עם אותו מפתח או באותה טרנספורמציה. מצבי ההפעלה מנסים לעקוף את דטרמיניסטיות של צופן בלוקים על ידי חיקוי צופן זרם.

אופני הפעלה בסיסיים

להלן תיאור חמשת אופני ההפעלה הבסיסיים ביותר: ECB,‏ CBC,‏ CFB,‏ OFB ו-CTR.
יהי  צופן בלוקים ו- מפתח הצפנה סודי. הביטוי  פירושו ש- הוא תוצאת הצפנה של  באמצעות הפונקציה  עם מפתח . פענוח מסומן בקיצור . היות שהמסר  בדרך כלל ארוך, מתייחסים אליו לאחר שעבר ריפוד אם נדרש, כמערך של  בלוקים באורך  סיביות ומסומן בקיצור: . ריפוד נדרש רק בשני האופנים הראשונים (ECB ו-CBC) ואילו בשלושת האופנים האחרונים צופן הבלוקים מיושם כצופן זרם במצב שמאפשר הצפנה של בלוקים חלקיים בכל אורך רצוי, לכן אין צורך בריפוד.
מאותה סיבה באופנים CFB ,OFB ו-CTR אין צורך בפונקציית פענוח אלא פונקציית הצפנה בלבד המשמשת גם להצפנה וגם לפענוח. זאת כיוון שהצופן מיושם כצופן זרם, ההצפנה היא בעצם XOR של המפתח עם המסר לכן הפענוח זהה כי XOR הופכי של עצמו. פשוט חוזרים על אותה פעולה. 
יש לציין שהאופנים המנויים אינם מספקים הבטחת שלמות ואימות ולכן הם אינם נחשבים בטוחים נגד התקפת הבחנה תחת מודל התקפת מוצפן-נבחר, במילים אחרות ייתכן שלא יתאימו לשימוש במקרים בהם יש חשיבות להבטיח את שלמות המסרים מלבד סודיותם. במקרים כאלה עדיף להשתמש באחד מאופני ההפעלה להצפנה מאומתת המצוינים בהמשך.

אופן TBC

אם משתמשים בצופן בלוקים בר התאמה במקום בצופן בלוקים רגיל, אפשר לקבל אופני הפעלה יעילים ובטוחים יותר מאילו המנויים, זאת משום שווקטור האתחול מובנה בתוך הצופן. הרעיון הוצע לראשונה על ידי מוזס ליסקוב, רונלד ריבסט ודייוויד וגנר. הם פיתחו את אופן ההפעלה Tweak Block Chaining המבוסס על CBC ומיישם צופן בלוקים בר התאמה, המקבל מלבד המסר ומפתח ההצפנה ערך נוסף ייחודי וחד פעמי (שאינו סודי) כך שתוצאת ההצפנה תלויה גם בו. ערך זה נקרא בהקשר של צופן בלוקים בר התאמה "tweak" והוא בעצם וקטור אתחול או Nonce.
אופן ההפעלה TBC פועל באופן הבא: ה-tweak הראשוני  מתפקד כמו וקטור האתחול . הבלוק הראשון  מוצפן עם מפתח ההצפנה הסודי  ו-, כל בלוק  הבא אחריו מוצפן באמצעות המפתח הסודי  ו- כאשר , כלומר ה-tweak לבלוק הנוכחי הוא תוצאת ההצפנה של הבלוק הקודם.
אופני הפעלה שמבוססים על צופן בלוקים בר התאמה פשוטים ובטוחים ולכן אטרקטיביים לצורך הצפנת דיסקים כיוון שלא קיימת כל התקורה שלאופני ההפעלה המתקדמים כמו EAX, OCB ודומיהם.