IAPM

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

Integrity-Aware Parallelizable Mode הוא מצב הפעלה של צופן בלוקים סימטרי, שפותח ב-2001 על ידי Charanjit Jutla[1] מ-IBM, המספק הצפנה מאומתת מוכחת ויעילה עם תמיכה במקביליות. האלגוריתם משתמש בצופן בלוקים כמו AES כבסיס, איתו הוא גם מצפין וגם מאמת כל מסר באורך שרירותי בריצה אחת, תוך שימוש בשני מפתחות הצפנה ווקטור אתחול. IAPM הוא האלגוריתם הראשון שהומצא המספק הצפנה מאומתת בריצה אחת והוא יעיל מאוד בהשוואה למצבי הפעלה אחרים. בשיפורים אחדים מגיע למהירות כמעט כמו של הצפנה לא מאומתת. מסיבה זו כונה "הצפנה עם אימות כמעט בחינם". האלגוריתם הוצע ל-IPSec[2] והוא פטנט רשום של IBM וייתכן אף של אחרים, מסיבה זו השימוש בו בעייתי.

IAPM מצב הפעלה מקבילי עם אימות בריצה אחת. שים לב שבהינתן ההיסטים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_0,S_1,...} כל בלוק מוצפן בנפרד ולכן אפשר להצפין מספר בלוקים במקביל. כמו כן אפשר להתחיל פענוח בצד השני בטרם התקבלו כל הבלוקים, אך לצורך האימות יש צורך להמתין לקבלת כולם.

Charanjit Jutla המציא למעשה שני אלגוריתמים דומים, על שניהם רשום פטנט והוכח שהם בטוחים תחת ההגדרות הסטנדרטיות, בהנחה שצופן הבלוקים בטוח. והם: Integrity-Aware CBC (בקיצור IACBC) שהוא למעשה CBC משופר, שבו נוספה טכניקה הקרויה 'הלבנה' (whitening) שהיא פעולת XOR לפני ואחרי הצפנת כל בלוק עם גרעין אקראי מסוים שנגזר מוקטור האתחול. חסרונו כמו כל מצב המבוסס על CBC שאינו תומך במקביליות, כי כל בלוק תלוי בקודמו. השני IAPM דומה יותר למצב ECB משופר, מיישם טכניקת הלבנה דומה, אך יתרונו בכך שהוא מאפשר הצפנה מקבילית ולכן עיקר ההתעניינות בו כיוון שהוא יעיל יותר. אלגוריתם OCB הוא וריאציה משופרת של IAPM.

הצפנה מאומתת

Postscript-viewer-blue.svg ערך מורחב – הצפנה מאומתת

הצפנה מאומתת נולדה עקב צורך מעשי להבטיח לא רק את סודיות המידע העובר ברשת אלא גם את שלמותו. כך שתוקף זדוני לא יוכל להתערב, לשנות, למחוק או להוסיף בלוקים של טקסט מוצפן מבלי שהמשתתפים יבחינו בכך. בתחילה הצפנה מאומתת לא הייתה מוגדרת היטב מבחינה תאורטית ואנשים נטו לפתח שיטות אד הוק, כיום קיימות הגדרות קונקרטיות להצפנה מאומתת בטוחה. השיטה הישירה נקראת 'בנייה גנרית' והיא שילוב של שני פרימיטיבים קריפטוגרפיים נפרדים כמו: מצב הפעלה CBC עם MAC באופן שכל אחד מהם פועל עצמאית. ישנן כמה דרכים לעשות זאת, מהן די מהירות למשל HMAC. מצב ההפעלה המועדף מהיבט של יעילות הוא CTR בגלל תמיכה מובנית במקביליות. הדרכים הישנות פועלות בשתי ריצות ואינן יעילות, מסיבה זו נעשים מאמצים למצוא דרכים חלופיות יותר יעילות. ישנן כמה סיבות מדוע הצפנה מאומתת מועדת לשגיאות. טעות נפוצה אחת היא להשתמש במפתח הצפנה משותף גם לאימות. טעות אחרת היא לנסות להבטיח שלמות על ידי פונקציית גיבוב לא קריפטורגפית ללא מפתח הצפנה. הוכח שגישות מסוג זה כמעט כולן ניתנות לפריצה בקלות ולמרות זאת הן קיימות. גרסת WEP המקורית למשל כללה אלגוריתם אימות לא בטוח כלל שפעל עם קוד תיקון שגיאות CRC.

