CCM
תיאור האלגוריתם > פירוט פרמטרים

משרשרים את וקטור האתחול, המידע הנלווה והמסר המיועד להצפנה למחרוזת אחת ארוכה, אותה מחלקים למקטעים בגודל 16 בתים (128 סיביות) כך שמתקבל מערך בלוקים  B_{0},B_{1},B_{2},.... כדלהלן: תחילה הבלוק הראשון  B_{0} מכיל אינפורמציה כללית ואת וקטור האתחול ומפורמט לפי סדר זה מהקטן לגדול:  b_{0},...,b_{15}, כך שהבית הראשון  b_{0} מכיל 'דגלים' (להלן), בתים  b_{1},...,b_{(15-L)} מכילים את וקטור האתחול. בתים  b_{(16-L)},...,b_{15} מכילים את קידוד אורך המסר  P.
הבית הראשון המכיל את הדגלים מקודד בסדר יורד כדלהלן, סיבית 8 שמורה (תמיד אפס), סיבית 7 מציינת האם קיים מידע נלווה. היא תקבע לאפס אם אורך המידע הנלווה הוא אפס. סיביות 4 עד 6 מכילות את  M' לפי קידוד  (M-2)/2. הערכים הקבילים הם 1 עד 7. אין להשתמש באפס כי משמעותו 16. סיביות 1 עד 3 מכילות את  L' בטווח הערכים 1 עד 7 לפי קידוד  L-1 כאשר אפס שמור.
אם קיים מידע נלווה A תחילה משרשרים את אורכו ואז מחלקים את הכול ביחד לבלוקים בגודל 128 סיביות ומרפדים את הבלוק האחרון באפסים אם צריך. את אורכו של המידע הנלווה מקודדים כדלהלן. שני הבתים הראשונים משמשים לזיהוי הקידוד בהתאם. אם אורך המידע הנלווה בסיביות נמוך מ- 2^{16}-2^{8}, הוא תופס שני בתים בלבד לפי סדר בתים גדול. אם המידע הנלווה גדול יותר אך נמוך מ- 2^{32}, שני הבתים הראשונים יכילו את הקבועים  {\text{0xff,0xfe}} ואז מקודדים את אורך המידע הנלווה בארבעה בתים נוספים לפי סדר בתים גדול (סך הכול שישה בתים). אם המידע הנלווה גדול יותר (עד  2^{64} בתים), שני הבתים הראשונים יכילו את הקבועים  {\text{0xff,0xff}} ובשמונה בתים נוספים מקודדים את אורך המידע (סך הכול עשרה בתים). הטבלה הבאה מתארת את הקידוד:
| שני הבתים הראשונים | אורך קידוד | טווח |
| --- | --- | --- |
| 0x0000 | אין מידע נלווה | שמור |
| 0x0001 עד 0xFEFF | 2 בתים | בין  1 ל- 65,280 |
| 0xFF00 עד 0xFFFD | אין מידע נלווה | שמור |
| 0xFFFE | 4 בתים | בין  65,280 ל- 2^{32} |
| 0xFFFF | 8 בתים | בין  2^{32} ל- 2^{64} |
לאחר הבלוקים של המידע הנלווה משרשרים את המסר המיועד להצפנה כשהוא מחולק גם הוא לבלוקים בגודל 128 סיביות ומרופד באפסים בהתאם, והתוצאה היא מערך הבלוקים  B_{0},B_{1},...,B_{r} כאשר  r תלוי באורך המידע הנלווה והמסר המיועד להצפנה בהתאם פלוס הבלוק הראשון.
| פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> סיבית מס' | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 0 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 1 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 2 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 3 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 4 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 5 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 6 | פורמט הבית הראשון של בלוק  B_{0} המכיל את הדגלים> 7 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| תכולה |  L-1 |  L-1 |  L-1 |  (M-1)/2 |  (M-1)/2 |  (M-1)/2 | מידע נלווה | שמור |
| פורמט בלוק  B_{0}> בית מס' | פורמט בלוק  B_{0}> 0 | פורמט בלוק  B_{0}>  1...(15-L) | פורמט בלוק  B_{0}>  (16-L)...15 | פורמט בלוק  B_{0}>  | פורמט בלוק  B_{0}>  | פורמט בלוק  B_{0}>  | פורמט בלוק  B_{0}>  | פורמט בלוק  B_{0}>  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| תכולה | דגלים | וקטור אתחול | קידוד אורך המסר בבתים |  |  |  |  |  |
לדוגמה אם בלוק  B_{0} מכיל את מחרוזת הסיביות הבאה, 128 סיביות מחולקות לבתים משמאל לימין (הסיבית השמאלית בכל בית היא המשמעותית ביותר):
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|  \color {Gray}0\color {red}1\color {blue}101\color {green}110 |  \color {Purple}00010011 |  \color {Purple}11010100 |  \color {Purple}10100011 |  \color {Purple}01011101 |  \color {Purple}01110001 |  \color {Purple}10100101 |  \color {Purple}00000000 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|  \color {Purple}00000000 |  \color {BurntOrange}00000000 |  \color {BurntOrange}00000000 |  \color {BurntOrange}00000000 |  \color {BurntOrange}00000000 |  \color {BurntOrange}00000000 |  \color {BurntOrange}01001110 |  \color {BurntOrange}00100000 |
כיוון שהסיבית לפני האחרונה בבית הראשון (המסומנת באדום) היא 1, המשמעות היא שקיים מידע נלווה.
אורך תג האימות הוא  (5+1)\cdot 2 (בגלל ששלוש הסיביות הבאות המסומנות בכחול הן "101" – 5 בייצוג עשרוני).
היות ששלוש הסיביות הבאות (ירוק) הן "110" אורך המסר מקודד בשבעה הבתים האחרונים בסך הכול 56 סיביות.
לפי תכולת שבעה הבתים האחרונים אורך המסר המיועד להצפנה ואימות הוא 20,000 בתים.
וקטור האתחול מאוחסן בשמונת הבתים הנותרים (בסגול) שהם בבסיס הקסדצימלי: "13D4A35D71A50000"