צופן סימטרי
סוגי הצפנה > צפנים מודרניים

עם המצאת תקן ההצפנה הישן ההצפנה הסימטרית עברה מהפך משמעותי משיטות פרימיטיביות המכילות אוסף פעולות אד הוק מסובכות ככל האפשר שמסתמכות בעיקר על גאונות הממציא לשיטות הצפנה מודרניות המסתמכות על תאוריה מוצקה. לאחר המצאת DES המחקר האינטנסיבי הוביל לתאוריה רחבת היקף ונעשו מאמצים להוכיח ביטחון שיטות ההצפנה במונחים תאורטיים באמצעות מודל אסימפטוטי או מודל אורקל אקראי. DES ולוציפר שהיה אב קדמון שלו הכילו כמה רעיונות מהפכניים לאותה עת. לראשונה הומצא צופן סימטרי שהיה מבוסס על תאוריה מסוימת בעיקר על עבודתו של קלוד שאנון אבי תורת האינפורמציה. אחד החידושים בצופן זה היה רשת פייסטל על שם הממציא הורסט פייסטל. הרעיון של רשת פייסטל הוא הפיכת פונקציה פסאודו אקראית גנרית בלתי הפיכה ותלויית מפתח סודי לפרמוטציה כלומר לפונקציה הפיכה שזהו תנאי הכרחי בצופן סימטרי. חלק נכבד מהצפנים המודרניים מיישמים טכניקה זו. היתרון הוא שפעולות ההצפנה והפענוח זהות לגמרי ורק פרוצדורת הרחבת המפתח בסדר הפוך. בדרך זו המקום שתופס קוד הצופן קטן בחצי, שזה משמעותי במיוחד במימוש בחומרה. חידוש נוסף שהוכנס בצופן הוא שילוב של מספר פונקציות חלשות כשלעצמן באופן שמניב פונקציית הצפנה חזקה יותר על ידי מה שנקרא איטרציה, כלומר פונקציית ההצפנה מבוצעת באופן איטרטיבי, בכל קריאה הפלט מהקריאה הקודמת הופך קלט לקריאה הבאה, כך מספר פעמים עד שמגיעים לתוצאה הסופית של הצופן. בדרך זו משיגים את אפקט כדור השלג הרצוי. כל שינוי ולו הקל ביותר בטקסט המקורי מתפזר על פני לפחות מחצית מפלט הצופן לאחר מספר קטן של חזרות. למשל ב-DES פעולות הצופן מבוצעות 16 פעמים.
תקן ההצפנה המתקדם שהומצא בשנת 2000 ונמצא בשימוש נרחב כיום, נחשב לצופן מודרני בטוח ברמה הגבוהה ביותר. הצופן מיישם רשת החלפה-תמורה ומשלב מספר פעולות אריתמטיות בסיסיות בשדה סופי מורחב  F_{2^{8}} והוא נחשב ליעיל מאוד בהשוואה לתקן הקודם.
דוגמאות לפעולות שניתן לשלבן כדי להגיע לצופן סימטרי חזק:
תיבות תמורה Permutation Box (בקיצור P-box); הן אוסף פונקציות טרנספוזיציה או שיכול, שרק משנות את מיקומן של סיביות הקלט באמצעות פונקציות תמורה קבועה או משתנה. הפונקציות ניתנות לייצוג כטבלת תמורה. הפונקציות טובות להשגת אפקט פיזור (diffusion) ולכן מתאימות רק בשילוב עם תיבות החלפה או פעולות אי-ליניאריות אחרות.
תיבות החלפה Substitution Box (בקיצור S-box); הן אוסף פונקציות החלפה לא ליניאריות המיוצגות על ידי טבלאות סטטיות או תלויות מפתח. הוצגו לראשונה בצופן לוציפר של הורסט פייסטל ולמעשה הן הפונקציות האי-ליניאריות היחידות בצופן DES, בלעדיהן הצופן היה קל לשבירה. אם ערכיהן נבחרו בקפידה הן טובות במיוחד לסיכול התקפה דיפרנציאלית.
טרנספורמציה ליניארית עם פעולות אריתמטיות בסיסיות על סיביות כמו AND, XOR ושילוב שלהן. פעולת XOR ידועה בכך שהיא משמרת אקראיות (חיבור XOR של הקלט עם ערך אקראי יפיק תוצאה אקראית, ראה פנקס חד פעמי), פעולה זו מכונה לעיתים גם הלבנה.
הזזה מעגלית (cyclic shift או rotation); הזזת סיביות ימינה או שמאלה כך שהסיביות הנפלטות מצד אחד מוחזרות מהצד השני.
פעולות אלגבריות בפולינומים מעל שדות סופיים כגון  {\text{GF}}(2^{128}). כאשר פעולות כפל מבוצעות מודולו פולינום פרימיטיבי בעל משקל בינארי נמוך. בצופן AES נעשה שימוש נרחב בפעולות מסוג זה.
כפל מטריצות, שהן מיפוי ליניארי מעל וקטורים. הכפלה במטריצה בדרך כלל נעשית עם פולינום פרימיטיבי מתאים. למשל מטריצה המתאימה במיוחד להצפנה נקראת MDS קיצור של maximum distance separable בה נעשה שימוש בצופן Twofish.
אריתמטיקה מודולרית; פעולות חיבור וכפל בחבורות מודולו  n.
בטיחות כל צופן תלויה במפתח ההצפנה. ככל שהמפתח ארוך יותר ואקראי יותר כן מושגת בטיחות גבוהה יותר. אולם כיוון שבדרך כלל זה לא מעשי להכין מפתח ארוך, צפנים סימטריים משלבים פונקציית הרחבת מפתח. מטרת הפונקציה היא ליצור מפתח ארוך מתוך גרעין התחלתי קצר וסודי שהוא בעצם מפתח ההצפנה. הפונקציה מתפקדת בעיקרון כמחולל מספרים אקראיים. צפנים סימטריים רבים מתבססים על מחולל מספרים אקראיים כמקור להפקת מפתח באורך הרצוי.