פנקס חד-פעמי – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מנוחה (שיחה | תרומות)
שורה 59:
דוגמה נוספת גרועה אף יותר היא פרוטוקול [[WEP]] שבגרסאות הראשונות שלו הכנת המפתח לצורך הצפנה הייתה באמצעות [[וקטור אתחול]] שיחד עם המפתח הסודי מוזן ל-RC4 המייצר את זרם המפתח לצורך הצפנת הפריים ב-XOR. כל פריים הוצפן עם מפתח אחר שהוא פונקציה של המפתח הסודי הקבוע יחד עם וקטור אתחול שונה. היו שתי בעיות חמורות. ראשית, וקטור האתחול היה בעצם מספר סידורי של הפריים והוא שודר בגלוי, היות שווקטור האתחול היה באורך 24 סיביות המשמעות היא שהוא מתאפס אחרי <math>2^{24}</math> או 16 מיליון פריימים שזה לא הרבה במונחים של ימינו. שנית, בכרטיסים מסוימים לאחר כיבוי והפעלה וקטור האתחול היה מתאפס. בשני מקרים אילו מה שקרה זה שמסרים שונים הוצפנו עם אותו מפתח, כשהמשמעות היא שבירה מוחלטת של הפרוטוקול. פרוטוקול זה הכיל כשלים רבים נוספים מה שהוביל לבסוף להחלפתו בפרוטוקול [[WPA]].
 
==[[חשילות (קריפטוגרפיה)|חשילות]]==
פנקס חד פעמי אינו מבטיח אותנטיות. החיסרון בהצפנה עם פעולת XOR של זרם המפתח עם המסר היא שניתן לבצע מניפולציה של סיביות מסוימות במסר המקורי מבלי לפענח את הטקסט המוצפן. השינוי יכול להיות נקודתי ולא ישפיע על חלקים אחרים של הצופן. תכונה זו נקראת "[[חשילות (קריפטוגרפיה)|חשילות]]". למשל אם המסר המוצפן מכיל הצפנה של השם "דוד" (בקידוד [[אסקי]] נניח <math>\text{E3E5E3}</math>) אם המתקיף במקרה יודע שהשם המוצפן הוא דוד ביכולתו לשנותו ל"משה" (<math>\text{EEF9E4}</math>) מבלי שהמקבל יבחין בכך. כל שעליו לעשות הוא לחבר XOR של השמות משה ודוד <math>\text{EEF9E4}\oplus\text{E3E5E3}=\text{D1C07}</math> ואז לחבר את התוצאה ב-XOR עם הטקסט המוצפן במיקום הנכון. המקבל לאחר פענוח עלול לחשוב שהשם הנכון הוא משה בעוד שהמצפין שלח את השם דוד. מסיבה זו אין להשתמש בפנקס חד פעמי ללא אמצעי נוסף ל[[אימות מסרים|הבטחת שלמות ואימות]].
 
==סודיות מושלמת==