הלבנה (קריפטוגרפיה)

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

טכניקה זו יושמה לראשונה בגרסה משופרת של DES שפותחה על ידי רון ריבסט מחברת RSA שנקראת DES-X וכן בצופן FEAL. ריבסט הוא זה שכינה אותה "הלבנה". בהלבנה של DES-X משתמשים בשלושה מפתחות שונים  וההצפנה/פענוח נראים כדלהלן:

כלומר בהצפנה תחילה מחברים ב-XOR את הקלט עם המפתח , את התוצאה מצפינים כרגיל עם  ולאחר מכן מחברים את התוצאה האחרונה ב-XOR עם המפתח . בפענוח מבצעים את הפעולות המתוארות בסדר הפוך.

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

היות שתוספת זו לא עולה הרבה במונחי מחשוב אין סיבה שלא לעשות בה שימוש. לכן צפנים מודרניים רבים אימצו את טכניקת ההלבנה, ביניהם אפשר למנות את AES, Twofish, קמליה ו-MARS.

ראו גם
 AES
 צופן בלוקים

הערות שוליים

קטגוריה:קריפטוגרפיה