הלבנה

Postscript-viewer-blue.svg ערך מורחב – הלבנה (קריפטוגרפיה)

טכניקת ההלבנה עושה שימוש בסדרה של ערכים בלתי תלויים הדדית (pairwise independent sequence) אותם מפיקים מווקטור האתחול באורך סיביות כאשר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} מתייחס לאורך בלוק הצופן בסיביות (128 במקרה של AES). המפתח לצורך ההלבנה הוא הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle K_1} . Jutla הציע שתי דרכים להפקת הערכים לצורך ההלבנה.

האחת היא באמצעות הצפנה. תחילה 'מותחים' את וקטור האתחול לוקטור פסאודו-אקראי חדש בגודל הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle t=\left\lceil\text{lg}(m+2)\right\rceil} שנקרא 'גרעין', על ידי הצפנה רקורסיבית עם מפתח ההצפנה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle K_1} לפי הנוסחה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle W_i=F_{K1}(r+i)} כאשר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1\le i\le t} . הערך מייצג את מספר הבלוקים של המסר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P} לאחר שחולק לבלוקים בגודל הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} סיביות והפונקציה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{lg}} היא לוגריתם בבסיס 2. הפונקציה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle F} היא צופן הבלוקים עם המפתח . לדוגמה אם הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle m=256 } בלוקים אז הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle t=9} , דהיינו נדרשים 9 קריאות לצופן הבלוקים להכנת הגרעין האקראי (הווקטורים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle W_i} בגודל 128 סיביות כל אחד). עם הגרעין האקראי מכינים 'מסכת הלבנה' (whitening mask) שהיא סדרה של הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle m+1} ערכים בגודל 128 סיביות כל אחד. לצורך כך משתמשים ברעיון של קוד גריי בשיטה שנקראת סכום-xor. לסיכום האלגוריתם:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{For }i=1\text{ to }t\text{ do }}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle W_i=F_{K1}(r+i)}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{For }i=1\text{ to }m+1\text{ do }}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_{i-1}=\bigoplus_{j=1}^t(i_j\cdot W_j)}

הסימן מייצג סכום-xor דהיינו הסכום הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle (i_1\cdot W_1)\oplus (i_2\cdot W_2)\oplus\cdots\oplus (i_t\cdot W_t)} . הערך הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle i_j} מייצג את הסיבית הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle j} של האינדקס הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle i} .

שיטה אלגברית

הדרך השנייה היא בשיטה אלגברית. תחילה בוחרים מספר ראשוני שיהיה קרוב לגודל הבלוק. במקרה של צופן 128 סיביות יהי הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle p=2^{128}-159} . לאחר מכן מייצרים שני ערכים אקראיים על ידי הצפנה:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle a=F_{K1}(r+1)} ,

אם הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle b>p} מצמצמים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle b=(b+159)\text{ mod }2^{128}} . ואז הסדרה לצורך ההלבנה מתקבלת על ידי:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_0=a}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{For }i=1\text{ to }m-1\text{ do }}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{If }b>S_i\text{ then }S_i=(S_i+159)\text{ mod }2^{128}}

תיאור האלגוריתם

הצפנה

המסר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P} מחולק ל-הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle m-1} בלוקים בגודל הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} סיביות (לדוגמה במקרה של AES הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle n=128} סיביות, אם מכיל 1,000 סיביות, הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle m=9} ו-הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P} מחולק ל-8 בלוקים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_1,P_2,...,P_8} כאשר הבלוק האחרון מרופד ב-24 אפסים). לצורך ההצפנה המאומתת נדרשים שני מפתחות שונים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle K_1,K_2} כל אחד בגודל סיביות, כאשר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle k} נקבע לפי צופן הבלוקים שנבחר וכן וקטור אתחול חד פעמי הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle r} גם הוא בגודל הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} סיביות שבו משתמשים רק פעם אחת עבור מפתח נתון. להכנה תחילה מפעילים את אלגוריתם הכנה לעיל כדי לקבל את הסדרה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle S} . הטקסט המוצפן הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_0,C_1,...,C_{m}} מתקבל על ידי:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_0=F_{K2}(r)}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{For }i=1\text{ to }m-1\text{ do }}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_i=F_{K2}(P_i\oplus S_i)\oplus S_i}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{checksum}=\bigoplus_{i=1}^{m-1}P_i}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_m=F_{K2}(\text{checksum}\oplus S_m)\oplus S_0}

