חתימה דיגיטלית – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Meir2 (שיחה | תרומות)
שורה 16:
==הגדרה מתמטית==
חתימה דיגיטלית מורכבת משלושה אלגוריתמים: אלגוריתם הכנה "Gen", אלגוריתם חתימה "Sign" ואלגוריתם אימות "Verify" המוגדרים ביתר פירוט כך:
*אלגוריתם הכנת המפתחות מקבל פרמטר ביטחון <math>n</math> ומפיק זוג מפתחות (<math>pk,sk</math>) הנקראיםהראשון נקרא מפתח ציבורי ומפתחוהשיני מפתח פרטי בהתאמה{{הבהרה|איזו התאמה? מהי בכלל האינטרפטציה?}}. שניהם באורך <math>n</math> סיביות.
*אלגוריתם החתימה (שיכול להיות [[אלגוריתם הסתברותי|הסתברותי]]) מקבל כקלט את מפתח החתימה <math>sk</math> ואת המסר <math>m\in\{0,1\}^*</math> ומפיק את החתימה <math>\sigma</math> בניסוח רשמי <math>\sigma\leftarrow\text{Sign}_{sk}(m)</math>.
*אלגוריתם האימות, הוא אלגוריתם דטרמיניסטי שהקלט שלו הוא מפתח האימות הציבורי <math>pk</math>, המסר <math>m</math> והחתימה <math>\sigma</math> והפלט שלו הוא הסמל <math>b</math> כאשר <math>b=1</math> פירושו שהחתימה תקפה ואילו <math>b=0</math> פירושו שהחתימה לא תקפה. בניסוח רשמי <math>b=\text{Verify}_{pk}(m,\sigma)</math>.