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