
CNIT 141: Cryptography for Computer NetworksFall 2020 Sam BowneSchedule · Lectures · Projects · Links · Home Page



Course JustificationIndividuals, companies, and governments all have private data on their computer systems that must be protected. However, the encryption techniques required to protect them are difficult to apply, and often fail in practice. There is a serious shortage of information technology professionals who are qualified to install, repair, and maintain cryptographic security measures. This class helps students prepare to meet those needs. Catalog DescriptionMathematical underpinnings and practical applications of modern cryptographic systems, including the Advanced Encryption Standard (AES), the Secure Hash Algorithms (SHA), and RivestShamirAdleman (RSA). The class focuses on practical applications: selecting, implementing, testing, and maintaining systems to protect data on modern computer networks. Student Learning OutcomesUpon successful completion of this course, the student will be able to: Textbooks"Serious Cryptography: A Practical Introduction to Modern Encryption", by JeanPhilippe Aumasson, No Starch Press (November 6, 2017), ISBN10: 1593278268 ISBN13: 9781593278267 QuizzesThe quizzes are multiplechoice, online, and openbook. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter before the lecture covering it, and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts. Discussion BoardEach CCSF student must contribute to the Discussion Board in Canvas. There are dates listed in the schedule with Discussion assignment due. 
Schedule (may be revised)  

Date  Quiz & Proj Due  Topic  
Thu 820  Intro: Bitcoin & Cryptography
 
Thu 827  Quiz Ch 1 * Discussion 1 due* 
1. Encryption
 
Thu 93  Quiz Ch 2 * Proj C 101 & C 102 due * Discussion 2 due * 
2. Randomness
 
Fri 94  Last Day to Add Classes  
Thu 910  Quiz Ch 3 * Proj C 103 due Discussion 3 due 
3. Cryptographic Security
 
Thu 917  Quiz Ch 4 * Proj C 105 due Discussion 4 due 
4. Block Ciphers
 
Thu 924  Quiz Ch 5 * Proj C 106 due Discussion 5 due 
5. Stream Ciphers
 
Thu 101  Quiz Ch 6 * Proj C 201 due Discussion 6 due 
6. Hash Functions  
Thu 108  Quiz Ch 7 * Proj C 202 due Discussion 7 due 
7. Keyed Hashing  
Thu 1015  Quiz Ch 8 * Proj C 401 due Discussion 8 due 
8. Authenticated Encryption  
Thu 1022  Quiz Ch 9 * Proj C 402 due Discussion 9 due 
9. Hard Problems  
Thu 1029  Quiz Ch 10 * Proj C 403 due Discussion 10 due 
10. RSA  
Thu 115  No Quiz Proj C 501 due 
 
Thu 1112  Quiz Ch 11 * Proj C 502 due Discussion 11 due 
11. DiffieHellman  
Thu 1119  Quiz Ch 12 * Proj C 503 due Discussion 12 due 
12. Elliptic Curves  
Thu 1126  Holiday  No Class  
Thu 123  Quiz Ch 13 * Proj C 504 due 
13. TLS  
Thu 1210  Quiz Ch 14 * All Extra Credit Proj due 
Last Class 14. Quantum and PostQuantum  
Fri 1211  Fri 1218 
Final Exam available online throughout the week. You can only take it once.  
* Quizzes due 30 min. before class Nothing is consided late until 910 
Lecture Slides  

Grading Policy
Bitcoin and Blockchains
· Keynote
· PDF
Beyond the doomsday economics of
2. Randomness
· Keynote
· PDF
