LFSR

מונח במדעי המחשב

LFSR (ראשי תיבות של: Linear Feedback Shift Register, בתרגום חופשי: "אוגר הזזה בעל משוב ליניארי") הוא מונח במדעי המחשב המתאר אוגר זיזה שהקלט שלו הוא פונקציה ליניארית של סיביות המצב שלו.

LFSR מקסימלי המורכב מארבע סיביות. האנימציה מראה כיצד ה־LFSR עובר בצורה מחזורית בין כל חמישה עשר המצבים האפשריים שלו.

LFSR הוא אוטומט סופי דטרמיניסטי. הערך ההתחלתי של LFSR נקרא גרעין ומתוכו נקבעת שרשרת המצבים האפשרית של האוטומט לאורך זמן ריצתו. מכיוון ש־LFSR הוא פונקציה מחזורית בעלת קלט בגודל סופי הוא אוצר בתוכו מחזור מצבים שתדירותו תלויה בכמות הסיביות המרכיבות את הרכיב ובפונקציית ההיזון שלו.

בקריפטוגרפיה, מימושים של LFSR בחומרה ובתוכנה משמשים כרכיבים במחוללי מספרים פסאודו־אקראיים, אלגוריתמים להרחבת מפתח, פונקציות גיבוב ועוד.

מאפיינים ואופן הפעולה

עריכה
 
LFSR מקסימלי המורכב מ־16 סיביות

בכל מחזור התייחסות, ה־LFSR מזיז את כל סיביות המצב שלו מקום אחד הצידה, הסיבית שנדחקה החוצה משמשת כפלט. למקום המתפנה כתוצאה מההזזה מוכנסת סיבית המחושבת על ידי פונקציית ההיזון הליניארית (לרוב, XOR) המופעלת על ערכים במקומות ידועים (Taps) ועל הפלט. LFSR שפונקציית ההיזון הליניארית שלו נבחרה בצורה טובה יעבור דרך כל   המצבים האפשריים שלו[1] LFSR כזה נקרא LFSR מקסימלי.

פוקנציית ההיזון ב־LFSR (או פולינום הבסיס) ניתנת לביטוי כפולינום בבסיס בינארי כך שכל אחד מהמקדמים בפולינום הוא 0 או 1. בדוגמה המופיעה משמאל למעלה, הסיביות המשתתפות בחישוב הפונקציה נמצאות במקומות 16,14,13 ו־11 ופונקציית ההיזון היא  . ה   בפולינום איננו Tap, אלא מייצג את הסיבית הראשונה, סיבית הקלט. המצב המיוצג בציור, 0xACE1, מתחלף ב 0x5670 (סיבית הקלט החדשה היא 0).

קישורים חיצוניים

עריכה
  מדיה וקבצים בנושא LFSR בוויקישיתוף

הערות שוליים

עריכה
  1. ^ המצב המורכב כולו מאפסים אפשרי רק כאשר הגרעין ההתחלתי מורכב כולו מאפסים וה־LFSR אינו מתקדם מהמצב הזה לשום מצב אחר