
ההיסטוריה של הקריפטוגרפיה
עד שנות ה-70, קריפטוגרפיה הייתה בעיקר כלי להצפנת מסרים כך שלא יוכלו להיות מפוענחים אם ייתפסו.
השימוש העיקרי היה בתחום הצבאי, שם היה צורך קריטי בהעברת מידע סודי בצורה מאובטחת.
הצפנה בסיסית
בתחילת הדרך, שיטות ההצפנה היו פשוטות יחסית. לדוגמה:
הזזת כל אות במסר באות אחת קדימה באלפבית - "abc" הופך ל-"bcd".
למרות הפשטות, זו הייתה ההתחלה של מדע ההצפנה המודרני.
קריפטוגרפיה סימטרית
עם התקדמות התחום, הוצג מושג המפתח הסודי.
שני הצדדים היו צריכים להיפגש מראש ולהסכים על מפתח משותף.
המפתח, בשילוב עם פונקציית הצפנה, יצר הצפנה מאובטחת יותר.
זוהי קריפטוגרפיה סימטרית - שני הצדדים משתמשים באותו מפתח.
קריפטוגרפיה א-סימטרית - המהפכה הגדולה
עם הופעת המחשב האישי, עלה צורך חדש:
איך שני אנשים יכולים לתקשר בצורה מאובטחת מבלי להיפגש קודם להחלפת מפתחות?
הרעיון הפורץ דרך של וייטפילד דיפי
בשנת 1976, וייטפילד דיפי הציע רעיון מהפכני שישנה את עולם הקריפטוגרפיה לנצח.
במקום להשתמש באותו מפתח להצפנה ופענוח, הוא הציע שיטה חדשה לגמרי:
- מפתח פרטי - נשאר חסוי אצל הבעלים
- מפתח ציבורי - מפורסם לכל דורש
- שני המפתחות קשורים מתמטית, אך בלתי אפשרי לחשב אחד מהשני
שתי שימושים מרכזיים
הצפנת הודעה סודית
נניח שאליס רוצה לשלוח הודעה מוצפנת לבוב:
- אליס משתמשת במפתח הציבורי של בוב להצפנת ההודעה
- רק המפתח הפרטי של בוב יכול לפענח את ההודעה
- גם אם מישהו יירט את ההודעה, הוא לא יוכל לפענח אותה
חתימה דיגיטלית
הקריפטוגרפיה הא-סימטרית מאפשרת גם חתימה דיגיטלית:
- בוב מצפין מסר עם המפתח הפרטי שלו
- כל אחד יכול לפענח עם המפתח הציבורי שלו
- אם הפענוח מצליח, זה מוכיח שבוב חתם על המסר
הצפנת הודעה סודית
יתרונות מרכזיים
- אין צורך בהחלפת מפתחות סודית מראש
- אבטחה חזקה יותר משיטות סימטריות
- תמיכה בחתימות דיגיטליות
- מאפשר תקשורת מאובטחת ברשת האינטרנט
שימושים נפוצים
- SSL/TLS לאבטחת אתרי אינטרנט
- חתימות דיגיטליות על מסמכים
- הצפנת דואר אלקטרוני
- מערכות תשלום מאובטחות
- בלוקצ'יין ומטבעות קריפטוגרפיים
אלגוריתמים מודרניים
RSA
אלגוריתם RSA מבוסס על עיקרון מתמטי פשוט אך חזק:
- קל מאוד למצוא את המכפלה של שני מספרים ראשוניים
- קשה מאוד לפרק מספר למספרים הראשוניים שמרכיבים אותו
- הקושי בפיצוח RSA הוא עדיין בעיה לא פתורה במדעי המחשב
- מניחים שניתן לפצח אותו רק בזמן אקספוננציאלי (ביחס לגודל הקלט)
ECDSA
אלגוריתם ECDSA משתמש בעקומים אליפטיים:
- מספק רמת אבטחה זהה עם מפתחות קטנים יותר
- הפך פופולרי בגלל היעילות שלו
- משמש בביטקוין עם העקום הספציפי secp256k1
- יעיל יותר מ-RSA במקרים רבים
סיכום
הקריפטוגרפיה עברה דרך ארוכה:
מהזזת אותיות פשוטה להצפנה סימטרית מורכבת,דרך המהפכה של המפתח הציבורי
ועד לאלגוריתמים המודרניים המאפשרים חתימות דיגיטליות בטוחות
היום, הטכנולוגיות האלו מאפשרות:
- תקשורת מאובטחת באינטרנט
- חתימות דיגיטליות לחוזים
- מטבעות קריפטוגרפיים
- ועוד שימושים רבים בעולם הדיגיטלי המודרני