הסימן הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \bigoplus} מייצג סכום-xor דהיינו הסכום הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{checksum}=P_1\oplus P_2\oplus\cdots \oplus P_{m-1}} . וכן הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_0} הוא וקטור האיתחול ו-הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_m} הוא תג האימות. שים לב שכעת הטקסט המוצפן התרחב בשני בלוקים נוספים, הראשון הוא בלוק וקטור האיתחול והאחרון הוא בלוק האימות כשבאמצע הטקסט המוצפן.

פענוח

כאמור מפתחות ההצפנה משותפים לשולח והמקבל. לפענוח הטקסט המוצפן הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_0,C_1,...,C_m} . תחילה מחלצים את וקטור האתחול עם המפתח השני הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle r=F_{K2}^{-1}(C_0)} . הפונקציה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle F^{-1}} היא פונקציית הפענוח של צופן הבלוקים. מפעילים את הפונקציה להכנת סדרת ההיסטים לצורך ההלבנה (באחת משתי השיטות לעיל) עם הפרמטרים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle (r,m,K_1)} כדי לחשב את הסדרה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_0,S_1,...,S_m} ואז:

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{For }i=1\text{ to }m-1\text{ do }}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_i=F_{K2}^{-1}(C_i\oplus S_i)\oplus S_i}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{checksum}=\bigoplus_{i=1}^{m-1}P_i}
הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_m=F_{K2}^{-1}(C_m\oplus S_0)\oplus S_m}

הטקסט הקריא הוא הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_1,...,P_{m-1}} . לבדיקת האימות מוודים ש-הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P_m=\text{checksum}} . אם לא, הטקסט המוצפן נדחה בגלל שינוי ייתכן זדוני, במהלך ההעברה.

בטחון

בטחון IAPM מתואר כצירוף של שני מאפיינים: indistingushability כנגד התקפת מוצפן-נבחר ושלמות. בכללות הכוונה שהאלגוריתם מבטיח שהטקסט המוצפן לא יהיה ניתן להבחנה מערך אקראי אמיתי וכן שלא ניתן יהיה לחשב תג אימות מתאים לטקסט מוצפן כלשהו ללא ידיעת מפתח ההצפנה המשותף לשולח והמקבל. אילו הנחות סטנדרטיות שמצפים מצופן בלוקים ו-MAC בהתאמה. ההוכחה של Jutla מראה שאלגוריתם IAPM בטוח אם צופן הבלוקים בטוח. וכן פונקציית ההלבנה היא בעצם פונקציית גיבוב אוניברסלית הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \epsilon\textit{-xor-universal}} . הוכח שאין צורך בהגדרה מחמירה של פונקציה אקראית אוניברסלית אלא מספיק שהערכים לצורך ההלבנה יהיו 'בלתי תלויים הדדית'. ההתפלגות של פונקציות בלתי תלויות הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle G:\mathcal{N}\times\{0,1\}^n\rightarrow(\{0,1\})^*} , נקראת הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \epsilon\textit{-xor-universal}} , אם עבור כל קבוע הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta\in\{0,1\}^n} ועבור זוגות ערכים שונים הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle (j,m,IV),(j',m',IV')} מתקיים

הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Pr[G_{j'}(m',IV')\oplus G_j(m,IV)=\Delta]\le\epsilon}

אזי הפונקציה הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} נקראת הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \epsilon\textit{-xor}} אוניברסלית. הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle m} הוא מספר הבלוקים ו-הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \epsilon} ערך בטווח [0,1].

הערות שוליים