Hashing לעומת הצפנה

התהליך של הפיכת מחרוזת תווים לערך קצר יותר באורך קבוע (נקרא ערכי hash, קודי hash, סכומי hash או סיכומי צ'קים) המייצג את המחרוזת המקורית נקרא hashing. בדרך כלל משתמשים בפונקציה לביצוע טרנספורמציה זו והיא נקראת פונקצית hash. Hashing היה הופך את האינדקס והשליפה של נתונים במאגרי נתונים למהירים יותר, מכיוון שחיפוש בערך ה- Hash של האורך הקצר והקצר יותר יהיה מהיר יותר מאשר חיפוש בערך המקורי. הצפנה היא תהליך המרת נתונים לפורמט שלא ניתן להבין על ידי הצדדים שאינם מורשים לראות את הנתונים. פורמט חדש זה נקרא טקסט הצופן. המרת טקסט צופן בחזרה לפורמט המקורי נקרא פענוח.

מה זה האשינג?

המרת מחרוזת תווים לערך קצר יותר באורך קבוע המייצג את המיתר המקורי נקרא hashing. המרה זו מבוצעת על ידי פונקציית hash. Hashing מאפשר אינדקס ושליפה מהירים יותר של נתונים ממאגרי מידע עקב שימוש בערך hash קצר יותר מהערך המקורי. Hashing משמש גם באלגוריתמי הצפנה להצפנה ופענוח של חתימות דיגיטליות. Hashing הוא פעולה חד כיוונית ולא ניתן לאחזר את הערך המקורי על ידי ערך ה- hash. יתר על כן, hashing לא אמור לייצר את אותו ערך hash עבור שני ערכים מקוריים שונים. חלק משיטות ה- hashing הפשוטות והנפוצות הן שיטת המשך חלוקה, שיטת קיפול ושיטת שינוי Radix.

מה זה הצפנה?

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

מה ההבדל בין Hashing והצפנה?

המרת מחרוזת תווים לערך קצר יותר באורך קבוע המייצג את המחרוזת המקורית נקראת hashing, בעוד שהמרת נתונים לפורמט (המכונה "צופן טקסט") שלא ניתן להבין על ידי הצדדים שאינם מורשים לראות את הנתונים, נקראת הצפנה. מכיוון ש- hashing הוא פעולה אחת בדרך בה לא ניתן לאחזר את הערך המקורי על ידי ערך ה- hash, הוא משמש גם להצפנה. פונקציות hash לעיכול הודעות (MD2, MD4 ו- MD5) משמשות להצפנת חתימות דיגיטליות. אך השימוש בחשיבה אינו מוגבל להצפנה. Hashing משמש גם לאחזור מהיר יותר של נתונים ממאגרי מידע. אך פונקציות ה- hash המשמשות למשימות אלה שונות זו מזו ועשויות לא לעבוד טוב אם מחליפים בין שתי המשימות.