צופן זרם – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 1:
ב[[קריפטוגרפיה]], '''צופן זרם''' (ב[[אנגלית]]: '''Stream Cipher''') הוא סוג של [[צופן סימטרי]] שמצפין זרם באורך משתנה של יחידות מידע (המיוצגות על ידי [[סיבית|סיביות]], [[בית (מחשב)|בתים]] או [[מילה (מחשב)|מילים]]), תוך שימוש ב[[פונקציה|טרנספורמציה]] דינמית, המייצרת מפתח הצפנה באורך הרצוי לפי 'מצב פנימי' (internal state) של הצופן. צופן זרם מתפקד כ[[פונקציה פסידו-אקראית קריפטוגרפית|מחולל פסידו-אקראי]] ש'מותח' את מפתח ההצפנה המסופק על ידי המשתמש ומייצר ממנו זרם מפתח פסידו-אקראי כאורך המסר המיועד להצפנה. היות שהמחולל מתעדכן בהתאם למצבים קודמים, אומרים שלצופן זרם יש 'זיכרון'. זרם המפתח מחובר עם המסר הקריא בחיבור בינארי ([[XOR]]) או בשיטה אחרת (הפיכה) לקבלת הטקסט המוצפן.
 
צופן זרם המיושם בחומרה מהיר מאוד ומנצל מעגלים פשוטים וקלים לתפעול ותחזוקה. הוא מתאים במיוחד להתקני תקשורת בהם הזיכרון מוגבל או כאשר יש צורך בהצפנה ושידור של מנות מידע קטנות בכל פעם או כאשר אורך המידע אינו ידוע מראש. לצופן זרם יתרון על פני צופן בלוקים גם במקרים בהם כשל בשידור עלול להתרחש בתדירות גבוהה כגון בתקשורת אלחוטית. מצד שני בדרך כלל צופן בלוקים בעל אופי יותר מקבילי מצופן זרם, כלומר אפשר להגיע ל[[מצב הפעלה של צופן בלוקים|מצב הפעלה]] שבו בלוקים מרובים מוצפנים במקביל. צפני זרם ישנים פעלו בעיקר על סיביות ויועדו לחומרה. צפני זרם מודרניים מותאמים בחלקם גם לתוכנה תוך ניצול ההתקדמות הטכנולוגית להשגת ביצועים גבוהים יותר ופועלים גם על בלוקים גדולים כמו 64 סיביות, תוך התחשבות בגבולות [[מילה (מחשב)|מילה]].
 
ההבחנה העיקרית בין צופן זרם לצופן בלוקים היא אופן יצירת מפתח ההצפנה. בהגדרת צופן זרם מתכוונים למחולל הפנימי (keystream generator) המייצר 'זרם-המפתח' באורך הרצוי. המחולל בדרך מתבסס על זיכרון פנימי ופועל בצורה של פעימות (clocking). מסיבה זו אומרים שלצופן זרם יש 'זיכרון', זאת בניגוד ל[[צופן בלוקים]] שכאשר הוא מופעל במצב רגיל, אינו מכיל זיכרון כלל, למשל [[AES]] מצפין בלוק בגודל 128 סיביות באמצעות פונקציה קבועה והוא אינו עושה שימוש במידע מהצפנה קודמת כדי להצפין את הבלוק הנוכחי. כל בלוק מוצפן בנפרד כאשר המידע היחיד הנחוץ הוא מפתח ההצפנה.
 
צופן זרם המיושם בחומרה מהיר מאוד ומנצל מעגלים פשוטים וקלים לתפעול ותחזוקה. לכן הוא מתאים במיוחד להתקני תקשורת בהם הזיכרון מוגבל או כאשר יש צורך בהצפנה ושידור של מנות מידע קטנות בכל פעם או כאשר אורך המידע אינו ידוע מראש. לצופן זרם יתרון על פני צופן בלוקים גםמסויים במקרים בהם כשל בשידור עלול להתרחש בתדירות גבוהה כגון בתקשורת אלחוטית. מצד שני בדרך כלל צופן בלוקים בעל אופי יותר מקבילי מצופן זרם, כלומר אפשר להגיע ל[[מצב הפעלה של צופן בלוקים|מצב הפעלה]] שבו בלוקים מרובים מוצפנים במקביל. צפני זרם ישנים פעלו בעיקר על סיביות ויועדו לחומרה. צפני זרם מודרניים מותאמים בחלקם גם לתוכנה תוך ניצול ההתקדמות הטכנולוגית להשגת ביצועים גבוהים יותר ופועלים גם על בלוקים גדולים כמו 64 סיביות, תוך התחשבות בגבולות [[מילה (מחשב)|מילה]].
 
==היסטוריה==