Nothing to hand in. This set of questions is intended to help guide your
reading and video-watching as you learn about some cryptography basics.
Among other online resources, you might find Chapter 5 of
Anderson's Security Engineering, 2e
helpful. By the middle of the fourth week of class, make sure you
can answer the following questions clearly and concisely.
- What's the difference between symmetric and asymmetric encryption algorithms? Be able
to name at least two examples of each.
- Of what does an RSA public key consist? Same question for the private key. What's the
required mathematical relationship between the two?
- Given an RSA public key, how do you encrypt a message? Given an RSA private key and
a message encrypted with the corresponding public key, how do you obtain the original message?
- What's a public key infrastructure (PKI), and why would you want one?
- What is a cryptographic hash function, and what is one used for? What properties
does it need to have? Be able to name at least two.
- What is a message authentication code (MAC), and what is one used for? What properties
does it need to have? Be able to name at least two.
Once we have introduced these cryptographic primitives, we'll be looking at
the SSH and
TLS protocols. The cryptographic
primitives are central to making these network protocols secure, so it's important
to get the basic vocabulary and mechanisms into your head before we dive into the protocols.