מספרים שהעבירה סוכנות הביון האמריקנית לתקני חתימה דיגיטלית שוחזרו באמצעות מחולל פסאודו-אקראי פשוט משנות ה-90
ב-16 באוגוסט 1997, בשעה 01:52:34 בדיוק, שעון של מחשב סיפק את נקודת ההתחלה לרצף מספרים שיהפוך בהמשך לחלק מתקן אבטחה מרכזי. כמעט שלושה עשורים אחר כך, התאריך הזה התגלה כמפתח לפענוח תעלומה שהעסיקה חוקרי קריפטוגרפיה במשך יותר מ-25 שנה. מה שנחשד במשך שנים כדרך אפשרית להסתיר דלת אחורית במערכות אבטחה התגלה כרצף שנוצר באמצעות מחולל מספרים פשוט משנות ה-90. מי שהצליח לשחזר את התהליך הוא Claude של חברת Anthropic, שנזקק לפחות מחצי שעה כדי להגיע לתשובה.
ההישג לא נוגע לפריצה למערכת הצפנה, אלא לשאלה מטרידה לא פחות: האם סוכנות הביון האמריקנית, ה-NSA, בחרה בכוונה מספרים שיאפשרו לה לעקוף מנגנוני אבטחה שהעולם כולו למד לסמוך עליהם? התגלית החדשה מספקת לראשונה הסבר שניתן לשחזר באופן עצמאי, ומחלישה את החשד הזה באופן משמעותי.
המספרים שהטילו צל על תקני האבטחה
בשנת 2000 אימץ המכון הלאומי לתקנים וטכנולוגיה בארה"ב (NIST) שורה של עקומים אליפטיים המשמשים בקריפטוגרפיה, במסגרת תקן החתימות הדיגיטליות FIPS 186-2. אחד המנגנונים המרכזיים שהתבססו עליהם הוא ECDSA, אלגוריתם שמאפשר להוכיח כי הודעה, קובץ או עדכון תוכנה אכן נחתמו בידי הגורם המחזיק במפתח הפרטי המתאים, וכי התוכן לא שונה לאחר החתימה. הטכנולוגיה הזאת משולבת עד היום בתשתיות אבטחה ובמערכות דיגיטליות רבות.
אחד הפרמטרים המתמטיים המשמשים להגדרת העקומים נגזר ממספר התחלתי המכונה Seed. התקן אמנם פרסם את המספרים עצמם ואת הדרך שבה משתמשים בהם ליצירת חלק מהפרמטרים, אבל לא הסביר כיצד נבחרו המספרים ההתחלתיים. מכיוון שהערכים סופקו על ידי ה-NSA, חוסר השקיפות העלה שאלה פשוטה: האם הסוכנות בחרה אותם באופן תמים, או מתוך מספר גדול של אפשרויות כדי לקבל עקום בעל חולשה שרק היא מכירה?
החשד לא נולד בחלל ריק. בעקבות חשיפות אדוארד סנודן בשנת 2013 התברר כי לסוכנות הביון האמריקנית היה עניין בהחלשת מנגנוני אבטחה. במקרה אחר, של מחולל המספרים האקראיים Dual_EC_DRBG, החששות הגיעו עד להחלטת NIST להסיר אותו מהמלצותיו בשנת 2015. מדובר באלגוריתם נפרד, אבל הפרשה הספיקה כדי להמחיש מדוע בחירה לא מוסברת של פרמטרים קריפטוגרפיים מעוררת חוסר אמון.
במשך השנים ניסו חוקרים להתחקות אחר מקורם של המספרים. אחת ההשערות הייתה שהם נגזרו מגיבוב (Hash) של משפט משעשע שנבחר בידי עובדי ה-NSA. אפילו אחד האנשים שהיו מעורבים בפיתוח התקנים, ג'רי סולינס, זכר במעורפל משפט על העלאת שכר לעובדים. אלא שאיש לא הצליח למצוא משפט שהפיק את הערכים שפורסמו.
Claude חזר לתוכנת C ישנה ומצא התאמה מדויקת
באוקטובר 2026 החליט עובד ב-Anthropic להציג את החידה למודל מחקר פנימי של Claude, מבלי לכוון אותו להשערה המוכרת על המשפט הסודי. במקום לנסות לנחש מילים, המודל בחן כיצד מתכנת בשנות ה-90 היה עשוי לייצר סדרות של מספרים באמצעות הכלים שהיו זמינים באותה תקופה.

