תקן הצפנה מתקדם (AES) הידוע גם בשמו ריינדל (Rijndael), הנו
צופן בלוקים שאומץ כתקן
הצפנה סימטרית הרשמי של ממשלת ארצות הברית המחליף את
DES. אלגוריתם AES אומץ בנובמבר 2001 על ידי NIST המוסד הלאומי לסטנדרט וטכנולוגיה של ממשלת
ארצות הברית תחת תקן FIPS PUB 197 לאחר תהליך בחינה שנמשך כחמש שנים, במהלכן נבחנו מספר מועמדים טובים. AES נמצא כיום בעיצומו של תהליך הפצה בקנה מידה גדול וההערכה היא שהצופן יופץ מסביב לעולם וייבחן בעיון רב על ידי מומחים רבים כפי שקרה עם קודמו. האלגוריתם פותח על ידי שני מומחי הצפנה בלגיים, ג'ון דאמן ווינסנט ריימן והוצג בתהליך בחירת סטנדרט ההצפנה בשם ריינדל שהוא שילוב שמות ממציאיו. ריינדל הוא שכלול פיתוחים קודמים של דאמן וריימן הקרויים Square ו-Shark. זהו צופן איטרטיבי (המיושם במספר סבבים), מהיר ונוח ליישום הן בחומרה והן בתוכנה וצורך מעט מאוד זיכרון. בתכנון האלגוריתם הושם דגש על שלושה מוטיבים עקריים: פשטות, עמידות ויעילות. בניגוד ל-DES, אלגוריתם ריינדל אינו מיישם "רשת פייסטל" אלא רשת החלפה/תמורה. פונקציית ההצפנה מבוצעת על גוש הקלט בשלמותו ולא רק על מחציתו כפי שקורה עם DES. פונקציית ההצפנה הפנימית של אלגוריתם ריינדל מתבצעת בשלוש שכבות. פלט הפונקציה נקרא "מצב" (state) ובכל סבב עוברות כל סיביות המצב טיפול זהה בשלוש שכבות:שכבת ערבוב לינארי (Linear mixing layer) - שתפקידה להבטיח הפצה רוחבית מקסימלית של כל סיביות המצב. שכבה לא לינארית (Non-linear layer) - שמערבלת את כל סיביות המצב באופן מקבילי, באמצעות תיבות החלפה/תמורה בעלות תכונת אי-לינאריות גבוהה. שכבת הוספת מפתח (Key addition layer) - כשמה, מוסיפה חלק ממפתח ההצפנה לתוצאת הביניים באמצעות XOR. תכנון השכבות נועד בעיקר להתמודד עם איום אנליזה דיפרנציאלית ואנליזה לינארית, על פי ניסיון העבר שנצבר בעקבות לקחים שהופקו מנסיונות כושלים.
להמשך המאמר ראה Wikipedia.org...