بخشی از مقاله

*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***

بررسی سیستمهای رمزنگاری جویباری مبتنی بر شیفت رجیسترهای با فیدبک نقلی جهت تامین امنیت داده ها در مبادلات الکترونیکی
چکیده .
- یکی از مسائل بسیار مهم در هنگام تبادل داده ها بصورت الکترونیکی، تامین امنیت و محرمانگی داده ها می باشد. یکی از روشهای مهم و مرسوم جهت دستیابی به این امر استفاده از روشهای نوین رمزنگاری داده ها می باشد. ارمزگذارهای جویباری یک گروه مهم از الگوریتمهای رمزگذاری هستند. یک رمزگذار جویباری یک الگوریتم رمزگذاری متقارن است. رمزگذارهای جویباری می توانند طوری طراحی شوند که با سرعتی خیلی بیشتر از هر رمزگذار بالاکی عمل کنند. رمزگذارهای بلاکی روی بلاکهای بزرگی از داده عمل می کنند در حالی که رمزگذارهای جویباری روی واحدهای کوچکی از پیغام که بطور معمول بیتها هستند، عمل میکنند. در این مقاله به بررسی دقیق ساختار درونی رمزگذارهای جویباری مبتنی بر شیفت رجیسترهای با فیدبک نقلی پرداخته و ضریب امنیتی حاصله از این رمزگذارها و مزایای این نوع رمزگذاری را بیان می نماییم.
کلید واژه - رمزگذاری جویباری - شیفت رجیسترهای با فیدبک خطی - شیفت رجیسترهای با فیدبک نقلی - مولد الگو
1 - مقدمه
رمزگذارهای جویباری یک کلاسی مهمی از الگوریتمهای رمزگذاری هستند. آنها بطور منحصر بفردی کاراکترهای (معمولاً ارقام باینری) یک پیغام را در یک زمان با استفاده از یک انتقال رمز در زمانهای متفاوت، رمزگذاری میکنند. در مقابل رمزگذارهای بلاکی تمایل دارند که بطور همزمان و یک جا گروههای از کاراکترهای یک پیغام را با استفاده از یک پیغام رمزی ثابت، رمزگذاری کنند. رمزگذارهای جویباری معمولاً در سختافزار سریعتر از رمزگذارهای بلاکی هستند و پیچیدگی مدارات سختافزاری آنها پایین است. آنها همچنین بدلیل دارا بودن انتشار خطای محدود یا حتی بدون انتشار خطا، در موقعیتهایی که احتمال وقوع خطاهای انتقال بالا باشد، بسیار مفید واقع می شوند. دانش تئوری وسیعی درمورد رمزگذارهای جویباری و همچنین اصول طراحی گوناگونی برای آنها ارائه شده است. بهرجهت الگوریتمهای رمزگذاری جویباری کاملاً دلخواه در نوشته ها نسبتاً کم است. این موضوع تأسف بار می تواند تا اندازهای با این حقیقت توجیه شود که بیشتر رمزگذارهای جویباری به صورت اختصاصی و محرمانه مورد استفاده قرار می گیرند. در مقابل پیشنهادهای متعددی چه به صورت استاندارد و چه به صورت کلی درمورد رمزگذارهای بالاکی ارائه میشود. با وجود این، رمزگذارهای جویباری بدلیل مزایای مهمشان، امروزه بطور وسیعی مورد استفاده قرار میگیرند. رمزگذارهای جویباری میتوانند یا کلید متقارن باشد یا کلید عمومی، تمرکز این مقاله بر روی رمزگذارهای جویباری کلید متقارن است. رمزگذارهای بلاکی پیغام را با بلاکهای نسبتاً بزرگی پردازش می کنند (n>64bits) در این نوع رمزگذارها از تابعی یکسان برای رمزگذاری بلاکها استفاده می شود. بنابراین رمزگذارهای بلاکی بدون حافظه هستند. در مقابل، رمزگذارهای جویباری پیغام را در بلاکهایی به کوچکی یک تک بیت پردازش می کنند و تابع رمزگذاری ممکن است تغییر کند. بنابراین رمزگذارهای جویباری دارای حافظه هستند. در بعضی مواقع به آنها رمزگذارهای حالت نیز گفته می شود زیرا رمزگذار نه تنها به کلید و پیغام وابسته است بلکه به حالات جاری نیز وابسته است. این اختلاف میان رمزگذارهای جویباری و رمزگذارهای بلاکی قطی نیست یعنی با اضافه کردن یک مقدار حافظه کم به رمزگذارهای بلاکی، رمزگذارهای جویباریی با بلاکهای بزرگ نتیجه میشود.


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

