معرفي سيستم هاي رمزبلوكي

Download Report

Transcript معرفي سيستم هاي رمزبلوكي

‫معرفي سيستم هاي رمزبلوكي‬
‫ارائه دهنده ‪ :‬سيد مهدي محمدحسن زاده‬
‫‪[email protected]‬‬
‫شركت صنايع الكترونيك زعيم‬
‫بهار ‪1380‬‬
‫فهرست مطالب‬
‫‪ -1‬مقدمه‬
‫‪ -2‬مدل‪Random cipher‬‬
‫‪ -3‬تعريف پخش كنندگي و درهم پيچيدگي‬
‫‪ -4‬ويژگيهاي مطلوب براي يك الگوريتم‬
‫رمز بلوكي‬
‫‪ -5‬چند مفهوم اوليه‬
‫‪ -6‬معرفي انواع ساختار سيستم هاي‬
‫بلوكي‬
‫‪ -7‬خواص شبكه هاي ‪Feistel‬‬
‫‪ -8‬ساختارهاي مشابه ‪Feistel‬‬
‫‪ -9‬جمع بندي‬
‫‪ -10‬پايان‬
‫مقدمه‪:‬‬
‫فد ه ا ستفاده از سيستم هاي زمر كننده ندربالاب‪،‬امنيت لاقتنااط العات‬
‫يوحن هب ك ه هب يجراخ صخش م حتواياط العات دسترسي اديپ نكند‪.‬‬
‫‪ ‬جابجا كردن حروف يا كلمات با هم (مشخصات آماري موجود‬
‫در هر زبان)‬
‫‪ ‬به هم ريختن احتمال وقوع هربيت در يك دنباله‬
‫‪ ‬جايگزيني ‪ N‬بيت با ‪ N‬بيت دلخواه (مشخصات آماري موجود‬
‫در هر زبان)‬
‫‪ ‬پخش كردن ‪ N‬بيتيهاي با معني در يك فضاي بزرگ تر‬
‫ايده‬
‫آل ‪:‬بايدكاري كنيم كه بهترين حمله براي يك مهاجم‬
‫جستجوي كامل فضاي موجود باشد‪.‬‬
‫‪ ‬انواع رمز كننده ها‬
‫سيستم پي درپي‬
‫‪ -2‬سيستم بلوكي‬
‫‪-1‬‬
‫‪-1‬‬
‫‪ ‬مقايسه‪:‬‬
‫انتشارخطا ‪-2‬گم شدن يك بيت ‪-3‬سرعت عمليات ‪-4‬‬
‫پيچيدگي ‪-5‬قيمت تمام شده ‪-6‬سنكرون بودن‬
‫‪ ‬سيستم هاي رمز بلوكي‬
‫‪ -2‬نامتقارن‬
‫‪ -1‬متقارن‬
‫كليد رمزگشايي=‪ , K2‬كليد رمزگذاري=‪K1‬‬
‫مدل‬
‫‪Random cipher‬‬
‫‪S2S2‬‬
‫ك ل فضاي پيامهاي ‪N‬يفرح ‪S1‬‬
‫ك ل فضاي پيامهاي ‪N‬يفرح ‪S1‬‬
‫هدف از طراحيكي ال گوريتم خوب ن گاشت ةعومجم ‪S2‬‬
‫لك يور رب فضاي پيامهاي‪ N‬يفرح ‪ S1‬يم‬
‫ب اشد‬
‫يوحن هب ك ه ص اوخ آم اري هعومجم ‪ S2‬از نيب برود‪.‬‬
‫تعريف پخش كنندگي )‪: (Diffusion‬‬
‫از بين رفتن ويژگيهاي مجموعه‪S2‬‬
‫پس از نگاشت شدن به داخل كل فضاي ‪. S1‬‬
‫يك مثال از مدل ‪Random Cipher‬‬
‫به كليد با ‪ N‬بيت ورودي و ‪N‬‬
‫مي تواند يك جدول وابسته‬
‫بيت خروجي باشد‬
‫اشكال اين روش نياز به حافظه زياد است مثالً براي ‪ N=64‬تقريبا ً‬
‫‪ 1020byte‬حافظه مورد نياز است‪.‬‬
‫اين سيستم امنيت كاملي دارد‬
‫مدل‬
‫‪Random Cipher‬‬
‫‪S2 S2‬‬
‫ك ل فضاي پيامهاي ‪N‬يفرح ‪S1‬‬
‫طراحي ال گوريتم رمز بلوكي‬
‫ك ل فضاي پيامهاي ‪N‬يفرح ‪S1‬‬
‫تشاگن زا يا هداوناخ يحارط‬
‫ا ه‪‬‬
‫تعريف درهم پيچيدگي)‪: (Confusion‬‬
‫كليد ‪ K‬و متن رمز شده ‪ C‬چنان به صورت يك رابطه پيچيده اي‬
‫با هم ‪ ،‬رابطه داشته باشند كه از متن ‪ C‬به ‪ K‬نتوان پي برد‪.‬‬
‫خواص خانواده نگاشتها‬
‫‪ -1‬توسط پارامتري به نام <<كليد>> يك عضو از خانواده انتخاب‬
‫مي گردد‪.‬‬
‫‪ -2‬هر عضو اين خانواده بايد مانند يك مدل ‪Random‬‬
‫‪ Cipher‬عمل كند‪.‬‬
‫‪ -3‬اعضاي اين خانواده بايد با يكديگر تفاوت قابل قبولي داشته‬
‫باشد‪.‬‬
‫يك خانواده بد‪:‬‬
‫يك خانواده نسبتا خوب‪:‬‬
‫ويژگيهاي مطلوب براي يك الگوريتم رمزبلوكي‬
‫‪-1‬بزرگ بودن اندازه قالبهاي ورودي – خروجي براي جلوگيري از‬
‫يك كتاب كد توسط مهاجم‪.‬‬
‫‪-2‬بزرگ بودن فضاي كليد به منظور جلوگيري از امكان جستجوي كامل‬
‫فضاي كليد توسط دشمن ‪.‬‬
‫‪-3‬پيچيده بودن رابطه موجود بين متن رمز شده با متن اصلي و كليد‪ ،‬براي‬
‫جلوگيري از حمالت تحليلي و آماري به سيستم‪.‬‬
‫تشكيل‬
‫‪-4‬ودرنهايت الگوريتم بايد دو ويژگي ‪ Diffusion‬و ‪( Confusion‬معيارهاي‬
‫شانون)را در حد اعالي خود‪ ،‬دارا باشد‪.‬‬
‫تعريف ديگري از‪ Diffusion‬و ‪Confusion‬‬
‫‪: Diffusion‬اثرهربيت ورودي(متن وكليد)روي تمام بيتهاي خروجي‬
‫‪: Confusion‬پيچيده شدن رابطه بين ورودي(متن وكليد)وخروجي‬
‫‪ Confusion‬به تنهايي مي تواند براي امنيت سيستم كافي باشد‬
‫براي ‪ Diffusion‬از عمل جايگشت بيتي و براي ‪ Confusion‬از عمل‬
‫جابجايي( ‪)S-box‬ها‪ ،‬به صورت يك در ميان استفاده مي شود‪.‬‬
‫رمز كننده هاي ضربي=(‪)SP‬‬
‫تعريف چند مفهوم اوليه‬
‫دنباله تصادفي‪:‬‬
‫دنباله اي كه الفباي آن بدون هيچ قاعده اي پشت سر هم قرارگرفته باشند‬
‫مولدي كه از‬
‫مولدبي قاعده دنباله ها‪:‬‬
‫فضاي كل دنباله ها‪،‬يك دنباله رابه صورت تصادفي توليد مي كند (وابسته‬
‫به كليد ‪ .)K‬دنبالهاي با قاعده يا بي قاعده‬
‫مولد بي قاعده توابع‪:‬‬
‫مولد تابعي كه به طور تصادفي توابع خروجي خود را ازفضاي ‪( Fn‬كل‬
‫توابع ‪ n‬بيتي به ‪ n‬بيتي ) انتخاب كند‬
‫الگوريتم رمز بلوكي بايد يك مولدبي قاعده توابع باشد‬
‫معرفي انواع سيستم هاي رمز بلوكي از نظر ساختار‬
‫‪ -1‬شبكه هاي غير ‪Feistel‬‬
‫‪ -2‬ساختار شبكه ‪Feistel‬‬
‫اليه هاي مختلف تابع دور در‬
‫شبكه هاي غير ‪Feistel‬‬
‫‪ -1‬مخلوط كننده قالب ورودي با‬
‫كليد فرعي‬
‫‪-2‬اليه خطي‬
‫‪-3‬اليه غيرخطي‬
‫در اين ساختار نياز به محاسبه معكوس‬
‫تابع دور مي باشد‬
‫تفاوت عمده دو ساختار‪:‬‬
‫در شبكه غيرفيستل‬
‫‪-1‬نيازبه معكوس تابع مي باشد‬
‫‪-2‬الگوريتم رمزگشا ورمزكننده متفاوت‬
‫مي باشند‬
‫‪ -3‬معموال پيچيدگي بيشتري دارند‬
‫‪ -4‬سرعت آنها كمتر است‬
‫چند تعريف‪:‬‬
‫تماميت‪:‬‬
‫هر بيت خروجي ‪ ،‬تابع تمام بيتهاي ورودي باشد‪.‬‬
‫(هر دو ويژگي ‪ Confusion , Diffusion‬را فراهم مي كند)‬
‫انتشار(بهمني)‪:‬‬
‫با تغيير هربيت ورودي‪ ،‬هربيت خروجي با احتمال‪ 2/1‬تغيير كند‪.‬‬
‫انتشارمرتبه‪:K‬‬
‫با تغيير هر ‪ K‬بيت ورودي‪ ،‬هربيت خروجي بطور متوسط با احتمال ‪2/1‬‬
‫تغيير كند‪.‬‬
‫خواص شبكه هاي مبتني بر ‪: Feistel‬‬
‫‪involution-1‬‬
‫‪-2‬تابع دورمستقل از‪ f‬يك بيك است‬
‫‪-3‬با سه دوريك مولد تصادفي توابع داريم‬
‫‪-4‬با سه دور ويژگي تماميت داريم‬
‫‪-5‬با سه دورويژگي انتشارداريم‬
‫‪-6‬با دودورعدم نشت ايستاي اطالعات داريم‬
‫‪-7‬تعداد دور باال ‪،‬امنيت بيشتر‬
‫چند نكته براي ساختار‪: Feistel‬‬
‫امنيت سيستم وابسته به خواص تابع ‪ f‬است‬
‫تابع ‪ f‬همان ‪ S-box‬ها مي باشد‬
‫در طراحي ها تمركز رود ‪ S-box‬ها مي باشد‬
‫به دليل نياز به كليدهاي فرعي زياد‪ ،‬طراحي الگوريتم آن خيلي مهم‬
‫است‬
‫برخي خواص ‪ S-box‬ها‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫غير خطي بودن‬
‫باالنس بودن‬
‫ايمني ازهمبستگي مرتبه ‪m‬‬
‫انتشار مرتبه‪K‬‬
‫استقالل بيتهاي ورودي و خروجي از هم‬
‫عدم نشت ديناميك اطالعات‬
‫احتمال كم درمشخصه تفاضلي‬
‫ساختارهاي شبه ‪:Feistel‬‬
‫ساختارهاي شبه ‪:Feistel‬‬
‫ساختارهاي شبه ‪:Feistel‬‬
‫ساختارهاي شبه ‪:Feistel‬‬
‫جمع بندي‪:‬‬
‫معرفي انواع رمز كننده ها‬
‫معرفي رمز كننده هاي بلوكي‬
‫معرفي ويژگي هاي سيستم مطلوب‬
‫معرفي خواص ساختار ‪Feistel‬‬
‫معرفي ساختارهاي شبه ‪Feistel‬‬