LFSR
LFSR (ראשי תיבות של: Linear Feedback Shift Register, בתרגום חופשי: "אוגר הזזה בעל משוב ליניארי") הוא מונח במדעי המחשב המתאר אוגר זיזה שהקלט שלו הוא פונקציה ליניארית של סיביות המצב שלו.
LFSR הוא אוטומט סופי דטרמיניסטי. הערך ההתחלתי של LFSR נקרא גרעין ומתוכו נקבעת שרשרת המצבים האפשרית של האוטומט לאורך זמן ריצתו. מכיוון ש־LFSR הוא פונקציה מחזורית בעלת קלט בגודל סופי הוא אוצר בתוכו מחזור מצבים שתדירותו תלויה בכמות הסיביות המרכיבות את הרכיב ובפונקציית ההיזון שלו.
בקריפטוגרפיה, מימושים של LFSR בחומרה ובתוכנה משמשים כרכיבים במחוללי מספרים פסאודו־אקראיים, אלגוריתמים להרחבת מפתח, פונקציות גיבוב ועוד.
מאפיינים ואופן הפעולה
[עריכת קוד מקור | עריכה]![](http://upload.wikimedia.org/wikipedia/commons/1/16/LFSR-F16.gif)
בכל מחזור התייחסות, ה־LFSR מזיז את כל סיביות המצב שלו מקום אחד הצידה, הסיבית שנדחקה החוצה משמשת כפלט. למקום המתפנה כתוצאה מההזזה מוכנסת סיבית המחושבת על ידי פונקציית ההיזון הליניארית (לרוב, XOR) המופעלת על ערכים במקומות ידועים (Taps) ועל הפלט. LFSR שפונקציית ההיזון הליניארית שלו נבחרה בצורה טובה יעבור דרך כל המצבים האפשריים שלו[1] LFSR כזה נקרא LFSR מקסימלי.
פוקנציית ההיזון ב־LFSR (או פולינום הבסיס) ניתנת לביטוי כפולינום בבסיס בינארי כך שכל אחד מהמקדמים בפולינום הוא 0 או 1. בדוגמה המופיעה משמאל למעלה, הסיביות המשתתפות בחישוב הפונקציה נמצאות במקומות 16,14,13 ו־11 ופונקציית ההיזון היא . ה בפולינום איננו Tap, אלא מייצג את הסיבית הראשונה, סיבית הקלט. המצב המיוצג בציור, 0xACE1, מתחלף ב 0x5670 (סיבית הקלט החדשה היא 0).
קישורים חיצוניים
[עריכת קוד מקור | עריכה]הערות שוליים
[עריכת קוד מקור | עריכה]- ^ המצב המורכב כולו מאפסים אפשרי רק כאשר הגרעין ההתחלתי מורכב כולו מאפסים וה־LFSR אינו מתקדם מהמצב הזה לשום מצב אחר