Secure Hash Algorithm

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

מטרת SHA היא לבדוק שמידע לא שונה. גם שינוי קטן בהודעה ייצור תמצית שונה. זה עוזר לוודא שהמידע לא שונה בדרך.

יש כמה גרסאות חשובות: SHA-0 ו-SHA-1 (ישנות), SHA-2 (כוללת SHA-256 ועוד), ו-SHA-3 שנבחרה ב-2012.

ארגונים כמו NIST ו-CSE בודקים את הפונקציות האלה ומאשרים מוצרים שעמדו בבדיקה.

הגרסה הראשונה פורסמה ב-1993. ב-1995 יצאה SHA-1 עם תיקון קטן. ב-2002 הוסיפו גרסאות חזקות יותר. ב-2007 ערכו תחרות למציאת אלגוריתם חדש, וב-2012 נבחר Keccak להיות SHA-3.

איך זה עובד בקצרה: ההודעה מתחלקת לחלקים. מוסיפים סיבית 1 ואז אפסים ולבסוף את אורך ההודעה. החלקים מורחבים למילים רבות. אחר כך עושים סדרה של סבבים של פעולות על מילים אלה. בסוף מקבלים תמצית.

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

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

בכל סבב מעדכנים את המידע הפנימי לפי כללים של הזזה וחיבור.

הפעולות כוללות חיבור, XOR (פעולה מתמטית שמערב ביטים) והזזות. בסוף מוסיפים את התוצאות לקבלת הפלט.

SHA-1 דומה ל-SHA-0, אך בהרחבת ההודעה מוסיפים סיבוב אחד לכל מילה. ב-2005 נמצאה חולשה ב-SHA-1, אז כבר לא ממליצים להשתמש בו.

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

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

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

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