סקיצה של חישובי ההצפנה נתונה
באיור 1.
64 סיביות של גוש קלט שעומד לעבור
הצפנה קודם עובר את תמורה הבאה, הנקראת תמורה ראשונית IP:
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
|
קלט שעבר את תמורה
הזאת (IP) סיבית מספר 58 של הקלט תהיה
סיבית ראשונה, סיבית מספר 50 תהיה סיבית שנייה וכו' עד סיבית
מספר 7 שתהיה סיבית אחרונה. גוש שעבר תמורה IP
עובר אחרי זה חישובים מורכבים תלוי מפתח שמפורטים להלן. פלט של
חישובים אלה נקרא קדם - פלט, שעובר את תמורה הבאה שהיא ההופכית
של תמורה הקודמת IP.
IP-1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
|
זאת אומרת, לפלט
של האלגוריתם יש סיבית מספר 40 של גוש הקדם-פלט בתור סיבית ראשונה,
וסיבית 8 במקום סיבית שנייה, וכו', עד סיבית 25 של גוש קדם-פלט
שהיא הסיבית האחרונה של הפלט.
החישובים שמשתמשים
בגוש קלט שעבר תמורה בתור קלט כדי ליצור גוש של קדם-פלט מורכב,
אבל בשביל החלפה אחרונה של גושים, של 16 מחזורים של חישובים שמתוארים
להלן במושגים של פונקצית הצפנה f
שמתבצעת על שני גושים אחת של 32 סיביות ואחת של 48 סיביות, ויוצרת
גוש בגודל 32 סיביות.
יהיו 64 סיביות
של גוש הקלט לאיטרציה מורכבת מ 32 סיביות של גוש L
ואחריהן 32 סיביות של גוש R. בעזרת הסימון
המוגדר במבוא, גוש הפלט יסומן כ-LR.
יהי K
גוש בגודל 48 סיביות הנבחרות ממפתח בגודל 64 סיביות. אז הפלט 'L'R
של מחזור עם קלט LR מוגדר על ידי :
(1) L' = R
R' = L(+)f(R,K)
|
כאשר (+) מסמל חיבור
סיבית סיבית במודול 2.
כפי שציינו, הקלט
של המחזור הראשון של החישוב הוא הגוש שעבר תמורה. אם
'L'R הוא
הפלט של המחזור ה-16 אז
'R'L
הוא גוש הקדם- פלט. בכל מחזור גוש שונה K
של סיביות מפתח שנבחרו ממפתח בגודל 64 סיביות שמצוין על ידי KEY.
עם יותר סימונים
אנו יכולים לתאר מחזורים של חישובים ביתר פרטים. תהי KS
פונקציה שלוקחת מספר שלם n בטווח 1-16
וגוש בגודל 24 סיביות KEY בתור קלט ומפיק
בתור פלט Kn
שהוא גוש בגודל 48 סיביות שהוא בחירה שעברה תמורה של סיביות
מ-KEY.
זאת אומרת:
כאשר Kn
נקבע על ידי סיביות ב-48 מקומות ניכרים של KS
.KEY נקרא תזמון מפתח מפני שמשתמשים בגוש
K במחזור ה- n
י של (1) והוא גוש Kn
שנקבע על ידי (2).
כמו קודם, יהי LR
גוש הקלט שעבר תמורה. לבסוף, יהיו
L0 ו-R0
בהתאמה L ו-R
ויהיו Ln ו-Rn
בהתאמה 'L ו-'R
של (1) כאשר L ו-R
בהתאמה Ln-1
ו-Rn-1
ו-K הוא Kn,
כאשר n=1,2,3,...,16 .
(3)
Ln
= Rn-1
Rnn =
Ln-1(+)f(Rn-1,Kn) |
ואז הגוש של קדם הפלט הוא
R16L16
.
תזמון המפתח KS
של האלגוריתם מתואר בפרוטרוט בנספח. תזמון מפתח יוצר את 16 ה-Kn-ים הדרושים לאלגוריתם.
|