קריפטואנליזה ליניארית – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 166:
<math>:S_{34}: X_2 = Y_2\oplus Y_4</math> בהסתברות <math>4/16</math> והטייה <math>-1/4</math>
 
יהיו <math>U_i</math> ו-<math>V_i</math> בלוק הקלט ובלוק הפלט בהתאמה של תיבות ההחלפה של הצופן בסבב ה-<math>i</math>. וכן <math>U_{ij}</math> ו-<math>V_{ij}</math> הסיבית ה-<math>j</math> של בלוק הקלט או הפלט בהתאמה, בסבב ה-<math>i</math>. באותו אופן <math>K_i</math> מייצג את המפתח המחובר ב-XOR עם בלוק הנתונים בסבב ה-<math>i</math> כאשר <math>K_5</math> הוא המפתח שמחובר לאחר הסבב הרביעי וכן <math>K_{ij}</math> מתייחס לסיבית במיקום ה-<math>j</math> של המפתח ה-<math>i</math>. לכן בשלב הראשון של הצופן מתקבל: <math>U_1=P\oplus K_1</math>. כאשר <math>P</math> הוא בלוק הקלט הגלוי או המסר המיועד להצפנה, באורך 16 סיביות. על בסיס הקירוב הלינארי של הסבב הראשון של הצופן, הצירוףהמשוואה הבאהלינארית הבאה:
{| dir="ltr"
|-
שורה 173:
:<math>\ \ \ \ \ \ \ = (P_5 \oplus K_{1,5}) \oplus (P_7 \oplus K_{1,7}) \oplus (P_8 \oplus K_{1,8})</math>
|}
מתקייםמתקיימת בהסתברות <math>3/4</math>. וכן עבור הסבב השני, הצירוף הבא
:<math>V_{2,6} \oplus V_{2,8} = U_{2,6}</math>
מתקיים בהסתברות <math>1/4</math>. היות שפלט הסבהסבב הראשון הוא בעצם קלט הסבב השני המחובר עם המפתח המתאים, מתקבל <math>U_{2,6}=V_{1,6}\oplus K_{2,6}</math> לכן אפשר לקבל קירוב לינארי מהצורה:
:<math>V_{2,6} \oplus V_{2,8} = V_{1,6} \oplus K_{2,6}</math>
בהסתברות 1/4. לפי ''למת הערמה'' של מצואי, אם משלבים יחד את הצירופים משני הסבבים הראשונים מתקבלת המשוואה:
:<math>V_{2,6} \oplus V_{2,8} \oplus P_5 \oplus P_7 \oplus P_8 \oplus K_{1,5} \oplus K_{1,7} \oplus K_{1,8} \oplus K_{2,6} = 0</math>
שמתקיימת בהסתברות ש/ל <math>1/2+2(3/4-1/2)(1/4-1/2)=3/8</math> עם הטייה <math>-1/8</math>. למרות שהיא מתבססת על ההנחה שהקירובים הלינאריים של כל סבב בלתי תלויים שהיא הנחה לא מדוייקת, בפועל היא עובדת היטב. עבור הסבב השלישי אפשר להבחין ש: