YALE UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE

 CPSC 467: Cryptography and Computer SecurityHandout #7
Professor M. J. Fischer   October 8, 2017



 

Study Guide to Midterm Exam

Exam Topics

You are responsible for the topics covered in lecture notes 1–11, as well as the concepts used in homework assignments 1–4. Not everything in the lecture notes was covered in class, but you should read any slides that were skipped to make sure you understand them.

Supplementary Textbook

Most of these same topics are covered in the Paar and Pelzl online textbook, Understanding Cryptography, often to greater depth. Roughly speaking, we’ve covered the following chapters and sections:

While the exam will not cover material from the textbook that was not covered in class and in the lecture notes, the textbook gives additional perspective and context for understanding the course material.

Index to the Lecture Notes

Below is a list of all sections and subsections from the lecture notes 1–11. You can use this as an index to the lecture notes and as a high-level overview of the course so far.

1 Highlights from Syllabus [lecture 1]

2 Data Breaches [lecture 1]

3 Defending Against Attacks [lecture 1]

4 Course Overview [lecture 2]

5 Security Principles [lecture 2]

5.1 Confidentiality [lecture 2]

5.2 Integrity [lecture 2]

5.3 Availability [lecture 2]

5.4 Crypto as a security tool [lecture 2]

6 Threats [lecture 2]

7 Who are the Attackers? [lecture 2]

8 Secret Message Transmission [lecture 3]

9 Symmetric Cryptography [lecture 3]

10 Caesar cipher [lecture 3]

11 Some other classical ciphers [lecture 3]

11.1 Generalized shift ciphers [lecture 3]

11.2 Polyalphabetic ciphers [lecture 3]

11.3 Polygraphic Ciphers [lecture 3]

12 Analyzing Confidentiality of Cryptosystems [lecture 4]

12.1 Secret ballot elections [lecture 4]

12.2 Information protection [lecture 4]

12.3 Adversaries with unlimited power [lecture 4]

12.4 Computationally limited adversaries [lecture 4]

12.5 Kinds of attacks [lecture 4]

13 Modification Attack [lecture 5]

14 Computational Security [lecture 5]

15 Information-Theoretic Security [lecture 5]

15.1 Some probability theory [lecture 5]

15.2 Information-theoretic security [lecture 5]

15.3 Loss of perfection [lecture 5]

16 Symmetric Cryptosystem Families [lecture 5]

16.1 Stream ciphers [lecture 5]

16.2 Block ciphers [lecture 5]

17 Symmetric Cryptosystem Components [lecture 6]

18 Padding [lecture 6]

18.1 Bit padding [lecture 6]

18.2 Byte padding [lecture 6]

19 Data Encryption Standard (DES) [lecture 6]

20 Multiple Encryption [lecture 7]

20.1 Composition [lecture 7]

20.2 Group property [lecture 7]

21 Birthday Attack [lecture 7]

22 Advanced Encryption Standard [lecture 7]

23 Advanced Encryption Standard (cont.) [lecture 8]

24 AES Alternatives [lecture 8]

25 Chaining Modes [lecture 8]

25.1 Block chaining modes [lecture 8]

25.2 Extending chaining modes to bytes [lecture 8]

26 Public-key Cryptography [lecture 8]

27 RSA [lecture 8]

28 Tools Needed for RSA [lecture 9]

29 Algorithms [lecture 9]

29.1 Computing with Big Numbers [lecture 9]

29.2 Fast Exponentiation Algorithms [lecture 9]

30 Number Theory [lecture 9]

30.1 Factoring Assumption [lecture 9]

30.2 Number Theory for RSA [lecture 9]

30.3 Division of Integers [lecture 9]

31 Integers Modulo n [lecture 10]

32 Multiplicative Subgroup of Zn [lecture 10]

32.1 Greatest common divisor [lecture 10]

32.2 Multiplicative subgroup of Zn [lecture 10]

33 Discrete Logarithm [lecture 10]

34 Diffie-Hellman Key Exchange [lecture 10]

35 ElGamal Cryptosystem [lecture 11]

36 Message Integrity and Authenticity [lecture 11]

36.1 Message authentication codes [lecture 11]

36.2 Asymmetric digital signatures [lecture 11]

36.3 Implications of Digital Signatures [lecture 11]

37 Digital Signature Algorithms [lecture 11]

37.1 Signatures from commutative cryptosystems [lecture 11]

37.2 Signatures from non-commutative cryptosystems [lecture 11]

38 Security of Digital Signatures [lecture 11]

38.1 Forgery [lecture 11]