הדוגמא
שלעיל הינה דוגמא של הצפנה בעזרת מפתח פרטי.
בסוג זה של הצפנה , גם השולח וגם המקבל מחזיקים
אלגוריתם קידוד\פענוח סודי. השולח מצפין
בעזרת האלגוריתם והמקבל מפענח בעזרת
אלגוריתם המבצע תהליך הפוך (reverse).
ישנם
מספר בעיות בגישה זו. אחת מהן היא כיצד ניתן
להחליף מפתחות באופן בטוח. אם אתה לא סומך על
האבטחה של התקשורת שלך , אינך יכול סתם כך
לשלוח ע"ג הרשת את המפתח הפרטי לצד המקבל.
אם המפתח הפרטי יתגלגל לידי אדם זר , כל
התקשורת תחשף לפענוח.
למרבה
הצער , כאשר אתה משתמש בהצפנה בעזרת מפתח פרטי
, אתה חייב להעביר את המפתח בצורה אישית.
יותר
מכך , מה קורה אם העברת את המפתח הפרטי אישית
אך המפתח נגנב ע"י צד שלישי?
הצפנה
מודרנית כיום עוקפת את הבעיות הללו בעזרת מה
שמכונה שימוש במפתח ציבורי (Public
Key).
שיטת
המפתח הציבורי מתבססת על סוג מסויים של
אלגוריתם מתמטי המאפשר קידוד\פענוח חד-כיווני.
על כן , אלגוריתם מפתח ציבורי מאפשר לך להצפין
הודעה בעזרת מפתח מיוחד בעל מספר תכונות
מיוחדות ביותר.
וכך ע"י
שימוש בשיטה זו אתה לא נדרש לדאגה של הפצת
המפתח הפרטי אלא אתה יכול להפיץ את המפתח
הציבורי לכל מי שאתה רוצה שישלח לך הודעות
מוצפנות שיוכלו להקרא אך ורק על ידך.
כל
שולח יכול להצפין את הודעתו עם המפתח הציבורי
שלך ואז רק אתה תוכל לפענח בחזרה את ההודעה ע"י
שימוש במפתח הפרטי.
ישנם
כמה אלגוריתמי הצפנה פופולריים עבור שיטת
המפתח הציבורי למשל : RSA,Diffie-Hellman
וכן Elliptic-Curve cryptography
וכן חבילות הצפנה כגון PGP
– ליישום בתוך אפליקציות WEB.
ישנה
פונקציה נוספת של המפתח הפרטי אותה יש להזכיר.
המפתח הפרטי גם כן משמש לצורך וידוא ההצפנה.
תכונה זאת נקראת חתימה דיגיטלית אשר בעצם
מספקת אותנטיות מכיוון שרק המחזיק במפתח
הפרטי יכול להצפין הודעה זו. טכניקה דומה
נמצאת בשימוש לצורך וידוא שלמות ההודעה.