צופן סימטרי – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ הגהה |
Matanyabot (שיחה | תרומות) מ בוט החלפות: לעיתים, \1ליניארי |
||
שורה 30:
==היסטוריה==
צופן סימטרי קיים ב[[קריפטוגרפיה]] מראשית ימיה. [[הצפנה קלאסית|הצפנים הקלאסיים]] מוגדרים כצפנים סימטריים. לדוגמה: [[צופן החלפה]], [[צופן קיסר]], [[צופן ויז'נר]], [[צופן היל]] ו[[פנקס חד-פעמי]], הם צפנים סימטריים כאשר <math>d = e</math>, כלומר ההצפנה והפענוח נעשים באמצעות אותו מפתח
דוגמאות לצופנים סימטריים מודרניים נוספים: [[Twofish]], [[MARS]], [[סרפנט (צופן)|סרפנט]], [[AES]], [[Blowfish]], [[CAST5]], [[RC4]], [[RC6]], [[DES]] וכן [[IDEA]].
שורה 60:
===קידוד===
למען הנוחות, מפתח ההצפנה, הטקסט הגלוי והטקסט המוצפן מומרים באמצעות שיטת [[קידוד תווים|קידוד]] מוסכמת ליחידות מידע בסיסיות. בדרך כלל נוח להתייחס אל המידע כאל מספרים, אחרי הכול ההצפנה מבוצעת על מחשב (בדרך כלל). בניגוד להצפנה שיטת קידוד היא דרך להמרת מידע כלשהו מפורמט אחד לאחר באופן גלוי ומוסכם ובאופן שיהיה קל לביצוע על ידי כל אחד. כל הצפנה חייבת להשתמש בשיטת קידוד כלשהי כאשר השיטה הבסיסית ביותר היא השיטה הבינארית. שיטת ההצפנה יכולה להצפין את המידע סיבית אחר סיבית או אם נבחרה שיטת קידוד אחרת (כמו בתים או מילים) יחידת מידע אחת אחרי השנייה, בדרך זו השולח מצפין ומעביר באמצעות ערוץ התקשורת יחידות מידע מוצפנות בזו אחר זו ללא תלות אחת בשנייה ומבלי לדעת מה אורך המידע המיועד להצפנה.
<center>
:<math>(m_0,m_1,m_2,...,m_{B-1}) \longrightarrow (m_{B-1}\cdot 2^{B-1}+\cdots + m_2\cdot 2^2+m_1\cdot 2 + m_0)</math>.
שורה 143:
דוגמאות לפעולות שניתן לשלבן כדי להגיע לצופן סימטרי חזק:
* '''תיבות תמורה''' Permutation Box (בקיצור P-box); הן אוסף פונקציות טרנספוזיציה או [[צופן שחלוף|שיכול]], שרק משנות את מיקומן של סיביות הקלט באמצעות פונקציות תמורה קבועה או משתנה. הפונקציות ניתנות לייצוג כטבלת [[תמורה (מתמטיקה)|תמורה]]. הפונקציות טובות להשגת אפקט פיזור (diffusion) ולכן מתאימות רק בשילוב עם תיבות החלפה או פעולות אי-
* '''תיבות החלפה''' Substitution Box (בקיצור S-box); הן אוסף פונקציות החלפה לא
*[[טרנספורמציה
*[[פעולות על סיביות#סיבוב ללא סחיבה|הזזה מעגלית]] (cyclic shift או rotation); הזזת סיביות ימינה או שמאלה כך שהסיביות הנפלטות מצד אחד מוחזרות מהצד השני.
*פעולות [[אלגברה|אלגבריות]] ב[[פולינום|פולינומים]] מעל [[שדה סופי|שדות סופיים]] כגון <math>\text{GF}(2^{128})</math>. כאשר פעולות כפל מבוצעות מודולו [[פולינום פרימיטיבי]] בעל [[מרחק המינג|משקל בינארי]] נמוך. בצופן AES נעשה שימוש נרחב בפעולות מסוג זה.
*כפל [[מטריצה|מטריצות]], שהן מיפוי
* [[חשבון מודולרי|אריתמטיקה מודולרית]]; פעולות חיבור וכפל ב[[חבורה (אלגברה)|חבורות]] מודולו <math>n</math>.
שורה 168:
===שיטות קריפטואנליטיות===
*'''[[כוח גס]] (Brute Force)''': ניסוי של לפחות מחצית מטווח המפתחות האפשריים במקרה הממוצע עד למציאת המפתח שאיתו נעשה שימוש. סיבוכיותה אינה מעשית ברוב המקרים, אולם עם מספיק זמן וכוח חישוב מובטחת בסופו של דבר תוצאה. למעשה ההוכחה שאלגוריתם מסוים ניתן לשבירה אך ורק באמצעות כח גס מהווה הוכחת איכות, כיוון שניתן לשלוט במידת בטיחותו על ידי בחירה מושכלת של גודל המפתח בסיביות. לשם המחשה, כוח גס כנגד צופן DES מצריך סריקה של לפחות <math>2^{55}</math> מפתחות במקרה הממוצע. עד 1998 שבירת צופן DES הייתה אפשרית רק על ידי חומרה ייעודית שעלותה יקרה ונמשכה בדרך כלל מספר ימים. ב-2008 פרסמה חברת {{קישור כללי|כותרת=SciEngines|כתובת=http://sciengines.com/}} שרת ייעודי יחיד עם חומרה מותאמת, בעל תפוקה של 26 מיליארד מפתחות בשנייה, המסוגל לפרוץ את DES בפחות מיום אחד. ניתן ליישם כח גס גם באמצעות חישוב מבוזר, גיוס זמן בטלה של מעבדים על בסיס התנדבותי, הזמין כיום באמצעות רשת האינטרנט. ב-1999 נפרץ DES ב-23 שעות בלבד באמצעות 100,000 מחשבים ביתיים.
*'''קריפטאנליזה
*'''קריפטאנליזה דיפרנציאלית''': הומצאה על ידי אלי ביהם ועדי שמיר (מכון ויצמן למדע 1980). שיטה רבת עוצמה לניתוח אלגוריתמים סימטריים מכל סוג כמעט, בה נבחנת מידת ההשפעה של הבדלים בקלט על פלט הצופן. בשיטה זו ניתן לפצח את DES ב-<math>2^{47}</math> ניסיונות, אף בלא ידיעת מקור הצופן. בשיטה זו נפרצו ב-1989 וב-1991 כל וריאציות צופן [[FEAL]]. הוכח גם שגרסאות מתקדמות יותר של האלגוריתם FEAL-N וכן FEAL-NX שפותחו עקב כך ניתנות לשבירה (עד 31 סבבים) בפחות מהזמן הדרוש לכוח גס. ובכך הקיץ הקץ על האלגוריתם.
|