پنج شنبه 5 اسفند 1395 | Thursday 23 rd of February 2017 صفحه اصلی گروه الکترونیکی کامپیوتر
1-7-3 ملزومات طرح مؤثر و کارای نرم افزاری الگوریتم رمز

1)  در الگوریتم از پرش های شرطی در حلقه درونی الگوریتم باید اجتناب شود. هرتغییر غیر قابل پیش بینی در جریان کنترل الگوریتم به طور طبیعی موجباختلال در عملکرد مقاوم پردازش و در نتیجه افزایش تعداد سیکل های ساعتمورد نیاز، خواهد شد. بنابراین به طور مشخص هر عملگر و یا دستور همانندif، thenو یاelseدر زبانCو یا اسمبلی موجب پرش در جریان اجرا خواهدشد. پرش ها همچنین اسیب پذیری رمز را در برابر حمله های زمانی که دراورده شده، افزایش می دهد.

2)  از عملگرهائی که طبیعتاًساختارهای سنگینی دارند استفاده نشود . در این دسته بندی  عملگرهایضرب و تقسیم و سایر عملگرهائی را که بر روی پردازنده ها به سختی اجرا میشوند، قرار دارند . به طور مثال یک عملگر چرخش/انتقال متغیر ، ( که مقدارچرخش و یا انتقال در مرحله اول مشخص نمی باشد ) بر روی پردازنده پنتیومنیاز به 4 سیکل ساعت برای اجرا خواهد داشت و در عین حال با هیچ عملگردیگری نمی تواند به طور همزمان اجرا شود بنابراین به صورت چند زیر مجموعهاز عملگرهای ساده انجام می شود و زمان مورد نیاز اجرای ان بیشتر از یکعملگر ساده تنها خواهد بود.

3)  در طرح الگوریتم باید تا حدممکن تعداد متغیرهای مورد نیاز را محدود نمود . بسیاری از پردازنده هایمدرن شامل تعداد زیادی ثبات چندمنظوره می باشند . اما در برخی این تعدادثبات چند منظوره بسیار کم می باشد . به طور مثال در پنتیوم تنها هفت ثباتچندمنظوره وجود دارد و در صورتیکه در حلقه درونی الگوریتم تعداد زیادیمتغیر بکار رود تمامی انها در ثبات ها قرار نمی گیرند و به علت نیاز بهدسترسی به حافظه، اجرا سنگین تر خواهد شد.

4)  اندازه جداولبکار رفته تا حد ممکن باید کوچک باشد . هرچند که جداول بزرگتر از نظررمزنگاری مناسبتر می باشند اما انواع کوچکتر انها برای اجرای سریعتر نرمافزاری مطلوب تر هستند . با توجه به پردازنده های کنونی جداول باید بهگونه ای در نظر گرفته شوند که بیش از چهار کیلو بایت برای ذخیره سازی نیازنداشته باشند.

5)  در طرح عملگرهای بکار رفته باید تا حد ممکناز الگو های موازی بسیار استفاده شود . ایده عمومی بکارگیری عملگرهایمستقل از یکدیگر و اجرای همزمان و موازی با هم این عملگرها می باشد. اینالگو می تواند تا حد بسیار زیادی در افزایش سرعت اجرا مؤثر باشد.
نکاتیکه بیان شد بسیار ساده می باشند اما با بهره گیری از انها می توان تا حدبسیار زیادی پیاده سازی مؤثر و سرعت اجرای بالای نرم افزاری را برایالگوریتم ایجاد نمود.

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26