HW 2.pdf

‫به نام خدا‬
‫دانشگاه صنعتی شریف‬
‫نیمسال اول ‪49-49‬‬
‫نام درس‬
‫استاد درس‬
‫امنیت داده و شبکه‬
‫دکتر امینی‬
‫تاریخ تعریف تمرین‬
‫مهلت تحویل‬
‫‪39/8/22‬‬
‫‪39/3/7‬‬
‫لطفا فایل پاسخ خود را در قالب ‪ PDF‬و کد و سایر ملحقات را به صورت یک فایل فشرده درآورده و آنرا به آدرس‬
‫‪ [email protected]‬ارسال نمایید‪ .‬عنوان نامه و نام فایل بایستی به صورت ‪HW2-DNS-93-1-Student Number‬‬
‫باشد‪.‬‬
‫‪.1‬‬
‫منظور از ‪ Confusion‬و ‪ Diffusion‬در رمزنگاری چیست؟‬
‫‪.2‬‬
‫تفاوت بین مقاومت در برابر تصادم ضعیف ‪ 1‬و مقاومت در برابر تصادم قوی ‪ 2‬را بیان کنید‪.‬‬
‫‪.9‬‬
‫اثر بهمنی را شرح دهید‪.‬‬
‫‪4‬‬
‫‪9‬‬
‫‪.4‬‬
‫روش رمزنگاری بلوکی چه تفاوتی با روش رمزنگاری جریانی دارد؟‬
‫‪.5‬‬
‫تفاوت توابع درهم ساز (‪ ،)hash‬کدهای احراز صحت پیام (‪ )MAC‬و امضای رقمی را شرح دهید‪.‬‬
‫‪.6‬‬
‫به نظر شما ترتیب انجام عملیات های رمزگذاری‪ ،‬تولید کد احراز صحت پیام و فشرده سازی چگونه باید باشد‪ .‬پاسخ خود رابه طور‬
‫کامل شرح دهید‪.‬‬
‫‪.7‬‬
‫فرض کنید تابع درهم سازی داریم که در مقابل تصادم مقاوم است‪ .‬ورودی این تابع‪ ،‬پیامی با هر طول دلخواه است و خروجی آن‪،‬‬
‫مقدار درهم شده ی ‪ n‬بیتی است‪ .‬آیا می توان ادعا کرد که به ازای هر پیام ‪ x‬و ‪ y‬که 𝑦 ≠ 𝑥 ویژگی )𝑦(𝐻 ≠ )𝑥( 𝐻 صادق‬
‫است؟ پاسخ خود را شرح دهید‪.‬‬
‫‪.8‬‬
‫توابع در هم ساز زیر را در نظر بگیرید‪.‬‬
‫𝑡‬
‫𝑛 𝑑𝑜𝑚 ) ‪ℎ2 = (∑(𝑎𝑖 )2‬‬
‫‪𝑖=0‬‬
‫𝑡‬
‫𝑛 𝑑𝑜𝑚 ) 𝑖𝑎 ∑( = ‪ℎ1‬‬
‫‪𝑖=0‬‬
‫‪1‬‬
‫‪Weak Collision Resistance‬‬
‫‪Strong Collision Resistance‬‬
‫‪3‬‬
‫‪Block Cipher‬‬
‫‪4‬‬
‫‪Stream Cipher‬‬
‫‪2‬‬
‫فرض کنید پیام ها دنباله ای از اعداد در ‪ Zn‬هستند ( ‪ n‬مقداری از پیش تعریف شده است)‪ .‬یعنی پیام ‪ M‬را می توان به صورت‬
‫)‪ M=(a0 ,a1,a2,…,at‬نشان داد‪ .‬تابع درهم سازی ‪ h1‬و ‪ h2‬بر روی پیام ‪ M‬اعمال می شود‪.‬‬
‫توابع ‪ h1‬و ‪ h2‬را از نظر ویژگی های زیر بررسی کنید‪:‬‬
‫‪.3‬‬
‫‪-‬‬
‫تنوع سایز ورودی (‪)Variable Input Size‬‬
‫‪-‬‬
‫سایز خروجی ثابت (‪)Variable Output Size‬‬
‫‪-‬‬
‫کارایی (‪)Efficiency‬‬
‫‪-‬‬
‫یکطرفه بودن (‪)One-Way‬‬
‫‪-‬‬
‫مقاومت در مقابل تصادم ضعیف‬
‫‪-‬‬
‫مقاومت در مقابل تصادم قوی‬
‫یکی از پیاده سازی های الگوریتم ‪ DES‬و ‪ AES‬را در نظر گرفته و به سواالت زیر پاسخ دهید‪:‬‬
‫‪-‬‬
‫برنامه ای نوشته که عمل رمزگذاری و رمزگشایی را در ‪ DES‬و ‪ AES‬انجام دهد‪ .‬برنامه بایستی در مدهای کاری ‪ ECB‬و‬
‫‪ CBC‬کار کند‪.‬‬
‫‪-‬‬
‫مدهای ‪ ECB‬و ‪ CBC‬را با هم مقایسه کنید‪.‬‬
‫‪-‬‬
‫اثر بهمنی را در مدهای ‪ ECB‬و ‪ CBC‬بررسی کنید‪.‬‬
‫‪-‬‬
‫فایلی با حجم نسبتا بزرگ را با روش ‪ AES‬و کلید ‪ 128‬بیتی و ‪ 256‬بیتی رمز کرده و مدت زمان اجرای آن ها را مقایسه‬
‫کنید‪.‬‬
‫‪ .11‬سناریو زیر را در نظر بگیرید‪:‬‬
‫بانکی را در نظر بگیرید که دادههای خود را با کلید ‪ k‬رمز نگاری کرده است‪ .‬به دلیل برخی مالحظات امنیتی بانک این کلید را به دو‬
‫کلید دیگر تقسیم میکند بطوری که برای انجام رمزگشایی (و رمزنگاری) وجود هر دو کلید الزم است و هر کلید به تنهایی در خود‬
‫اطالعاتی در مورد کلید اصلی ندارد‪.‬‬
‫بانک کلید تصادفی ‪ k1‬را تولید میکند و از روی آن کلید ‪ k2‬را بدست میآورد و هر کدام را به یک مدیر اجرایی میدهد‪.‬‬
‫شروط زیر باید برقرار باشد‪:‬‬
‫𝑙‬
‫𝑙‬
‫‪′‬‬
‫‪′‬‬
‫‪𝑘 = {0,1} ,‬‬
‫‪𝑘1 𝑖𝑛 {0,1} ,‬‬
‫‪𝑘1 ← 𝑘 ⊕ 𝑘1 ,‬‬
‫𝑘 = ‪𝑘1 ⊕ 𝑘1‬‬
‫حال فرض کنید همین بانک میخواهد با گسترش دادن همین سناریو‪ ،‬تعداد کلیدهای مشارکت کننده را به ‪ 9‬افزایش دهد با این‬
‫تفاوت که حتی اگر یکی از این کلیدها حاضر نباشد عملیات رمزنگاری قابل اجرا باشد‪ .‬شروط زیر باید برقرار باشد‪:‬‬
‫𝑘 = ‪𝑘1 ⊕ 𝑘1′ = 𝑘2 ⊕ 𝑘2′‬‬
‫∶ ) ‪𝑓𝑜𝑟 𝑡𝑤𝑜 𝑟𝑎𝑛𝑑𝑜𝑚 𝑝𝑎𝑖𝑟𝑠 (𝑘1, 𝑘1′ ) (𝑘2, 𝑘2′‬‬
‫شمای افرازی را برای این بانک طراحی کنید بصورتی که هر ‪ 2‬مدیر اجرایی بتوانند عملیات رمزنگاری را انجام دهند ولی هیچ مدیری‬
‫به تنهایی این توانایی را نداشته باشد‪ .‬دالیل خود را برای طراحی آن شِما توضیح دهید‪.‬‬
‫نکات‪:‬‬
‫برای پیاده سازی الگوریتم های رمزنگاری‪ ،‬می توانید از زبان برنامه نویسی دلخواه خود استفاده کنید‪.‬‬
‫لطفا پاسخ خود (مستندات و کد منبع ) را به آدرس ‪ [email protected]‬ایمیل کنید‪.‬‬
‫تاخیر در ارسال پاسخ‪ ،‬مشمول کسر نمره خواهد بود‪.‬‬
‫در صورت استفاده از منبع خاصی برای پاس خ به سوال‪ ،‬لطفا اسم آن منبع ذکر گردد‪.‬‬
‫پاسخ ها می توانند فقط به زبان فارسی باشند‪.‬‬
‫حداکثر تعداد صفحات بایستی ‪ 02‬صفحه باشد‪.‬‬
‫در صورت مشاهده ی تقلب ‪ ،‬بر اساس مقررات آموزشی با آن برخورد خواهد شد‪.‬‬
‫در صورت بروز ابهام در مورد سواالت‪ ،‬می توانید سواالت خود را به آدرس ‪ [email protected]‬بفرستید‪.‬‬
‫موفق باشید‪.‬‬