עמוד הבית > Rijndael > הערות

הערות

הזמינות של גדלי גוש שונים ב-Rijndael מאפשרת גרסה חמודה של אופן הפעולה "הנחת לבנים" הומצא בשביל Triple-DES.

פה, כל קו מאונך מייצג 32 סיביות ושלושת השכבות משתמשות בגדלי גוש של 128,192 ו-256 סיביות על פי הסדר.

למרות העובדה ש ל-Rijndael יש מבנה שונה מאוד מהמבנה של DES, ואפשר להגיד שבכמה דרכים הוא יותר דומה ל-SAFER בגלל שצעד ה-Byte-Sub משנה ישירות ביתים שיוצפנו, ושלב ה-Mix-Column גורם לכל בית בעמודה להשפיע על כל שאר הביתים בעמודה, בדומה לשלב ה-PHT ב-SAFER מערב את כל הגוש, זה עדיין אפשרי לקשור שלבים בסיסיים ב-Rijndael לשלבים של DES על בסיס התפקיד שהם משחקים בתרומה לצעד של הצופן בסה"כ.

  • צעד  ה-Add Round Key מתאים בברור ל - XOR של החומר של תת המפתח עם הפלט לפונקצית f (ב-DES).

  • צעד ה-Mix-Column במקום שבו הביתים פועלים זה על זה, לכן זה מתאים ל-XOR של הפלט של הפונקציה f עם החלק השמאלי של הגוש ב-DES.

  • צעד ה-Byte-Sub תורם ללא ליניאריות של Rijndael ולכן זה מתאים לפונקצית f בעצמה.

  • צעד ה-Shift-Row מבטיח שביתים שונים בכל שורה יפעלו לא רק עם הביתים המקבילים בשורות אחרות. לכן זה מתאים לתמורה P ב-DES.

בהשוואה בין Rijndael ו-DES, קל מאוד, מבוסס על הצצה שטחית על Rijndael, וההופעה של הצעד Shift-Row, לראות את הצעד Shift-Row כמקביל להחלפה בין חצאי הגוש ב-DES. לעומתו של דבר, Rijndael לא דורש צעד עם פונקציה זאת, מכיוון שצעד Mix-Column ב-Rijndael  גורם לכל בית בעמודה לשנות כל בית אחר בעמודה, לכן לא צריך צעד שמחליף שורות.

הנקודה עדינה אך למעשה מאוד חשובה. מספר המחזורים הרגילים ב-Rijndael תמיד אי-זוגיים; בלי צעד ה-Mix-Column, המחזור האחרון לא גורם לאינטראקציה בין הביתים, לכן מתקבל על הדעת לא לחשב אותו כמחזור "אמיתי". לכן, זה לא כפל של מספר העמודות, שהוא 4 ,6 ,8 , תלוי בגודל הגוש.

התקפה בעזרת ניתוח הצפנה דיפרנציאלי על DES נהיית קצת קלה יותר על גרסאות של DES עם מספר אי זוגי של מחזורים, לכן אם הצעד Shit-Row ב-Rijndael היה מותאם להחלפת חצאי הגוש ב-DES, זה כנראה היה נקודת התורפה ב-Rijndael. זה עדיין יכול להיות פגם קטן, אבל התוצאות של ניתוח הצפנה הקיימות נגד Rijndael לא מראות דוגמאות על כך.

תזמון המפתחות ל-Rijndael יכול להתבצע טוב במידה שווה עם מפתחות שהם בגודל 160, 224 סיביות, כיוון שזה דורש רק שגודל המפתח יהיה כפולה של 32 סיביות.

אפילו גדלי גוש בגודל 160, 224 סיביות גם אפשריים. הגרסה המתוקנת של הספציפיקציה של Rijndael כולל ההרחבות האלה והחוק שאומר באיזה מספר מחזורים צריך להשתמש מבוסס על הגדלים הגדולים של גודל הגוש במפתח, עם 10 מחזורים רגילים (11 מחזורים בסה"כ) מתאים ל-160 סיביות ו-12 מחזורים רגילים (13 מחזורים בסה"כ) מתאים ל-224 סיביות.

לכן, אפשר לקבל 12 מחזורים רגילים שרצויים עבור גושים בגודל 128 ו-192 סיביות, על ידי שימוש במפתח בגודל 224 סיביות. כבונוס נחמד מספר המילים בגודל 32 סיביות בתוך 224 סיביות הוא 7, שזה יחסית ראשוני ל 4 או 6, שזה נראה, לפחות מנקודת מבט נאיבית, כאילו שזה יכול גם לשפר קצת את התזמון של המפתח.

התרשים הבא מראה מספר מחזורים עבור גדלים שונים של גושים ומפתחות, וגם מצביע מתי שהתכונות האלה הרצויות לכאורה מתקיימות.