رجیسترهای فیدبک خطی (LFSR)در پیادهسازی سختافزاری نیز بسیار راحت و ساده میباشند. و همچنین دارای خواص آماری خوبی میباشند. اجزاء تشکیل دهنده شیفت رجیستر فیدبک دار، تابع فیدبک و شیفت رجیستر می باشند. شیفت رجیستر عبارتست از تعدادی عنصر تاخیری که در کنار هم چیده شده اند و هر کدام قابلیت ذخیرهسازی یک بیت را دارد. و دارای یک ورودی و یک خروجی میباشد. طول یک شیفت رجیستر برحسب bit حساب می شود و شامل تعداد بیتهایی است که میتوانند در شیفت رجیستر قرار بگیرند. اگر یک شیفت رجیستر n بیتی نامیده شود به این معناست که n عنصر تأخیری (0 و1و2 و... و 1- n) کنار هم قرار گرفتهاند. با وجود n بیت در داخل شیفت رجیسترها، در هر واحد زمانی یک بیت به عنوان خروجی درنظر گرفته میشود که همان محتوای خانه صفرام شیفت رجیستر می باشد. پس با هر کلاک خانه صفرام به عنوان خروجی و بخشی از دنباله خروجی درنظر گرفته می شود. و همه بیتها یک بیت به راست شیفت خواهند داشت. در واقع محتوای حالت I به حالت 1- امنتقل خواهد شد. به این ترتیب حالت 1- n فاقد مقدار می باشد که برای این حالت نیز با استفاده از تابع فیدبک مقداری بدست آمده و در آن قرار میگیرد. شکل کلی یک شیفت رجیستر فیدبک دار در شکل (1) دیده میشود.
پریود یک شیفت رجیستر عبارتست از طول دنباله خروجی قبل از اینکه دنباله شروع به تکرار شدن کند. یکی از مهمترین عواملی که، رمزگذاری جویباری بر مبنای شیفت رجیسترها میباشد اینست که انها از نظر پیادهسازی سختافزاری بسیار آسان هستند و میتوان تجزیه و تحلیل انها را با استفاده از تکنیکهای ریاضی به راحتی انجام داد. تابع فیدبک نیز عبارتست از تابعی که بر روی بیتهای مشخصی از شیفت رجیستر عمل می کند و مقدار حالت 1mرا تولید می کند. به بیتهایی که در تابع فیدبک استفاده می شوند دنباله Tap گفته می شود. البته در حالت سادهتر این تابع همان XOR درنظر گرفته میشود. تابع فیدبک را می توان بصورت زیر درنظر گرفت.

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

یک شیفت رجیستر فیدبک خطی به طول m، حداکثر ا-| "2 حالت متفاوت میتواند داشته باشد. این بدان معنی است که یک شیفت رجیستر فیدبک خطی به طول m، حداکثر می تواند دنبالهای شبه اتفاقی به طول ا-2 بیت را قبل از اینکه خروجی تکرار شود تولید کند. شاید برای شما سؤال پیش بیاید که چرا "2 حالت نمی توان تولید کرد و عدد "ا" از آن کم شده است؟ به این دلیل که در شیفت رجیسترهای فیدبک خطی حالت تمام صفر نداریم چون اگر به هر دلیلی مقدار تمام صفر در شیفت رجیستر قرار بگیرد، دنباله خروجی رشته ای از صفرها را تولید خواهد کرد. و از حالت تمام صفر خارج نخواهد شد که این حالت اصلاً مفید نخواهد بود. پس شیفت رجیسترهایی با دنباله Tap معین که طولی برابر با ا-2 دارند را شیفت رجیستر با طول ماکزیمم می نامیم و آنرا m-Sequence مینامند. برای اینکه حالت تمام صفر نداشته باشیم باید از یک مدار اضافی استفاده شود تا درصورتی که حالت تمام صفر در شیفت رجیستر بوجود آمد آنرا تشخیص دهد و آنرا به حالت خاصی ریاست کند. معمولاً برای اینکار از گیت NOR استفاده می کنند. برای یک شیفت رجیستر فیدبک خطی با طول ماکزیمم یک چندجمله ای (F(X وجود دارد که این چند جمله ای از دنباله Tap بعلاوه مقدار ثا "1" بدست میاید.
که در رابطه بالا، Xn نشانگر عدد n ام در دنباله، X بیانگر عدد قبلی آن می باشد. متغیرهای m,b,a ثابت هستند که a را عامل ضرب کننده، b را عامل افزاینده و m را قدرمطلق این مولدها مینامند. هسته و مقدار اولیه این مولدها X0 میباشد. حداکثر پریود این مولد برابر با m خواهد بود. بصورتی که اگر m,b,a بطور صحیح انتخاب شوند مولدی با حداکثر پریود که مولدی با حداکثر طول هم نامیده میشود خواهیم داشت. در واقع می توان با انتخاب صحیح Im,b,a| یک مولد با پریود Im| دست پیدا کرد. به عنوان مثال در انتخاب b, a باید دقت کرد که b باید نسبت به m اولی باشد. از مهمترین ویژگیهای مولدهای متجانس خطی میتوان به سرعت بالای آنها و کم بودن عملیات لازم برای تولید هر بیت اشاره کرد. متأسفانه مولدهای متجانس خطی کاربردی در رمزنگاری ندارند و برای کاربردهای رمزنگاری از آنها استفاده نمیشود زیرا دنباله های بدست آمده قابل پیش بینی هستند. اولین بار این مولدها توسط شخصی به نام Jim Recds شکسته شد. پس از وی نیز Joan Boyar موفق به شکستن آنها شد.
حتی توانستند مولدهای درجه دوم که فرم کلی آنها بصورت زیر می باشد را نیز بشکنند.

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

پس به نظر میرسد که مولدهای چند جملهای دیر یا زود شکسته میشوند. پس امن نیستند. پس نمیتوان به مولدی با پارامترهای نامشخصی (m,b,a) اطمینان داشت. ولی با این حال هنوز هم مولدهای متجانس خطی برای کاربردهای غیر رمزنگاری مفید بنظر

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