עמוד הבית > DES > הצפנה

הצפנה

סקיצה של חישובי ההצפנה נתונה באיור 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.

זאת אומרת: 

(2) Kn=KS(n,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-ים הדרושים לאלגוריתם.

 

 לעמוד הקודם

לעמוד הבא
 
 

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

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

 

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