הכיוון הזה הוביל למחולל הפסאודו-אקראי lrand48, שהיה זמין בספריות של שפת C. בניגוד למקור אקראיות אמיתי, מחולל כזה מייצר סדרת מספרים צפויה מראש עבור אותו ערך התחלתי. אחת הדרכים המקובלות לאתחל אותו הייתה להשתמש בחותמת זמן של Unix, המייצגת את מספר השניות שחלפו מאז תחילת 1970.
Claude פיתח ובדק השערות לגבי אופן השימוש במחולל, זיהה תבניות ברצפים המקוריים והצליח לשחזר את מצבו הפנימי באמצעות כלים מתמטיים, בהם אלגוריתם LLL לצמצום בסיסי סריגים. משם כבר ניתן היה להריץ את המחולל לאחור ולזהות את ערכי האתחול.
התוצאה הייתה מדויקת להפליא. חמשת המספרים ההתחלתיים של העקומים P-192, P-224, P-256, P-384 ו-P-521 התאימו לרצפים שנוצרו באמצעות המחולל, עם חותמות זמן בין מאי 1997 לאפריל 1998. עבור P-256, למשל, Claude שיחזר רצף שהחל ב-16 באוגוסט 1997 בשעה 01:52:34 לפי UTC, ומצא את הערך התקני בדיוק במועמד ה-1,842 שנוצר.
לא מדובר בהתאמה סטטיסטית כללית או בדמיון בין רצפים. השחזור הפיק מחדש את כל 160 הביטים של המספרים ההתחלתיים שנכללו בתקן. המודל הצליח לזהות גם את מקורם של מספרים נוספים בתקן ANSI X9.62, ובהמשך אף שחזר כיצד נבחרו נקודות בסיס מתמטיות עבור שישה עקומים, באמצעות מחולל מספרים אחר מספריית FreeLIP.
העניין אינו רק במהירות שבה Claude הגיע לפתרון. צוותי מחקר ניסו במשך שנים למצוא את התשובה באמצעות חיפוש אחר ביטויים אפשריים וניתוח היסטורי של התהליך. המודל ניגש לבעיה מהכיוון ההפוך: הוא ניסה לשחזר את סביבת התכנות ואת האלגוריתם שיכלו לייצר את התוצאה. במקום לחפש את הסיסמה שאיש לא זכר, הוא בדק אם בכלל הייתה סיסמה.
החשד נחלש, אבל לא כל השאלות נפתרו
הגילוי אינו מוכיח באופן מוחלט שלא נעשה ניסיון מכוון להשפיע על בחירת הפרמטרים. חוקרי Anthropic מצאו שבמהלך יצירת חלק מהעקומים דולגו מועמדים שנראו תקינים. במקרה של P-256, למשל, גם המועמד ה-876 עמד בדרישות מתמטיות מרכזיות, אבל התקן התבסס דווקא על המועמד ה-1,842. הסיבה לדילוג עדיין אינה ידועה.

גם מקורן של נקודות הבסיס בעקומים P-224, P-256, P-384 ו-P-521 לא פוענח, ומספר התחלתי אחד של עקום בינארי, B-163, נותר ללא הסבר. אלה פערים בתיעוד המקורי, לא ראיות לחולשת אבטחה. צוות המחקר מעריך שמרחב האפשרויות המצומצם יחסית אינו מתאים לתרחיש שבו נבחרו בכוונה עקומים בעלי חולשה נסתרת.
כאן נמצא ההבדל המרכזי בין גילוי המקור של המספרים לבין שבירת ההצפנה עצמה. העובדה שהמספרים ההתחלתיים נוצרו באמצעות מחולל פסאודו-אקראי חלש אינה אומרת שמפתחות ההצפנה של משתמשים נוצרו באמצעות אותו מחולל. מדובר בפרמטרים ציבוריים המשמשים להגדרת העקומים, ולא במספרים הסודיים שעליהם נשענות חתימות פרטניות. אין כאן פרצה חדשה, אין מפתחות שנחשפו ואין צורך לשנות הגדרות אבטחה בעקבות הגילוי.
התשובה התקבלה גם בבדיקה עצמאית. מהנדס הקריפטוגרפיה פיליפו ואלסורדה (Filippo Valsorda), שהכריז בשנת 2023 על פרס כספי לפענוח מקור המספרים, מימש מחדש את התהליך בשפת Go ואישר את השחזור. סכום הפרס, שהחל ב-12,288 דולר והוגדל פי שלושה בזכות ההחלטה לתרום אותו, הגיע ל-36,864 דולר. הכסף יועבר לארגון Internet Security Research Group, המפעיל בין היתר את שירות התעודות הדיגיטליות Let's Encrypt.
מעבר לפתרון חידה קריפטוגרפית, הסיפור מדגים סוג מסוים של התקדמות ביכולות הבינה המלאכותית. Claude לא הסתפק באיתור מידע קיים או בניסוח תשובה משכנעת. הוא העלה השערה טכנית, כתב כלים כדי לבדוק אותה, השתמש בשיטות מתמטיות לשחזור מצב פנימי של אלגוריתם והפיק תוצאה שאפשר לאמת באופן בלתי תלוי. זה בדיוק ההבדל בין מערכת שיודעת להסביר מחקר לבין מערכת שמסוגלת לתרום לו ממצאים חדשים.
יש כאן גם לקח ישן יותר, שאינו קשור לבינה מלאכותית. כאשר תקן אבטחה מסתמך על בחירות מתמטיות שאיש אינו יודע להסביר, חוסר השקיפות ממשיך לעורר ספקות גם עשרות שנים לאחר שהתקן פורסם. שחזור תהליך הבחירה לא פותר כל שאלה בנוגע לאבטחת התקן, אבל הוא מאפשר לבחון את אחת ההנחות המרכזיות שעמדו בבסיס החשד.
אחרי יותר מ-25 שנה של השערות על דלת אחורית נסתרת, ההסבר לחלק מרכזי מהתעלומה נמצא דווקא בשעון מחשב ובכמה שורות קוד משנות ה-90.



