צופן בלוקים הוא אלגוריתם קריפטוגרפי סימטרי שמעבד חתיכות נתונים בגודל קבוע שנקראות בלוקים (קבוצה של סיביות). הצופן מקבל בלוק טקסט-גלוי ומפתח סודי ומייצר בלוק טקסט-מוצפן. הפענוח ההפוך מחזיר את הבלוק המקורי בעזרת אותו מפתח. נהוג לרשום זאת בקיצורים: C = E_K(P) ו־P = D_K(C).
קלוד שאנון הניח את העקרונות התיאורטיים של צופן הבלוקים ונתן רעיונות כמו ערבוב (confusion), פיזור (diffusion) ואיטרציה (הפעלת פונקציה פנימית מספר פעמים). DES, שפותח על ידי IBM ופורסם ב־1977, היה נקודת ציון חשובה. AES אומץ כתקן ב־2001 ונמצא בשימוש רחב כיום.
צופן בלוקים בנוי בדרך כלל ממספר סבבים (חזרות) שבהם פועלת פונקציית סבב (round function). תיבות החלפה (S-box) הן פונקציות אי־ליניאריות שמחליפות קטעי כניסה בפלט ותורמות לעמידות נגד התקפות קריפטאנליטיות. תיבות תמורה (P-box) מפזרות את השפעת הסיביות על כל הבלוק.
רשת פייסטל (Feistel) היא מבנה נפוץ. היא חותכת את הבלוק לשני חצאים, מפעילה פונקציה על אחד מהם ומשלבת בתור XOR עם השני, ואז מחליפים צדדים. כך מוגש פלט אחד לסבב הבא. יתרון מרכזי: פונקציית הסבב לא חייבת להיות הפיכה.
רשת החלפה־תמורה (SPN) היא מבנה אחר שמיישם שכבות של החלפה, תמורה והוספת מפתח. AES מבוסס על רעיון זה, ובו כל הטרנספורמציות חייבות להיות הפיכות כדי לאפשר פענוח.
ARX הוא סגנון שמוסיף אי־ליניאריות על ידי שילוב פעולות פשוטות: חיבור מודולרי, XOR והזזה מעגלית. שיטה זו חסכונית ביישום והיא נפוצה בצפנים מודרניים.
אורך המפתח משפיע ישירות על עמידות נגד התקפת כוח גס (ניסיון כל המפתחות האפשריים). מפתח של DES היה אפקטיבית 56 סיביות, וזה נחשב קצר היום. כיום מקובל ש־128 סיביות מספקות ביטחון סביר, ויש מומלצים של 256 סיביות במקרים מסוימים.
גודל הבלוק גם חשוב: בלוקים קצרים (למשל 64 סיביות) פגיעים יותר להתקפות המבוססות על איסוף נפחים גדולים של נתונים. כיום נהוג בלוק של 128 סיביות כקלאסי.
כברירת מחדל צופן בלוקים דטרמיניסטי; הצפנת בלוקים זהים עם אותו מפתח תניב תוצאות זהות. כדי למנוע חשיפת מידע משתמשים באופני הפעלה (Modes of operation) שמשלבים וקטור אתחול או זיכרון. דוגמאות נפוצות: CBC, CFB, OFB ו־CTR. ECB (Electronic Codebook) היא שיטה פשוטה ויש בה חולשות ברורות.
צופן בר התאמה (tweakable) מקבל בנוסף למפתח ערך tweak (התאמה) או nonce, שמבטיח ששני בלוקים זהים יוצפנו לתוצאות שונות בלי להחליף מפתח. רעיון זה חוסך את הצורך בהחלפת מפתחות תכופה ומשפר יעילות וביטחון במקרים מסוימים.
קריפטואנליזה בוחנת שיטות לפריצה לצופן. מודל ביטחון מקובל הוא אי־יכולת הבחנה: האם ניתן להבדיל בין צופן עם מפתח אקראי לבין פרמוטציה אקראית. התקפות ידועות כוללות התקפות דיפרנציאליות וליניאריות, והן הובילו לשיפורים בתכנון S-box ובמבנים.
יש גם צופן בלוקים קל משקל, המותאם למכשירים בעלי משאבים מוגבלים, כמו חיישנים ו־RFID. צופן בלוקים משמש גם כחלק מפרוטוקולים אחרים, לייצור מספרים אקראיים, ולבניית פונקציות גיבוב וחתימות.
צופן בלוקים הוא דרך להסתיר מידע. הוא עובד על חתיכות נתונים בגודל קבוע שנקראות בלוקים (חבילות של סיביות). יש לו מפתח סודי. הכותב עם המפתח יכול להסתיר את הבלוק. רק מי שיודע את המפתח יכול להחזיר אותו למצבו המקורי.
קלוד שאנון חשב על רעיונות חשובים להצפנה. DES היה צופן מפורסם משנות ה־70. AES נכנס לתקן ב־2001 והוא בשימוש רב היום.
בעיקרון הצופן עושה כמה סבבים (חזרות). תיבת החלפה (S-box) מחליפה קטע בכניסה בערך אחר. זה עוזר להסתיר את הקשר בין המפתח לטקסט המוצפן.
רשת פייסטל מחלקת את הבלוק לשני חלקים. היא מעבדת חלק אחד ומשלבת בתהליך עם החצי השני. זה חוזר מספר פעמים.
המפתח הוא המידע הסודי. מפתחים קצרים ניתן לנחש בקלות בידי מחשבים חזקים. בלוק קצר עלול לחשוף דפוסים. היום נהוג בלוק של 128 סיביות ורקעים ארוכים למפתחות.
כדי לא לשים את אותו פלט על אותו בלוק משתמשים ב־IV או nonce (מספר חד־פעמי). זה גורם לכך שגם אם יש שני בלוקים זהים, הפלט יהיה שונה.
צופן בלוקים משמש לשמור סודות, לבנות אלגוריתמים אחרים ולשמור על אבטחת מכשירים קטנים כמו תגי RFID.
תגובות גולשים