EITC/IS/CCF Classical Cryptography Fundamentals היא תוכנית הסמכת ה-IT האירופית על היבטים תיאורטיים ומעשיים של קריפטוגרפיה קלאסית, לרבות גם הצפנה פרטית וגם מפתח ציבורי, עם מבוא לצפנים מעשיים בשימוש נרחב באינטרנט, כגון ה-RSA.
תכנית הלימודים של יסודות הקריפטוגרפיה הקלאסית של EITC/IS/CCF מכסה מבוא לקריפטוגרפיה של מפתח פרטי, אריתמטיקה מודולרית וצפנים היסטוריים, צופני זרמים, מספרים אקראיים, צופן מאובטח ללא תנאי (OTP) (בהנחה של מתן פתרון לבעיית הפצת המפתחות, כמו ניתנת למשל על ידי חלוקת המפתחות הקוונטית, QKD), אוגרי משוב ליניאריים, תקן הצפנת נתונים (צופן DES, כולל הצפנה, לוח זמנים של מפתחות ופענוח), תקן הצפנה מתקדם (AES, הצגת שדות Galois קריפטוגרפיה מבוססת), יישומים של צופני בלוקים (כולל אופני פעולתם), התחשבות בהצפנה מרובות והתקפות בכוח גס, מבוא להצפנה עם מפתח ציבורי המכסה את תורת המספרים, אלגוריתם אוקלידי, פונקציית Phi של אוילר ומשפט אוילר, כמו גם מבוא למערכת ההצפנה RSA ואקספונציה יעילה, בתוך המבנה הבא, הכולל ג' דידקטי וידאו מקיף תוכן כאסמכתא להסמכת EITC זו.
קריפטוגרפיה מתייחסת לדרכים לתקשורת מאובטחת בנוכחות יריב. קריפטוגרפיה, במובן הרחב יותר, היא תהליך של יצירה וניתוח של פרוטוקולים המונעים מצדדים שלישיים או מהציבור הרחב לגשת להודעות פרטיות (מוצפנות). קריפטוגרפיה קלאסית מודרנית מבוססת על מספר מאפיינים עיקריים של אבטחת מידע כגון סודיות נתונים, שלמות נתונים, אימות ואי-הכחשה. בניגוד להצפנה הקוונטית, המבוססת על כללי פיזיקה קוונטית שונים בתכלית המאפיינים את הטבע, ההצפנה הקלאסית מתייחסת לקריפטוגרפיה המבוססת על חוקי הפיזיקה הקלאסית. תחומי המתמטיקה, מדעי המחשב, הנדסת החשמל, מדעי התקשורת והפיסיקה נפגשים כולם בקריפטוגרפיה קלאסית. מסחר אלקטרוני, כרטיסי תשלום מבוססי שבבים, מטבעות דיגיטליים, סיסמאות מחשב ותקשורת צבאית הם כולם דוגמאות ליישומי הצפנה.
לפני העידן הנוכחי, קריפטוגרפיה הייתה כמעט שם נרדף להצפנה, והפכה מידע מקריא לשטויות בלתי מובנות. כדי למנוע מתוקפים לקבל גישה להודעה מוצפנת, השולח משתף רק את תהליך הפענוח עם המקלטים המיועדים. השמות אליס ("A") עבור השולח, בוב ("B") עבור הנמען המיועד, ואיב ("מצותת") עבור היריב משמשים לעתים קרובות בספרות ההצפנה.
שיטות הצפנה הפכו מורכבות יותר ויותר, והיישומים שלה היו מגוונים יותר, מאז התפתחותן של מכונות צופן רוטור במלחמת העולם הראשונה והכנסת המחשבים במלחמת העולם השנייה.
ההצפנה המודרנית נשענת מאוד על תיאוריה מתמטית ותרגול במדעי המחשב; שיטות קריפטוגרפיות בנויות סביב הנחות קשיות חישוביות, מה שמקשה על כל יריב לשבור אותן בפועל. בעוד פריצה למערכת מתוכננת היטב אפשרית תיאורטית, לעשות זאת בפועל בלתי אפשרי. תוכניות כאלה מכונות "בטוחות מבחינה חישובית" אם הן בנויות כראוי; עם זאת, פריצות דרך תיאורטיות (למשל, שיפורים בשיטות חלוקת מספרים שלמים) וטכנולוגיית מחשוב מהירה יותר מחייבות הערכה מחדש מתמדת, ובמידת הצורך, התאמה של תכנונים אלה. ישנן מערכות בטוחות מבחינה תאורטית למידע, כמו הפנקס החד-פעמי, שניתן להוכיח כי הן בלתי ניתנות לשבירה אפילו עם כוח מחשוב אינסופי, אך הן קשות משמעותית לשימוש בפועל מאשר הסכמות הטובות ביותר הניתנות לשבירה תיאורטית אך מאובטחות מבחינה חישובית.
בעידן המידע, התקדמות טכנולוגיית ההצפנה יצרה מגוון אתגרים משפטיים. מדינות רבות סיווגו את הקריפטוגרפיה כנשק, המגבילות או אוסרות את השימוש והיצוא שלה בשל הפוטנציאל שלה לריגול והמרדה. חוקרים יכולים לחייב את מסירת מפתחות הצפנה עבור מסמכים הרלוונטיים לחקירה במקומות מסוימים שבהם ההצפנה חוקית. במקרה של מדיה דיגיטלית, קריפטוגרפיה ממלאת גם תפקיד מפתח בניהול זכויות דיגיטליות ובעימותים של הפרת זכויות יוצרים.
המונח "קריפטוגרף" (בניגוד ל"קריפטוגרמה") שימש לראשונה במאה התשע-עשרה, בסיפור הקצר של אדגר אלן פו "פשק הזהב".
עד לאחרונה, קריפטוגרפיה התייחסה כמעט אך ורק ל"הצפנה", שהיא הפעולה של הפיכת נתונים רגילים (המכונה טקסט רגיל) לפורמט בלתי קריא (הנקרא טקסט צופן). פענוח הוא ההפך מהצפנה, כלומר מעבר מטקסט צופן לא מובן לטקסט פשוט. צופן (או צופן) הוא אוסף של טכניקות המבצעות הצפנה ופענוח בסדר הפוך. האלגוריתם, ובכל מקרה, "מפתח" אחראים על הביצוע המפורט של הצופן. המפתח הוא סוד (רצוי שידוע רק על ידי הקומוניקטים) המשמש לפענוח הטקסט הצופן. לרוב מדובר במחרוזת תווים (קצרה באופן אידיאלי כך שהמשתמש יוכל לזכור אותה). "מערכת קריפטו" היא האוסף המסודר של אלמנטים של טקסטים פשוטים פוטנציאליים סופיים, טקסטים צופנים, מפתחות והליכי ההצפנה והפענוח המתאימים לכל מפתח במונחים מתמטיים פורמליים. מפתחות הם חיוניים הן מבחינה פורמלית והן מבחינה מעשית, מכיוון שניתן לשבור בקלות צפנים עם מפתחות קבועים רק באמצעות המידע של הצופן, מה שהופך אותם לחסרי תועלת (או אפילו לא יעילים) לרוב המטרות.
מבחינה היסטורית, נעשה שימוש תכוף בצפנים ללא נהלים נוספים כגון אימות או בדיקות תקינות להצפנה או פענוח. מערכות קריפטו מחולקות לשתי קטגוריות: סימטרית ואסימטרית. אותו מפתח (המפתח הסודי) משמש להצפנה ולפענוח של הודעה במערכות סימטריות, שהיו היחידות המוכרות עד שנות ה-1970. מכיוון שמערכות סימטריות משתמשות באורכי מפתח קצרים יותר, מניפולציית הנתונים במערכות סימטריות מהירה יותר מאשר במערכות אסימטריות. מערכות אסימטריות מצפינות תקשורת באמצעות "מפתח ציבורי" ומפענחות אותה באמצעות "מפתח פרטי" דומה. השימוש במערכות אסימטריות משפר את אבטחת התקשורת, עקב הקושי לקבוע את הקשר בין שני המפתחות. RSA (Rivest–Shamir–Adleman) ו-ECC הן שתי דוגמאות למערכות אסימטריות (Eliptic Curve Cryptography). ה-AES בשימוש נרחב (Advanced Encryption Standard), שהחליף את ה-DES הקודם, הוא דוגמה לאלגוריתם סימטרי איכותי (תקן הצפנת נתונים). הטכניקות השונות של הסתבכות שפת ילדים, כמו לטינית חזיר או צביעות אחרת, ואכן כל תוכניות ההצפנה, ככל שהכוונה היא רצינית, מכל מקור לפני הצגת הפנקס החד-פעמי בתחילת המאה העשרים, הם דוגמאות לאיכות נמוכה. אלגוריתמים סימטריים.
המונח "קוד" משמש לעתים קרובות בדיבור כדי להתייחס לכל טכניקה של הצפנה או הסתרת הודעות. עם זאת, בהצפנה, קוד מתייחס להחלפה של מילת קוד ביחידת טקסט רגיל (כלומר, מילה או ביטוי משמעותיים) (לדוגמה, "וואלבי" מחליף את "התקפה עם שחר"). לעומת זאת, טקסט צופן נוצר על ידי שינוי או החלפה של אלמנט מתחת לרמה כזו (אות, הברה או צמד אותיות, למשל) כדי ליצור טקסט צופן.
קריפטאנליזה היא חקר דרכים לפענוח נתונים מוצפנים ללא גישה למפתח הנדרש לשם כך; במילים אחרות, זה המחקר של איך "לשבור" סכימות הצפנה או יישומיהן.
באנגלית, חלק מהאנשים משתמשים לסירוגין במונחים "קריפטוגרפיה" ו"קריפטולוגיה", בעוד שאחרים (כולל תרגול צבאי ארה"ב באופן כללי) משתמשים ב"קריפטוגרפיה" כדי להתייחס לשימוש ולתרגול של טכניקות הצפנה ו"הצפנה" כדי להתייחס לשילוב מחקר של קריפטוגרפיה וניתוח הצפנה. אנגלית ניתנת להתאמה יותר ממספר שפות אחרות, שבהן תמיד משתמשים ב"קריפטולוגיה" (כפי שמתרגלים קריפטולוגים) במובן השני. סטגנוגרפיה נכללת לפעמים בקריפטולוגיה, על פי RFC 2828.
קריפטו-בלשנות היא חקר מאפייני שפה שיש להם רלוונטיות מסוימת בקריפטוגרפיה או בקריפטולוגיה (לדוגמה, סטטיסטיקת תדרים, צירופי אותיות, תבניות אוניברסליות וכו').
לקריפטוגרפיה ולניתוח הצפנה יש היסטוריה ארוכה.
היסטוריה של קריפטוגרפיה היא המאמר העיקרי.
לפני העידן המודרני, ההצפנה עסקה בעיקר בחיסיון הודעות (כלומר, הצפנה) - המרת הודעות מצורה מובנת לצורה בלתי מובנת ושוב, מה שהופך אותן לבלתי קריאות על ידי מיירטים או מצותתים ללא ידע סודי (כלומר המפתח הדרוש לפענוח של ההודעה הזו). ההצפנה תוכננה לשמור על פרטיות שיחות של מרגלים, מנהיגים צבאיים ודיפלומטים. בעשורים האחרונים, התחום גדל לשלב טכניקות כמו בדיקת תקינות ההודעות, אימות זהות שולח/מקבל, חתימות דיגיטליות, הוכחות אינטראקטיביות, וחישוב מאובטח, בין היתר.
שני סוגי הצופן הקלאסי הנפוצים ביותר הם צפני טרנספוזיציה, המחליפים באופן שיטתי אותיות או קבוצות של אותיות באותיות או קבוצות אותיות אחרות (למשל, 'שלום עולם' הופך ל-'ehlol owrdl' בסכימת סידור מחדש פשוטה טריוויאלית), וצפני החלפה, אשר מחליפות באופן שיטתי אותיות או קבוצות של אותיות באותיות אחרות או קבוצות של אותיות (למשל, 'לעוף בבת אחת' הופך ל'gmz bu גרסאות פשוטות של שניהם מעולם לא סיפקו פרטיות רבה מיריבים ערמומיים. צופן קיסר היה צופן החלפה מוקדם שבו כל אות בטקסט הפשוט הוחלפה באות במספר מסוים של מיקומים במורד האלפבית. לפי סואטוניוס, יוליוס קיסר השתמש בה במשמרת של שלושה אנשים כדי לתקשר עם הגנרלים שלו. צופן עברי מוקדם, Atbash, הוא דוגמה. השימוש העתיק ביותר הידוע בקריפטוגרפיה הוא טקסט צופן מגולף על אבן במצרים (בערך 1900 לפני הספירה), אולם ייתכן שהדבר נעשה להנאתם של צופים יודעי קרוא וכתוב. כדי להסתיר מידע.
מדווחים כי קריפטות היו ידועות ליוונים הקלאסיים (לדוגמה, צופן הטרנספוזיציה של חרמשים טען כי היה בשימוש הצבא הספרטני). סטגנוגרפיה (הנוהג להסתיר אפילו נוכחות של תקשורת כדי לשמור עליה פרטית) הומצא גם בימי קדם. ביטוי מקועקע על ראשו המגולח של עבד ומוסתר מתחת לשיער שצמח מחדש, לפי הרודוטוס. השימוש בדיו בלתי נראה, מיקרונקודות וסימני מים דיגיטליים כדי להסתיר מידע הם מקרים עדכניים יותר של סטגנוגרפיה.
Kautiliyam ו- Mulavediya הם שני סוגים של צפנים המוזכרים ב-Kamasutra של Vtsyyana בת 2000 שנה בהודו. החלפות אותיות הצופן ב-Kautilyam מבוססות על קשרים פונטיים, כגון תנועות שהופכות לעיצורים. אלפבית הצופן ב- Mulavediya מורכב מאותיות תואמות ושימוש הדדי.
לפי המלומד המוסלמי אבן אל-נדים, לסאסאניד פרס היו שני כתבים סודיים: ה-דבריה (מילולית "כתב המלך"), ששימש להתכתבות רשמית, וה-rz-saharya, ששימש להחלפת מסרים סודיים עם אחרים. מדינות.
בספרו "פורעי הקוד" כותב דיוויד קאהן שהקריפטולוגיה העכשווית החלה בערבים, שהיו הראשונים שתיעדו בקפידה הליכים קריפטאנליטיים. ספר המסרים הקריפטוגרפיים נכתב על ידי אל-חליל (717–786), והוא מכיל את השימוש המוקדם ביותר בתמורות וצירופים כדי לרשום את כל המילים הערביות האפשריות עם ובלי תנועות.
טקסטים צופנים שנוצרו על ידי צופן קלאסי (כמו גם כמה צופנים מודרניים) חושפים מידע סטטיסטי על הטקסט הפשוט, שניתן להשתמש בו כדי לשבור את הצופן. כמעט כל הצפנים הללו עלולים להישבר על ידי תוקף אינטליגנטי לאחר גילוי ניתוח התדרים, אולי על ידי המתמטיקאי והפולימת הערבי אל-קינדי (המכונה גם אלקינדוס) במאה ה-9. צפנים קלאסיים עדיין פופולריים כיום, אם כי בעיקרם כפאזלים (ראה קריפטוגרמה). Risalah fi Istikhraj al-Mu'amma (כתב יד לפענוח הודעות קריפטוגרפיות) נכתב על ידי אל-קינדי ותיעד את השימוש הראשון הידוע בטכניקות ניתוח הצפנה של ניתוח תדרים.
כמה גישות הצפנת היסטוריה מורחבות, כגון צופן הומופוני, הנוטות לשטח את התפלגות התדרים, עשויות שלא להפיק תועלת מתדרי אותיות בשפה. תדרים של קבוצת אותיות שפה (או n-גרם) עשויים לתת התקפה על אותם צפנים.
עד לגילוי הצופן הפול-אלפביתי, בעיקר על ידי לאון בטיסטה אלברטי בסביבות 1467, כמעט כל הצפנים היו נגישים לניתוח הצפנה באמצעות גישת ניתוח התדרים, אם כי ישנן עדויות לכך שהוא כבר היה ידוע לאל-קינדי. אלברטי הגה את הרעיון להשתמש בצפנים נפרדים (או אלפבית חלופי) עבור חלקים שונים של תקשורת (אולי עבור כל אות רצופה בטקסט רגיל בגבול). הוא גם יצר את מה שנחשב למכשיר ההצפנה האוטומטי הראשון, גלגל שביצע חלק מהתכנון שלו. ההצפנה בצופן Vigenère, צופן רב-אלפביתי, נשלטת על ידי מילת מפתח השולטת בהחלפת אותיות על סמך האות של מילת המפתח המשמשת. צ'ארלס באבאג' הוכיח שצופן ויג'נר פגיע לניתוח קשיסקי באמצע המאה התשע-עשרה, אך פרידריך קסקיסקי פרסם את ממצאיו עשר שנים מאוחר יותר.
למרות העובדה שניתוח תדרים הוא טכניקה רבת עוצמה ורחבה כנגד צפנים רבים, ההצפנה נשארה יעילה בפועל מכיוון שרבים מהאנליטיקאים הפוטנציאליים אינם מודעים לטכניקה. שבירת הודעה מבלי להשתמש בניתוח תדרים הצריכה ידע על הצופן המופעל ואולי המפתח המעורב, מה שהופך ריגול, שוחד, פריצה, עריקה וטקטיקות חסרות מידע קריפטיאנליטיות למושכות יותר. סוד האלגוריתם של צופן זכה בסופו של דבר להכרה במאה ה-19 כלא הבטחה סבירה או ריאלית לאבטחת הודעות; למעשה, כל ערכת הצפנה מתאימה (כולל צפנים) צריכה להישאר מאובטחת גם אם היריב מבין היטב את אלגוריתם ההצפנה עצמו. אבטחת המפתח צריכה להספיק כדי שצופן טוב ישמור על סודיות לנוכח תקיפה. אוגוסט קרקהוף הצהיר לראשונה את העיקרון הבסיסי הזה ב-1883, והוא ידוע בתור העיקרון של קרקהוף; לחלופין, ובאופן בוטה יותר, קלוד שאנון, ממציא תורת המידע ויסודות ההצפנה התיאורטי, חזר על זה כמקסים של שאנון - 'האויב מכיר את המערכת'.
כדי לעזור עם צפנים, נעשה שימוש בגאדג'טים פיזיים רבים וסיוע. ייתכן שהחרמש של יוון העתיקה, מוט שהופעל על ידי הספרטנים ככלי צופן טרנספוזיציה, היה אחד הראשונים. עזרים נוספים הומצאו בימי הביניים, כמו סורג הצופן, ששימש גם לסטגנוגרפיה. עם התפתחותם של צפנים פול-אלפביתיים, עזרים מתוחכמים יותר כמו דיסק ההצפנה של אלברטי, סכימת ה-tabula recta של יוהנס טריתימיוס וצפן הגלגלים של תומס ג'פרסון הפכו לזמינים (לא ידוע בציבור, והומצא מחדש באופן עצמאי על ידי Bazeries בסביבות 1900). מערכות הצפנה/פענוח מכאניות רבות תוכננו ומוטלות עליה פטנט בתחילת המאה העשרים, כולל מכונות רוטורים, שהועסקו על ידי הממשלה והצבא הגרמני מסוף שנות ה-1920 ועד מלחמת העולם השנייה. לאחר מלחמת העולם הראשונה, הצפנים שיושמו על ידי מופעים באיכות גבוהה יותר של תכנוני מכונות אלו הביאו לעלייה משמעותית בקושי הקריפאנליטי.
קריפטוגרפיה עסקה בעיקר בדפוסים לשוניים ולקסיקוגרפיים לפני תחילת המאה העשרים. מאז, ההתמקדות התפתחה, והקריפטוגרפיה כוללת כיום היבטים של תורת המידע, מורכבות חישובית, סטטיסטיקה, קומבינטוריקה, אלגברה מופשטת, תורת המספרים ומתמטיקה סופית בכלל. קריפטוגרפיה היא סוג של הנדסה, אך היא ייחודית בכך שהיא עוסקת בהתנגדות פעילה, אינטליגנטית ועוינת, בעוד שסוגים אחרים של הנדסה (כגון הנדסה אזרחית או כימית) רק צריכים להתמודד עם כוחות טבעיים שהם ניטרליים. גם הקשר בין קשיי הצפנה לפיזיקה הקוונטית נחקר.
הפיתוח של מחשבים דיגיטליים ואלקטרוניקה סייעו לניתוח הצפנה בכך שאפשרו יצירת צפנים מתוחכמים הרבה יותר. יתרה מכך, בניגוד לצפנים מסורתיים, שהצפנו באופן בלעדי טקסטים בשפה כתובה, מחשבים אפשרו הצפנה של כל סוג של נתונים שיכולים להיות מיוצגים בכל פורמט בינארי; זה היה חדשני ומכריע. הן בעיצוב צופן והן בניתוח הצפנה, מחשבים כל כך החליפו את קריפטוגרפיית השפה. שלא כמו שיטות קלאסיות ומכאניות, אשר מבצעות בעיקר מניפולציות של תווים מסורתיים (כלומר אותיות וספרות) ישירות, צפנים מחשבים רבים פועלים על רצפי סיביות בינאריים (לעיתים בקבוצות או בלוקים). מחשבים, לעומת זאת, סייעו לניתוח הצפנה, אשר פיצה חלקית על מורכבות הצופן המוגברת. למרות זאת, צפנים מודרניים טובים נותרו לפני ניתוח ההצפנה; לעתים קרובות, השימוש בצופן טוב הוא יעיל מאוד (כלומר, מהיר ודורש משאבים מועטים, כגון זיכרון או יכולת מעבד), בעוד שבירתו דורשת מאמץ בסדרי גודל רבים וגדולים בהרבה מזה הנדרש עבור כל צופן קלאסי, ההופך למעשה ניתוח הצפנה לבלתי אפשרי.
קריפטוגרפיה מודרנית עושה את הופעת הבכורה שלה.
ניתוח ההצפנה של המכשירים המכניים החדשים הוכיח את עצמו כמאתגר וגוזל זמן. במהלך מלחמת העולם השנייה, פעילויות קריפטואנליטיות בבלצ'לי פארק בבריטניה טיפחו את המצאת שיטות יעילות יותר לביצוע משימות שחוזרות על עצמן. ה-Colossus, המחשב האלקטרוני, הדיגיטלי והניתן לתכנות, הראשון בעולם, פותח כדי לסייע בפענוח הצפנים שנוצרו על ידי מכונת Lorenz SZ40/42 של הצבא הגרמני.
קריפטוגרפיה היא תחום חדש יחסית של מחקר אקדמי פתוח, שהחל רק באמצע שנות ה-1970. עובדי יבמ המציאו את האלגוריתם שהפך לתקן הפדרלי (כלומר, ארה"ב) להצפנת נתונים; ויטפילד דיפי ומרטין הלמן פרסמו את אלגוריתם ההסכם המרכזי שלהם; והטור של סיינטיפיק אמריקן של מרטין גרדנר פרסם את אלגוריתם ה-RSA. קריפטוגרפיה גדלה מאז בפופולריות כטכניקה לתקשורת, רשתות מחשבים ואבטחת מחשבים בכלל.
ישנם קשרים עמוקים למתמטיקה מופשטת, מכיוון שמספר גישות קריפטוגרפיה מודרניות יכולות לשמור את המפתחות שלהן בסוד רק אם בעיות מתמטיות מסוימות אינן ניתנות לפתרון, כגון חלוקת מספרים שלמים לגורמים או בעיות לוגריתם בדידות. יש רק קומץ מערכות קריפטו שהוכחו כמאובטחות ב-100%. קלוד שאנון הוכיח שהפנקס החד פעמי הוא אחד מהם. ישנם כמה אלגוריתמים מרכזיים שהוכחו כמאובטחים בתנאים מסוימים. חוסר היכולת לחשב מספרים שלמים גדולים במיוחד, למשל, הוא הבסיס לאמונה ש-RSA ומערכות אחרות מאובטחות, אבל הוכחה לאי-שבירה אינה ניתנת להשגה מכיוון שהבעיה המתמטית הבסיסית נותרה בלתי פתורה. בפועל, אלה מנוצלים באופן נרחב, ורוב הצופים המוכשרים מאמינים שהם בלתי ניתנים לשבירה בפועל. קיימות מערכות דומות ל-RSA, כמו זו שפותחה על ידי מייקל או. רבין, שהן בטוחות ככל הנראה אם הפקת n = pq בלתי אפשרית; עם זאת, הם כמעט חסרי תועלת. סוגיית הלוגריתם הבדיד היא הבסיס לאמונה שכמה מערכות קריפטו אחרות מאובטחות, וישנן מערכות דומות ופחות פרקטיות שהן מאובטחות במונחים של פתירות או חוסר פתירות של בעיית הלוגריתם הבדיד.
מעצבי אלגוריתמים ומערכות קריפטוגרפיים חייבים לשקול התקדמות עתידית אפשרית כאשר עובדים על הרעיונות שלהם, בנוסף להיותם מודעים להיסטוריה ההצפנה. לדוגמה, ככל שכוח העיבוד של המחשב השתפר, רוחב ההתקפות של כוח גס גדל, ומכאן שאורכי המפתח הנדרשים גדלו גם כן. כמה מתכנני מערכות הצפנה החוקרים את ההצפנה הפוסט-קוונטית כבר שוקלים את ההשלכות הפוטנציאליות של מחשוב קוונטי; ההתקרבות המוצהרת של יישומים צנועים של מכונות אלה עשויה להפוך את הצורך בזהירות מונעת ליותר מסתם ספקולטיבי.
קריפטוגרפיה קלאסית בימינו
קריפטוגרפיה סימטרית (או מפתח פרטי) היא סוג של הצפנה שבה השולח והמקבל משתמשים באותו מפתח (או, פחות נפוץ, שבה המפתחות שלהם שונים, אך קשורים בצורה קלה לחישוב ונשמרים בסוד, באופן פרטי. ). עד יוני 1976, זה היה סוג ההצפנה היחיד שהיה ידוע בציבור.
צפני בלוקים וצפני זרמים משמשים שניהם כדי ליישם צפני מפתח סימטריים. צופן בלוק מצפין קלט בלוקים של טקסט רגיל ולא בתווים בודדים, כמו שצופן זרם עושה.
ממשלת ארה"ב ייעדה את תקן הצפנת הנתונים (DES) ואת תקן ההצפנה המתקדם (AES) כתקני הצפנה (אם כי ההסמכה של DES בוטלה בסופו של דבר לאחר הקמת ה-AES). DES (במיוחד וריאציה משולשת-DES שעדיין מאושרת ומאובטחת יותר) נשארת פופולרית למרות הוצאה משימוש כסטנדרט רשמי; הוא משמש במגוון רחב של יישומים, מהצפנת כספומט ועד פרטיות דואר אלקטרוני וגישה מאובטחת מרחוק. הומצאו ושוחררו שלל צפני בלוקים שונים, בדרגות שונות של הצלחה. רבים, כולל כמה שעוצבו על ידי מתרגלים מוסמכים, כגון FEAL, נשברו באופן נרחב.
צפני זרם, בניגוד לצפני בלוקים, מייצרים זרם ארוך לאין שיעור של חומר מפתח שמזוהה עם טקסט רגיל ביט אחר סיביות או תו אחר תו, בדומה לפנקס החד-פעמי. זרם הפלט של צופן זרם נוצר ממצב פנימי נסתר המשתנה עם פעולת הצופן. חומר המפתח הסודי משמש להגדרת המצב הפנימי הזה בהתחלה. צופן הזרם RC4 נמצא בשימוש נרחב. על ידי יצירת בלוקים של זרם מפתח (במקום מחולל מספרים פסאודו-אקראיים) ושימוש בפעולת XOR לכל סיביות של הטקסט הפשוט עם כל סיביות של זרם המפתח, ניתן להשתמש בצפני בלוקים כצפני זרם.
קודי אימות הודעות (MAC) דומים לפונקציות גיבוב קריפטוגרפיות, למעט בכך שניתן להשתמש במפתח סודי כדי לאמת את ערך ה-hash בעת הקבלה; המורכבות הנוספת הזו מונעת התקפה נגד אלגוריתמי עיכול עירומים, ולכן היא נחשבת כדאית. סוג שלישי של טכניקת הצפנה היא פונקציות גיבוב קריפטוגרפיות. הם לוקחים כל הודעת אורך כקלט ומוציא גיבוב קטן באורך קבוע שניתן להשתמש בו בחתימות דיגיטליות, למשל. תוקף לא יכול לאתר שתי הודעות שמייצרות את אותו hash באמצעות אלגוריתמי hash טובים. MD4 היא פונקציית Hash בשימוש נרחב אך כעת פגומה; MD5, צורה משופרת של MD4, נמצא בשימוש נרחב גם כן, אך פגום בפועל. סדרת Secure Hash Algorithm של אלגוריתמי חשיש דמויי MD5 פותחה על ידי הסוכנות לביטחון לאומי של ארה"ב: רשות התקנים האמריקאית החליטה שזה "נבון" מנקודת מבט אבטחה לפתח תקן חדש כדי "לשפר באופן משמעותי את החוסן של אלגוריתם הגיבוב הכולל של NIST אַרְגַז כֵּלִים." SHA-1 נמצא בשימוש נרחב ומאובטח יותר מ-MD5, אך מנתחי קריפטה זיהו התקפות נגדו; משפחת SHA-2 משתפרת ב-SHA-1, אך היא חשופה להתנגשויות החל משנת 2011; ומשפחת SHA-2 משתפרת ב-SHA-1, אך חשופה להתנגשויות כתוצאה מכך, עד 2012, הייתה אמורה להתקיים תחרות עיצוב פונקציית גיבוב לבחירת תקן לאומי חדש בארה"ב, שייקרא SHA-3. התחרות הגיעה לסיומה ב-2 באוקטובר 2012, כאשר המכון הלאומי לתקנים וטכנולוגיה (NIST) הכריז על Keccak כאלגוריתם ה-hash החדש של SHA-3. פונקציות גיבוב קריפטוגרפיות, שלא כמו צופני בלוק והזרם הניתנים להפיכה, מספקות פלט גיבוב שלא ניתן להשתמש בו כדי לשחזר את נתוני הקלט המקוריים. פונקציות גיבוב קריפטוגרפיות משמשות כדי לבדוק את האותנטיות של נתונים שנרכשו ממקור לא אמין או כדי להוסיף דרגת הגנה נוספת.
למרות שלהודעה או קבוצת הודעות יכולים להיות מפתח שונה מאחרים, מערכות קריפטו עם מפתח סימטרי משתמשות באותו מפתח להצפנה ולפענוח. ניהול המפתח הנדרש כדי להשתמש בצפנים סימטריים בצורה מאובטחת הוא חיסרון גדול. כל זוג בודד של צדדים מתקשרים צריך, באופן אידיאלי, לחלוק מפתח אחר, כמו גם אולי טקסט צופן שונה עבור כל טקסט צופן שנשלח. מספר המפתחות הנדרש גדל ביחס ישר למספר המשתתפים ברשת, מה שמצריך טכניקות ניהול מפתחות מסובכות כדי לשמור על כולם עקביים וסודיים.
ויטפילד דיפי ומרטין הלמן המציאו את הרעיון של קריפטוגרפיה של מפתח ציבורי (המכונה גם מפתח א-סימטרי) בעבודה מכוננת משנת 1976, שבה משתמשים בשני מפתחות נפרדים אך קשורים מתמטית - מפתח ציבורי ומפתח פרטי. למרות שהם קשורים קשר בל יינתק, מערכת מפתח ציבורי בנויה בצורה כזו שחישוב מפתח אחד ('המפתח הפרטי') מהמפתח השני (ה'מפתח הציבורי') אינו אפשרי מבחינה חישובית. במקום זאת, שני המפתחות מיוצרים בסוד, כזוג מקושר. קריפטוגרפיה של מפתח ציבורי, לפי ההיסטוריון דיוויד קאהן, היא "התפיסה החדשה המהפכנית ביותר בתחום מאז שחלפה פוליאפאביתית התעוררה בתקופת הרנסנס".
ניתן להעביר את המפתח הציבורי במערכת קריפטו של מפתח ציבורי באופן חופשי, אך יש להסתיר את המפתח הפרטי המצורף. המפתח הציבורי משמש להצפנה, ואילו המפתח הפרטי או הסודי משמש לפענוח בסכימת הצפנה של מפתח ציבורי. בעוד שדיפי והלמן לא הצליחו ליצור מערכת כזו, הם הוכיחו שאפשר להעלות על הדעת קריפטוגרפיה של מפתח ציבורי על ידי אספקת פרוטוקול החלפת מפתחות דיפי-הלמן, פתרון המאפשר לשני אנשים להסכים בסתר על מפתח הצפנה משותף. הפורמט הנפוץ ביותר עבור תעודות מפתח ציבורי מוגדר על ידי תקן X.509.
הפרסום של דיפי והלמן עורר עניין אקדמי נרחב בפיתוח מערכת הצפנה מעשית של מפתח ציבורי. רונלד ריבסט, עדי שמיר ולן אדלמן זכו בסופו של דבר בתחרות ב-1978, ותשובתם נודעה בשם אלגוריתם RSA.
בנוסף להיותם המופעים המוקדמים ביותר הידועים בציבור של אלגוריתמי מפתח ציבורי באיכות גבוהה, האלגוריתמים Diffie-Hellman ו-RSA היו בין הנפוצים ביותר בשימוש. מערכת ההצפנה Cramer–Shoup, הצפנת ElGamal וגישות רבות של עקומה אליפטית הן דוגמאות לאלגוריתם של מפתח א-סימטרי.
קריפטוגרפים של GCHQ חזו כמה התקדמות מדעית, על פי מסמך שהוציא ב-1997 מטה התקשורת הממשלתי (GCHQ), ארגון ביון בריטי. לפי האגדה, קריפטוגרפיה של מפתח א-סימטרי הומצאה על ידי ג'יימס ה' אליס בערך בשנת 1970. קליפורד קוקס המציא בשנת 1973 פתרון שהיה דומה מאוד ל-RSA מבחינת עיצוב. מלקולם ג'יי וויליאמסון מיוחס על המצאת חילופי המפתחות של דיפי-הלמן ב-1974.
מערכות חתימה דיגיטלית מיושמות גם באמצעות קריפטוגרפיה של מפתח ציבורי. חתימה דיגיטלית דומה לחתימה מסורתית בכך שקל למשתמש ליצור אך קשה לאחרים לזייף. ניתן גם לקשר חתימות דיגיטליות באופן קבוע לתוכן התקשורת הנחתמת; המשמעות היא שלא ניתן 'להעביר' אותם ממסמך אחד לאחר מבלי שיזוהו. ישנם שני אלגוריתמים בסכימות חתימה דיגיטלית: אחד לחתימה, המשתמש במפתח סודי לעיבוד ההודעה (או גיבוב של ההודעה, או שניהם), ואחד לאימות, המשתמש במפתח הציבורי התואם עם ההודעה כדי לאמת האותנטיות של החתימה. שתיים משיטות החתימה הדיגיטלית הנפוצות ביותר הן RSA ו-DSA. תשתיות מפתח ציבורי ומערכות אבטחת רשת רבות (למשל, SSL/TLS, VPNs רבים) מסתמכות על חתימות דיגיטליות כדי לתפקד.
המורכבות החישובית של בעיות "קשות", כגון אלו הנובעות מתורת המספרים, משמשת לעתים קרובות לפיתוח שיטות מפתח ציבורי. בעיית הפירוק של מספרים שלמים קשורה לקשיות של RSA, בעוד שבעיית הלוגריתם הבדיד קשורה לדיפי-הלמן ול-DSA. האבטחה של קריפטוגרפיה של עקומה אליפטית מבוססת על בעיות תיאורטיות של מספר עקומה אליפטית. רוב האלגוריתמים של המפתח הציבורי כוללים פעולות כמו כפל מודולרי ואקספונציה, שהן יקרות יותר מבחינה חישובית מהטכניקות המשמשות ברוב צופני הבלוק, במיוחד עם גדלים רגילים של מפתחות, בגלל הקושי של הבעיות הבסיסיות. כתוצאה מכך, מערכות ההצפנה המפתחות הציבור הן לרוב מערכות הצפנה היברידיות, שבהן ההודעה מוצפנת באלגוריתם מפתח סימטרי מהיר ואיכותי, בעוד המפתח הסימטרי הרלוונטי נשלח עם ההודעה אך מוצפן באמצעות אלגוריתם מפתח ציבורי. סכימות חתימה היברידיות, שבהן מחושבת פונקציית גיבוב קריפטוגרפית ורק ה-hash המתקבל חתום דיגיטלית, משמשות גם הן בדרך כלל.
פונקציות Hash בקריפטוגרפיה
פונקציות גיבוב קריפטוגרפיות הן אלגוריתמים קריפטוגרפיים שמייצרים ומשתמשים במפתחות ספציפיים כדי להצפין נתונים להצפנה סימטרית או אסימטרית, וניתן לחשוב עליהם כמפתחות. הם לוקחים כל הודעת אורך כקלט ומוציא גיבוב קטן באורך קבוע שניתן להשתמש בו בחתימות דיגיטליות, למשל. תוקף לא יכול לאתר שתי הודעות שמייצרות את אותו hash באמצעות אלגוריתמי hash טובים. MD4 היא פונקציית Hash בשימוש נרחב אך כעת פגומה; MD5, צורה משופרת של MD4, נמצא בשימוש נרחב גם כן, אך פגום בפועל. סדרת Secure Hash Algorithm של אלגוריתמי חשיש דמויי MD5 פותחה על ידי הסוכנות לביטחון לאומי של ארה"ב: רשות התקנים האמריקאית החליטה שזה "נבון" מנקודת מבט אבטחה לפתח תקן חדש כדי "לשפר באופן משמעותי את החוסן של אלגוריתם הגיבוב הכולל של NIST אַרְגַז כֵּלִים." SHA-1 נמצא בשימוש נרחב ומאובטח יותר מ-MD5, אך מנתחי קריפטה זיהו התקפות נגדו; משפחת SHA-2 משתפרת ב-SHA-1, אך היא חשופה להתנגשויות החל משנת 2011; ומשפחת SHA-2 משתפרת ב-SHA-1, אך היא חשופה להתנגשויות כתוצאה מכך, עד שנת 2012, הייתה אמורה להתקיים תחרות עיצוב פונקציית Hash לבחירת תקן לאומי חדש בארה"ב, שייקרא SHA-3. התחרות הגיעה לסיומה ב-2 באוקטובר 2012, כאשר המכון הלאומי לתקנים וטכנולוגיה (NIST) הכריז על Keccak כאלגוריתם ה-hash החדש של SHA-3. פונקציות גיבוב קריפטוגרפיות, שלא כמו צופני בלוק והזרם הניתנים להפיכה, מספקות פלט גיבוב שלא ניתן להשתמש בו כדי לשחזר את נתוני הקלט המקוריים. פונקציות גיבוב קריפטוגרפיות משמשות כדי לבדוק את האותנטיות של נתונים שנרכשו ממקור לא אמין או כדי להוסיף דרגת הגנה נוספת.
פרימיטיבים קריפטוגרפיים ומערכות קריפטו
חלק ניכר מהעבודה התיאורטית של קריפטוגרפיה מתמקד בפרימיטיבים קריפטוגרפיים - אלגוריתמים בעלי תכונות קריפטוגרפיות בסיסיות - וכיצד הם קשורים לאתגרים קריפטוגרפיים אחרים. הפרימיטיבים הבסיסיים הללו משמשים לאחר מכן ליצירת כלים קריפטוגרפיים מורכבים יותר. פרימיטיבים אלה מספקים תכונות בסיסיות המשמשות ליצירת כלים מורכבים יותר הידועים כמערכות קריפטו או פרוטוקולים הצפנה המבטיחים מאפייני אבטחה ברמה גבוהה אחד או יותר. הגבול בין פרימיטיבים קריפטוגרפיים למערכות קריפטו, לעומת זאת, הוא שרירותי; אלגוריתם RSA, למשל, נחשב לפעמים למערכת קריפטו ולפעמים פרימיטיבי. פונקציות פסאודורנדומליות, פונקציות חד-כיווניות ופרימיטיבים קריפטוגרפיים אחרים הם דוגמאות נפוצות.
מערכת קריפטוגרפית, או מערכת הצפנה, נוצרת על ידי שילוב פרימיטיבי קריפטוגרפי אחד או יותר ליצירת אלגוריתם מסובך יותר. מערכות קריפטו (למשל, הצפנת אל-גמאל) נועדו לספק פונקציונליות ספציפית (לדוגמה, הצפנת מפתח ציבורי) תוך הבטחת איכויות אבטחה מסוימות (למשל, אבטחת CPA בהתקפה רגילה במודל אורקל אקראי). כדי לתמוך באיכויות האבטחה של המערכת, מערכות קריפטו מנצלות את המאפיינים של הפרימיטיבים ההצפנה הבסיסיים. מערכת קריפטו מתוחכמת יכולה להיווצר משילוב של מספר מערכות קריפטו ראשוניות יותר, שכן ההבחנה בין פרימיטיביות למערכות קריפטו היא שרירותית במקצת. בנסיבות רבות, המבנה של מערכת ההצפנה כולל תקשורת הלוך ושוב בין שני צדדים או יותר במרחב (למשל, בין השולח לנמען של הודעה מאובטחת) או לאורך זמן (למשל, בין השולח למקבל של הודעה מאובטחת) (למשל, נתוני גיבוי מוגנים קריפטוגרפית).
כדי להכיר את עצמכם באופן מפורט עם תכנית הלימודים להסמכה תוכלו להרחיב ולנתח את הטבלה שלהלן.
תכנית הלימודים של EITC/IS/CCF Classical Cryptography Fundamentals Certification מתייחסת לחומרים דידקטיים בגישה פתוחה בצורת וידאו. תהליך הלמידה מחולק למבנה שלב אחר שלב (תוכניות -> שיעורים -> נושאים) המכסה חלקים רלוונטיים בתכנית הלימודים. ניתן גם ייעוץ ללא הגבלה עם מומחי תחום.
לפרטים על הליך ההסמכה בדוק איך זה עובד?.
הערות ראשיות להרצאה
הבנת קריפטוגרפיה מאת Christof Paar ו-Jan Pelzl, קורס מקוון בצורה של שקופיות PDF
https://www.crypto-textbook.com/slides.php
הבנת קריפטוגרפיה מאת כריסטוף פאר ויאן פלצל, קורס מקוון בצורת סרטונים
https://www.crypto-textbook.com/movies.php
הפניה עיקרית לספר קריפטוגרפיה קלאסית
הבנת קריפטוגרפיה מאת כריסטוף פאר ויאן פלצל
https://www.crypto-textbook.com/index.php
עיון נוסף בספרי קריפטוגרפיה קלאסית יישומית
Handbook of Applied Cryptography מאת A. Menezes, P. Van Oorschot ו-S. Vanstone:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
הורד את חומרי ההכנה המלאים ללמידה עצמית לא מקוונת עבור תוכנית יסודות הקריפטוגרפיה הקלאסית EITC/IS/CCF בקובץ PDF