فهرست مندرجات

مقدمه‌ای بر رمزنگاری - نیم‌سال دوم ۱۳۹۹

استاد ایمیل
شهرام خزایی shahram.khazaei@gmail.com

توضیحات درس

پیش‌نیاز‌ها

مرجع درس

کتاب اصلی درس: introduction_to_modern_cryptography_2nd_edition_katz-lindell.pdf

کتاب کمکی: a_graduate_course_in_applied_cryptography_by_dan_boneh_victor_shoup.pdf

همچنین می‌توانید ویدئو‌های جلسات درس که در سال‌های گذشته ارائه شده است را از طریق لینکhttp://ocw.sharif.edu/course/id/138/ پیدا کنید. جزوات درس نیز از طریق آدرس http://sharif.ir/~shahram.khazaei/ قابل دسترسی هستند.

توجه: ویدئو‌ها و جزوات کلاس به هیچ‌عنوان جایگزین مرجع اصلی درس نمی‌شوند و صرفا جهت کمک به شما در فهم آسان‌تر کتاب هستند.

بارم‌بندی درس

شایسته است هدف از اخذ این درس کسب دانش باشد و نه کسب نمره؛ نمره صرفا ملاکی نه چندان کامل از میزان یادگیری شماست. در این راستا بارم درس به یکی از سه صورت زیر اعلام می‌شود:

  1. هشت سری تمرین نظری (۱۰ نمره) و امتحان پایان‌ترم (۱۰ نمره)
  2. هشت سری تمرین نظری (۸ نمره)، پروژه نظری (۵ نمره) و امتحان پایان‌ترم (۷ نمره)
  3. هشت سری تمرین نظری (۸ نمره)، تمرین عملی (۵ نمره) و امتحان پایان‌ترم (۷ نمره)

این نمرات تقریبی هستند و در انتها ممکن است اندکی تغییر کنند. دانشجویان می‌توانند از بین این سه‌ بارم‌بندی یکی را به‌دلخواه خود انتخاب کنند. برای انتخاب به نکات زیر دقت کنید.

توضیحات و زمان‌بندی تقریبی تمرین‌ها

هر سری تمرین بین ۳ تا ۵ سوال، و مهلت آن یک هفته خواهد بود. دانشجویان بعد از آن به مدت یک هفته با روزی ۵ درصد کسر نمره می‌توانند تمرین خود را با تأخیر تحویل دهند. زمان‌هایی که در ادامه آمده‌اند، تقریبی هستند.

هنگام تحویل تمرین‌ها، به نکات زیر دقت کنید:

برنامه زمانی درس: plan.pdf

توضیحات پروژه نظری

برای پروژه‌ی درس، لیستی از مقالات در حوزه‌ی رمزنگاری آماده شده که تا اواخر اسفند برای شما فرستاده می‌شود. نحوه‌ی انجام پروژه به این صورت است که دانشجویان یکی از این مقالات را انتخاب می‌کنند و بعد از مطالعه‌، گزارشی از آن را در قالب لاتک تحویل می‌دهند. پروژه نظری دو فاز خواهد داشت که مهلت تحویل گزارش اولیه اواسط اردیبهشت و مهلت ارسال گزارش نهایی تا چهار هفته پس از آزمون پایان ترم می‌باشد. توصیه می‌شود برای نوشتن گزارش خود از فایل «در خصوص گزارش‌نویسی»، که برایتان ارسال می‌شود، کمک بگیرید. همچنین رعایت قواعد ابتدایی نگارشی الزامی است. نحوه‌ی انتخاب مقاله‌ها و توضیحات بیشتر در سامانه‌ی درس‌‌افزار اعلام خواهد شد.

در نوشتن گزارش، به نکات آمده در فایل زیر دقت فرمایید: how_to_write_a_report.pdf

لیست مقالات: https://docs.google.com/spreadsheets/d/1ahRIoSLmgmRWuWRSncGareAzlQi8cR2wUnBoouwbe9M/edit?usp=sharing

توضیحات پروژه عملی

پروژه عملی شامل تمارین برنامه‌نویسی از مباحث آمده در درس خواهد بود که در دو فاز آماده شده است. تحویل فاز اول آن اواسط اردیبهشت و تحویل نهایی آن تا چهار هفته پس از آزمون پایان‌ترم خواهد بود. تعریف پروژه و جزئیات آن در سامانه درس‌افزار بارگزاری می‌شود و در طول ترم جلسه توجیهی برای آن برگزار خواهد شد.

تعریف پروژه: project.pdf

فایل‌های شروع‌کننده: initial.zip

دستیاران آموزشی درس

برای این درس کلاس‌های حل تمرین هفتگی در نظر گرفته شده که زمان آن روزهای یکشنبه و سه‌شنبه ساعت ۱۷ الی ۱۹ خواهد بود که به مرور مباحث درس و حل‌ تمرین پرداخته می‌شود. حضور مرتب در کلاس‌ حل تمرین اکیداً توصیه می‌شود. در صورتی که امکان حضور در این کلاس را پیدا نکردید، برای رفع اشکالات خود می‌توانید از طریق ایمیل برای تنظیم جلسه‌ی حضوری با یکی از دستیاران آموزشی اقدام کرده و سوالات خود را مطرح کنید.

تمرین‌ها

تمرین: crypto992_hw1.pdf

پاسخنامه: crypto992_hw1_sol.pdf

تمرین: crypto992_hw2.pdf

پاسخنامه: crypto992_hw2_sol.pdf

تمرین: crypto992_hw3.pdf

پاسخنامه: crypto992_hw3_sol.pdf

تمرین: crypto992_hw4.pdf

پاسخنامه: crypto992_hw4_sol.pdf

تمرین: crypto992_hw5.pdf

پاسخنامه: crypto992_hw5_sol.pdf

تمرین: crypto992_hw6.pdf

پاسخنامه: crypto992_hw6_sol.pdf

تمرین: crypto992_hw7.pdf

پاسخنامه: crypto992_hw7_sol.pdf

تمرین: crypto992_hw8.pdf

پاسخنامه: crypto992_hw8_sol.pdf

کلاس‌های حل تمرین

ویدیو جلسات نیز از طریق لینک زیر قابل دسترسی هستند: https://www.dropbox.com/sh/w7y8hkrhbjutpqo/AAAQZVspG7bCSd1bb8g_1snWa?dl=0

امتحان پایان‌ترم

امتحان: final-crypto992.pdf

پاسخ‌نامه: crypto992_final_sol.pdf