*: מספר של מחזורים רגילים הוא כפל של מספר המילים בגודל 32 סיביות בגוש.
+: מספר המילים בגודל 32 סיביות במפתח יחסית ראשוני כלפי מספר המילים בגודל 32 סיביות בגוש.

 

מפתח

גוש

 

 

128

160

192

224

256

 

128

10

11

12

13

14

10 הוא כפולה של 5

 

 

+ *
 

 

+
 

 

4 הוא יחסית ראשוני ל 5 ו 7
 

160

11

11

12

13

14

10 הוא כפולה של 5

 

+
 

*
 

+
 

+
 

+
 

5 הוא יחסית ראשוני ל 4, 6, 7, ו-8
 

192

12

12

12

13

14

 

 

 

+
 

 

+
 

 

6 הוא יחסית ראשוני ל 5 ו7-
 

224

13

13

13

13

14

12 הוא כפולה של 4 ו-6

 

+ *
 

+
 

 

+ *
 

+
 

7 הוא יחסית ראשוני ל 4, 5, 6, ו-8
 

256

14

14

14

14

14

 

 

 

+
 

 

+
 

 

8 הוא יחסית ראשוני ל  5, ו-7
 

288

15

15

15

15

15

14 הוא כפולה של 7

 

+
 

+
 

 

+ *
 

+
 

9 הוא יחסית ראשוני ל 4, 5, 7 ו-8
 

320

16

16

16

16

16

15 הוא כפולה של 5

 

 

*
 

 

+
 

 

10 הוא יחסית ראשוני ל 7
 

352

17

17

17

17

17

16 הוא כפולה של 4 ו-8

 

+ *
 

+
 

+
 

+
 

+ *
 

11 הוא יחסית ראשוני ל 4, 5, 6, 7 ו-8
 

לכן, יש לפחות גודל אחד "אידיאלי" של מפתח לכל גודל אפשרי של גוש:

      גודל של גוש        

גודל אידיאלי של מפתח

128

    224      352

160

128

192

224

224

288

256

352

שוב, אנו חוזרים זה רק משמעותי אם דאגות שוליות אלה, כמו שנראה מנקודת מבט נאיבית, תקפות.

דרך אגב בשביל גודל גוש 224 סיביות, הצעד Shift-Row שוב שונה, אבל לא בדיוק באותה הדרך כמו בשביל גוש בגודל 256 סיביות. רק השורה האחרונה, לא שתי שורות אחרונות, מוזזת בית אחד יותר. בנוסף לכך, צעד נוסף של Byte-Sub שמשתמשים בו בשביל מפתחות באורך 256 סיביות שנוסף לתזמון המפתח לכל המפתחות בגודל יותר מ-192 סיביות, לכן זה תקף גם לגבי מפתח בגודל 224 סיביות ולכל המפתחות הגדולים יותר מ-256 סיביות.

זה שעיצוב ה-S-box משתמש באותו שדה גלואה ( 28 ) כמו שהצעד Mix-Column גם יכול להדאיג. בכל אופן,ה- S-box של Rijndael הוא כמעט מושלם בהתנגדותו לניתוח הצפנה דיפרנציאלי, הוא גם מצוין בהימנעות מהערכות בשדה גלואה ( 28 ) שמשתמשים בו כמקבילה של שדה גלואה לניתוח הצפנה ליניארי.

הבחירה ב-Rijndael לעומת האלגוריתמים האחרים שעלו לגמר, שמאמינים שגם הם בטוחים מאוד, היה מבוסס בעיקר על היעילות שלו ודרישות נמוכות לזיכרון שזה ביחד עם העובדה שהניתוחי הצפנה הקימות של Rijndael מבוססות על גרסאות עם כמות קטנה יותר של מחזורים במידה מסוימת קרובות הגרסאות לצופן עצמו (אף על פי שלא מעשי לנסות לנצל (exploit)  תוצאות קרובות למספר הראלי של המחזורים) זה אומר שמחלוקות מסוימות, אפילו אם המחלוקות לא כל כך נמרצות כמו סביב ה-DES, המחלוקת יכולה גם להציק ל-AES. לפני Rijndael היה צופן גושים Square, שהיה במקצת דומה. בכל אופן, במקום צעד Shift-Row, ישתמשו בשינוי ביתים במטריצה ריבועית; כתוצאה מכך, זה אומר שפיזור מעל לכל הגוש היה מושג על ידי החלפת צעד Mix-Column עם צעד Mix-Row. נמצאו התקפות מסויימות נגד Square, שנגד ההתקפות האלה חיזקו את Rijndael.

 

 

 לעמוד הקודם

לעמוד הבא
 
 

| מבוא | Blowfish | DES | Rijndael | Skipjack | Twofish |

| עמוד הבית | אודות | מפת האתר | מונחון | ביבליוגרפיה |

 

  ©איתן 2002. כל הזכויות שמורות למערכת המידע איתן.