Digital Signature Algorithm

Digital Signature Algorithm (DSA) הוא שיטה לחתימה דיגיטלית.

החתימה מאמתת מי שלח את המסר ושומרת על שלמותו. היא לא מצפינה את המסר.

הביטחון ב-DSA מבוסס על בעיה מתמטית קשה שנקראת לוגריתם בדיד. קשה לפתור את הבעיה הזו, ולכן קשה לזייף חתימות.

יש שני מפתחות: פרטי וסודי, וציבורי שכולם יכולים לראות.
כדי לחתום בוחרים מספר אקראי k שמשתמשים בו רק פעם אחת. מחשבים שני מספרים r ו-s מהמסר ומהמפתחות. החתימה היא (r,s).

כדי לבדוק חתימה, משתמשים במפתח הציבורי. מחשבים כמה ערכים ובודקים אם v שווה ל-r. אם כן, החתימה אמיתית.

ECDSA היא גרסה של DSA שמשתמשת בעקומות אליפטיות. עם עקומות אפשר לקבל אבטחה דומה עם מספרים קטנים יותר.

חשוב שכל חתימה תקבל k שונה. אם משתמשים באותו k פעמיים, אפשר לגלות את המפתח הפרטי ולגנוב חתימות. זה קרה בעבר במשחקים ובארנקים של ביטקוין.

לפני החתימה מחשבים גיבוב של המסר. גיבוב הוא מספר קבוע שמייצג את המסר. כיום משתמשים ב-SHA-2 כדי שהגיבוב יהיה בטוח.

תגובות גולשים

התגובה תפורסם באתר לאחר אישור המערכת

עדיין אין תגובות. היה הראשון להגיב!