Guidelines:
- Before solving the homework problems, you are expected to do the weekly reading assignments and understand the related material.
- An asterisk (*) indicates supplementary reading material.
- Homework assignmentsmust must be typed or neatly written by hand and scanned, saved as PDF, and submitted on Gradescope using the template. Assignments submitted by emails or MS Teams are NOT accepted.
- When you scan some part of your solution, make sure that your writing or drawing is clear. Use of mobile scanning apps like Office Lens and CamScanner, can help a lot.
- The homework PDF file must have a header on the first page, and a header for each question in separate page. Therefore, the total number of pages should be equal to the total number of questions. See HW_format. You should follow this format when you submit your homework in order to be graded. See also a HW_Sample which can be used a template.
- The deadline is specified to be at midnight. You need to submit at least one draft before the deadline to avoid late penalties (if any). You will have a 6-hour grace period (until 6:00am next day) to resubmit if needed. This is the hard deadline after which you will not be able to submit (No exceptions).
- Resubmission: In case you fear that you may miss the hard deadline, always submit the latest version of the homework that you have ready. If you manage to solve additional problems during the grace period, you can resubmit the whole homework within the grace period. Do NOT wait until 6:00am to submit.
- Log in to Gradescope using your KFUPM account or KFUPM email.
Reading Assignment [Weeks 1-3]: Introduction to Cryptography, Cryptanalysis, Traditional Ciphers.
Forouzan: Chapters 1, 3.
Stallings: Chapters 1*, 3*.
Slides: P01, P02.
Reading Assignment [Weeks 4-5]: Division, Primes, Euclidean Algorithm, Modular Arithmatic.
Forouzan: Chapter 2
Stallings: Sections 2.1-2.4
Slides: P03.
Reading Assignment [Weeks 6-8]: Symmetric-key ciphers, Block Ciphers, DES, AES, Group Theory, Cyclic Groups.
Stallings: Sections 2.5, 4.1-4.2, and 6.2-6.4*.
Forouzan: Sections 5.1, 6.1-6.5*, and 7.1-7.4.
LNGT: Sections 1-2.
Slides: P04, P05, and AES_Demo.
Reading Assignment [Weeks 9-10]: Permutation Groups, Asymmetric-key cipher, Modular Exponentiation, RSA, Rabin Encryption.
LNGT: Section 3.
Forouzan: Sections 9.6.1, 10.1-10.2, 10.3*.
Slides: P06 (#1-30).
Reading Assignment [Weeks 11-12]: DLog, Diffie-Hellman, ElGamal, Secure Hashing, Digital Signatures, Blockchains.
Forouzan: Sections 9.6.2, 10.4.
Forouzan: Chapters 11-13*, Section 15.3.
Stallings: Chapters 11-13*.
Bashir: Chapter 1
Lee: Chapter 1
Slides: P06(#31-45), P07, P08.
Reading Assignment [Weeks 13-15]: Bitcoin, Blockchains and Smart Contracts.
Nakamoto: Bitcoin White paper
Lee: Chapter 6.
Bashir: Chapters 8-11*
Narayanan: Chapters 5-6*
Slides: P09, P10.