مولدهای دنباله های شبه اتفاقی و رمزگذاری جویباری

 مولدهای متجانس خطی

مولدهای متجانس خطی نوعی از مولدهای شبه اتفاقی هستند که فرم کلی آنها بصورت زیر میباشد.

رجیسترهای فیدبک خطی (LFSR)در پیاده سازی سختافزاری نیز بسیار راحت و ساده میباشند. و همچنین دارای خواص آماری خوبی میباشند. اجزاء تشکیل دهنده شیفت رجیستر فیدبک دار، تابع فیدبک و شیفت رجیستر می باشند. شیفت رجیستر عبارتست از تعدادی عنصر تاخیری که در کنار هم چیده شده اند و هر کدام قابلیت ذخیرهسازی یک بیت را دارد. و دارای یک ورودی و یک خروجی میباشد. طول یک شیفت رجیستر برحسب bit حساب می شود و شامل تعداد بیتهایی است که میتوانند در شیفت رجیستر قرار بگیرند. اگر یک شیفت رجیستر n بیتی نامیده شود به این معناست که n عنصر تأخیری (۰ و۱و۲ و… و ۱- n) کنار هم قرار گرفتهاند. با وجود n بیت در داخل شیفت رجیسترها، در هر واحد زمانی یک بیت به عنوان خروجی درنظر گرفته میشود که همان محتوای خانه صفرام شیفت رجیستر می باشد. پس با هر کلاک خانه صفرام به عنوان خروجی و بخشی از دنباله خروجی درنظر گرفته می شود. و همه بیتها یک بیت به راست شیفت خواهند داشت. در واقع محتوای حالت I به حالت ۱- امنتقل خواهد شد. به این ترتیب حالت ۱- n فاقد مقدار می باشد که برای این حالت نیز با استفاده از تابع فیدبک مقداری بدست آمده و در آن قرار میگیرد. شکل کلی یک شیفت رجیستر فیدبک دار در شکل (۱) دیده میشود.

پریود یک شیفت رجیستر عبارتست از طول دنباله خروجی قبل از اینکه دنباله شروع به تکرار شدن کند. یکی از مهمترین عواملی که، رمزگذاری جویباری بر مبنای شیفت رجیسترها میباشد اینست که انها از نظر پیادهسازی سختافزاری بسیار آسان هستند و میتوان تجزیه و تحلیل انها را با استفاده از تکنیکهای ریاضی به راحتی انجام داد. تابع فیدبک نیز عبارتست از تابعی که بر روی بیتهای مشخصی از شیفت رجیستر عمل می کند و مقدار حالت ۱mرا تولید می کند. به بیتهایی که در تابع فیدبک استفاده می شوند دنباله Tap گفته می شود. البته در حالت سادهتر این تابع همان XOR درنظر گرفته میشود. تابع فیدبک را می توان بصورت زیر درنظر گرفت.

ضرایب فیدبک نامیده میشوند. و ثابتهای C0. اC. به عنوان سوئیچ درنظر گرفته می شوند به طوری که اگر ا=Ci باشد سوئیچ بسته است در غیر این صورت سوئیچ باز است. در شکل (۲)شیفت رجیستر فیدبک خطی دیده می شود. LFSR ها پرکاربردترین نوع شیفت رجیسترها هستند که در رمزنگاری استفاده میشود.