RSA – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ←‏קישורים חיצוניים: * נצה מובשוביץ-הדר, [http://video.cet.ac.il/VideoPlayerHTML5.aspx?xmlConfigPath=math/2014/prop_niza_movshovich_hadar_mdi.xml הרצאה על מספרים ראשוניים והצפנה], יסודות ה-[
Eyalweyalw (שיחה | תרומות)
מ הוספת הבהרה ל"עמחה" שהביטוי "במגבלות הזיכרון הזמין במחשב" לא מיתרגם אצלו מיד ל"במגבלות כל מספר שרק תרצה אלא אם אתה מבצע עיבוד סרטון במקביל"
שורה 217:
 
== אלגוריתמים ==
כדי ליישם את RSA במחשב אין די בדרך הרגילה באמצעות [[יחידה אריתמטית-לוגית|יחידת החישוב]] ב[[מעבד]], כיוון שאורך מקסימלי של מספר שניתן לעיבוד בדרך קונבנציונאלית אינו עולה על גודלו של ה[[אוגר (מחשבים)|אוגר]] הגדול ביותר. ככל שהמחשבים ישתפרו, הצורך ב[[חשבון מודולרי|אריתמטיקה מודולרית]] במספרים גדולים בהרבה רק ילך ויגדל. משום כך הפתרון הוא אריתמטיקה מרובת ספרות (Multi-precision), כלומר חישוב ספרה אחר ספרה בנפרד כאשר כל ספרה תופסת קרוב לאוגר שלם. בדרך זוזוב החישוב יותר איטי, אך אורך המספרים אינו מוגבל (בגבולות הזיכרון הזמין במחשב - שהם גדולים בהרבה מהגדלים שבהם עוסקים בRSA). קיימות ספריות לחישובים אריתמטיים מרובי ספרות לשפות התכנות הנפוצות כמו FreeLIP ל[[C (שפת תכנות)|שפת C]] של [[ארג'ן לנסטרה]], שסייעה באתגר הראשון כנגד RSA, פירוק RSA-129 ב-1994 או המחלקה BigInteger של [[Java]].
 
מרכיב חשוב בהכנת RSA הוא יצירת מפתח הפענוח <math>\ d</math> שנקרא הופכי כפלי מודולרי של <math>\ e</math> (מודולו <math>\ n</math>). כדי למצוא מספר כזה צריך לפתור את משוואת אוקלידס <math>\ de + k \phi(n) = 1</math> עבור שלם <math>\ k</math> כלשהו. אפשר לבצע זאת באמצעות [[אלגוריתם אוקלידס]] המורחב. להלן הגרסה הבסיסית:
אוחזר מתוך "https://he.wikipedia.org/wiki/RSA"