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

סימטרי מפתח אלגוריתמים הצפנה

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

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

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

מידע נוסף : PGP הצפנה: איך זה עובד ואיך אתה יכול להתחיל

מפתח אסימטרי (מפתח ציבורי) אלגוריתמים של הצפנה

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

כדוגמה מעשית, שקול אנלוגיה זו. מה אם אליס רוצה לתקשר בצורה בטוחה עם בוב, אבל היא לא סומכת עליו?

  1. אליס רוכשת מנעול ושילוב מפתח. היא פותחת את המנעול במפתח שלה ושולחת את המנעול הלא נעול לבוב.
  2. בוב מציב את המסר שלו בקופסה ומשתמש מנעול של אליס לנעול אותו.
  3. בוב מחזיר את הארגז הנעול לאליס, מאובטח במנעול של אליס.
  4. אליס פותחת את הקופסה במפתח המנעול, שרק היא מחזיקה.

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

אבטחה במספרים גדולים

כדי להישאר בטוחים, אלגוריתמים אלה מסתמכים על מנעול מורכב / בעיות מתמטיות ללא פתרון יעיל ידוע. בעיות בלתי פתירות אלה מגדירות פונקציות חד כיווניות: קל לחשב בכיוון אחד, אך קשה מאוד לחשב לאחור. RSA, אלגוריתם מפתח ציבורי נפוץ, מסתמך על הקושי במציאת גורמי ראש של מספרים שלמים עם מאות ספרות עשרוניות.

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

בלי לדעת את הגורמים העיקריים, מציאת הגורמים העיקריים של המוצר ייקח כמות בלתי אפשרית של זמן. RSA-1024, התקן המינימלי, משתמש במוצרים בינאריים של 1024 סיביות העשויים מ - 512 סיביות בינאריות. על פי המתמטיקה, זה יחייב 5.95 × 10 ^ 211 שנים גורם ללא המפתח. עבור הפרספקטיבה, היקום קיים רק עבור קצר יחסית 13.75 x 10 ^ 19 שנים.

פונקציות Hash

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

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

מלח

עבור אחסון סיסמה, חברות בדרך כלל להוסיף "מלח" לפני hashing. מחרוזת זו שנוצרת באופן אקראי משורשרת עם טקסט הסיסמה לפני hashing, להבטיח כי גם שתי סיסמאות זהות לייצר hashes שונים. זה גם מגן מפני התקפה מילון על שולחן גנוב של סיסמאות hashed.

סיכום

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