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

תוכן שנמחק תוכן שנוסף
שורה 56:
 
דוגמה נוספת אף גרועה יותר היא פרוטוקול [[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 עם הטקסט המוצפן במיקום הנכון. מסיבה זו אין להשתמש בפנקס חד פעמי ללא אמצעי נוסף להבטחת שלמות ואימות.
 
==סודיות מושלמת==