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

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