RSA — אלגוריתם-הצפנה שנולד בליל-פסח 1977; קוקס הקדימו בסתר

יסודות דיגיטליים

הגדרה

RSA הוא אלגוריתם הצפנה א-סימטרית מבוסס מפתח-ציבורי ומפתח-פרטי, שפיתחו רון ריבסט, עדי שמיר ולאונרד אדלמן ב-MIT ב-1977 — עדיין עומד בבסיס רוב תשתיות האבטחה הדיגיטלית כיום.

מה זה בעצם הצפנה א-סימטרית: מפתח-ציבורי מול מפתח-פרטי

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

1977, MIT: ריבסט, שמיר ואדלמן, ותובנת-ליל-הסדר

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

מהחידה ב-Scientific American למאמר המדעי הפורמלי, 1977-1978

השיטה פורסמה לראשונה לציבור הרחב במדור-החידות של המגזין Scientific American באוגוסט 1977, עוד לפני הגשת בקשת-הפטנט הרשמית. המאמר המדעי הפורמלי והמלא, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", התפרסם בכתב-העת המדעי Communications of the ACM בפברואר 1978, ומאז נחשב לאחד המאמרים המצוטטים ביותר בתולדות מדעי-המחשב.

התגלית החסויה שקדמה: קליפורד קוקס וה-GCHQ הבריטי, 1973

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

פטנט, מסחור ושחרור לנחלת-הכלל: 1983–2000

ל-RSA נרשם פטנט אמריקאי (מספר 4,405,829) שהוענק ב-20 בספטמבר 1983 ובבעלות MIT. חברת RSA Security, שהוקמה למסחור הטכנולוגיה, שחררה מרצונה את האלגוריתם לנחלת-הכלל ב-6 בספטמבר 2000 — כשבועיים בלבד לפני מועד-הפקיעה הטבעי של הפטנט ממילא.

RSA היום: HTTPS, חתימות דיגיטליות, ואיום המחשוב הקוונטי

RSA עומד עד היום בבסיס תשתיות-אבטחה קריטיות: תעודות-אתרים דיגיטליות (HTTPS), חתימות דיגיטליות, ואימות-זהות מאובטח ברשת. גודל-המפתח הנדרש גדל עם הזמן — מ-512 סיביות בשנות ה-90 לכ-2048 או 4096 סיביות כיום. איום עתידי הוא אלגוריתם שור (Shor's Algorithm) למחשוב-קוונטי, שאם יבוצע על מחשב-קוונטי גדול-מספיק יוכל לפרק מפתחות-RSA — סיבה מרכזית למחקר הפעיל היום בקריפטוגרפיה פוסט-קוונטית.

שאלות נפוצות ❓

מי המציא את RSA ומתי בדיוק?

רון ריבסט, עדי שמיר ולאונרד אדלמן, ב-MIT ב-1977 — ריבסט קיבל את התובנה המכרעת בליל-פסח באפריל 1977, והמאמר המדעי הפורמלי התפרסם בכתב-העת Communications of the ACM בפברואר 1978.

האם מישהו המציא שיטה דומה לפני RSA?

כן — קליפורד קוקס ב-GCHQ הבריטי ב-1973, אך העבודה נותרה חסויה ולא פורסמה עד 1997, ולכן לא השפיעה כלל על הפיתוח העצמאי של ריבסט, שמיר ואדלמן.

איך RSA שומר על ביטחון בלי לחשוף את המפתח הפרטי?

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

האם RSA "בטוח" גם מפני מחשבים קוונטיים?

לא לטווח-ארוך: אלגוריתם שור, אם יבוצע על מחשב-קוונטי גדול-מספיק, יוכל לפרק מפתחות-RSA — סיבה מרכזית לפיתוח הפעיל היום של שיטות-הצפנה "פוסט-קוונטיות" חסינות בפני איום כזה.