ובמילים קצת יותר פשוטות לאלה אשר חסרים את הרקע הטכני...
אלגוריתם MD5 מהווה מעין "סיכום" של קלט מסויים ( סיסמא, קובץ וכו'.. ) אשר מנפק בסופו של דבר מעין חתימת זיהוי יחודית אשר לא ניתן לייצרה ללא שימוש בקלט המקורי.
בנוסף...
התהליך איננו הפיך, כלומר לא ניתן על פי התוצאה לקבל את הקלט.
למה זה טוב וכיצד משתמשים בזה..?
כאשר מעוניינים לוודא שקלט כלשהו הגיע ליעדו בצורה שלמה וללא שגיאות ( הנובעות מתקלות אפשריות במהלך העברת מידע אלקטרוני ) מעבירים את הקובץ הרלוונטי ואת חתימת ה MD5 שלו כפי שהשולח מחשב.
המקבל את הקובץ מריץ MD5 על הקובץ ומשווה את החתימה שקיבל לחתימה שהשולח מסר לו. אם הם זהים סימן שהקובץ עבר בהצלחה בין הצדדים ולא אבד/שונה מידע בדרך.
כאשר השימוש נעשה עבור סיסמאות, הקובץ שמכיל את היעד להשוואה מכיל למעשה את החתימה הדיגיטלית של הסיסמא עצמה ועורך השוואה מול תוצאת חישוב MD5 של סיסמא שהוקלדה. באופן זה רק אם הסיסמא זהה למקור הרי תתקבל חתימה זהה, והיות ולא ניתן לשחזר את הסיסמא המקורית על פי חתימתה די קשה למצוא אותה ( בדרך כלל השיטה לפענח סיסמאות מוצפנות בדרך זו היא העברת מילות מילון שונות דרך MD5 על מנת לקבל תוצאה זהה דבר שעלול להמשך שנים גם על מחשבי על.. )
מנגד עומד RSA אשר הינו אלגוריתם הצפנה דו כיווני אשר ניתן לשחזר את הקלט המקורי בעזרת מפתח מתאים.
צורת השימוש במפתוחת RSA מבוססת על יצור שני מפתחות הצפנה/פיענוח אשר אחד מהם מוגדר כפרטי והשני כציבורי.
כל מפתח שכזה יכול לשחזר מידע שהוצפן על ידי המפתח השני בלבד ולכן רק מי שמחזיק את המפתח השני יכול למעשה לשחזר מידע מוצפן....
כיצד משתמשים:
המפתח הציבורי מופץ לכל דורש ( אין שום בעיה עם זה.. )
כאשר מישהו מעוניין לשלוח לך קובץ מוצפן הוא משתמש במפתח הציבורי שלך לצורך ההצפנה..
הפיענוח של אותה תוצאה יכול להתבצע רק באמצעות המפתח הפרטי כלומר רק על ידיך אם אכן שמרת אותו נגיש לך בלבד.
על מנת לשלוח למישהו קובץ "לעיניו בלבד" עליך להצפין את הקובץ במפתח הציבורי שלו...
זהו פחות או יותר מקווה שכעת העניינים ברורים מעט יותר..