התקפת גלוי-ידוע

בקריפטואנליזה, התקפת גלוי-ידוע (באנגלית: Known Plaintext Attack) או "תְּקִיפַת תַּמְלִיל פָּשׁוּט יָדוּעַ" (לפי האקדמיה ללשון) היא מודל התקפה שבו למתקיף יש גישה לזוגות של טקסט גלוי וטקסט מוצפן מתאים שהוצפנו באמצעות אלגוריתם ההצפנה אותו הוא מנסה לפצח. עם מידע זה הוא מנסה לחשוף מידע מוצפן אחר או לחשוף את מפתח ההצפנה איתו המידע הוצפן. הטקסט הגלוי בדרך כלל מושג בדרכים לא קריפטוגרפיות כמו בדרך של גניבה לכן אומץ על ידי צוות המנתחים של בלצ'לי פארק הכינוי "crib" שהוא "פילוח" או "גניבה" בלשון הדיבור. הרעיון מאחורי מודל זה שיותר קשה לנתח טקסט משפה זרה או רצף סימנים חסרי משמעות במקרה של צופן, ללא רמז כלשהו כמו מילה או ביטוי שעשויים להימצא בטקסט המקורי שהוצפן. אם בהתקפה כנגד טקסט מוצפן כלשהו ידוע מראש חלק מהטקסט הגלוי קל יותר יהיה למצוא נקודות תורפה בצופן. כל תבנית בטקסט המוצפן הנגרמת כתוצאה מהימצאותו של טקסט גלוי ספציפי, יכולה לשמש סימן לתוקף שהוא בדרך הנכונה. 
התקפה דומה אחרת נקראת התקפת גלוי-נבחר. בשתיהן קיימת גישה הן לטקסט מוצפן והן לטקסט המקור המתאים. ההבדל העיקרי הוא שבהתקפת גלוי-נבחר התוקף הוא זה שבוחר את הטקסט הגלוי שעבורו הוא מעוניין לקבל טקסט מוצפן מתאים. יכולת הבחירה עשויה להיות חשובה עבור התוקף שיכול לבצע בחירה מושכלת של טקסטים על מנת למטב את ההתקפה. יתרון שאינו קיים בהתקפת גלוי ידוע, כיוון שבהתקפה זו אין לו שליטה על הטקסט הגלוי, שמושג בדרך פסיבית.

היסטוריה

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

צפנים מודרניים

הצפנים הקלאסיים היו בעיקר פגיעים להתקפת גלוי ידוע. קל לראות למשל שאפשר לנחש צופן החלפה פשוט כמו צופן קיסר כלאחר יד, בידיעה של אות מקורית אחת בלבד, כיוון שאפקטיבית יהיה קל לחשב את ההיסט או במילים אחרות את מפתח ההצפנה. באופן דומה, די ברצף מקור קצר יחסית כדי לפענח צפנים קלאסיים אחרים מורכבים יותר. גם סוגים מסוימים של צפני זרם עשויים להיות רגישים להתקפה כזו. בגרסה מוקדמת של PKZIP שכללה אפשרות הצפנה, ייושם צופן זרם מאולתר שהייתה בו נקודת תורפה שאיפשרה לפענח מספר קבצים שהוצפנו במפתח אחד בידיעה של קובץ מקור בודד בסיבוכיות של  ואף פחות עם טקסט-גלוי בכמות גדולה. מאידך צפנים מודרניים כמו AES עמידים באופן כללי בפני התקפה כזו. אנליזה דיפרנציאלית וליניארית מסתמכות לרוב על כמות נכבדה של טקסט גלוי ידוע. אולם בשל מורכבות האלגוריתמים הסימטריים המודרניים ובשל גודל הבלוקים, כדי להשיג תוצאה משמעותית חייב התוקף לנתח כמות טקסט אסטרונומית, כמעט מעבר ליכולת הטכנולוגית. למשל איסוף של  טקסטים גלויים בגודל של 128 סיביות (כמו באלגוריתם AES) מצריך שטח אחסון גדול הרבה מעבר למצוי כיום בעולם (נכון ל-2013).