So in unit one, we learn about symmetric ciphers.
In unit two, we're going to learn about how to apply symmetric ciphers
to solve problems.
So for the rest of this course, we are mostly going to view ciphers as black boxes.
They provide two functions: encrypt and decrypt.
Encrypt takes in the message from some message base
and produces a cipher text.
And, it also takes in a key from some key space.
Decrypt is the inverse. It takes in a cypher text and a message.
And if it takes in the same key,
it will produce the same message that we got.
And our correctness property
is that the decryption with the same key of a message encrypted with that key
gives us the same message.
For the rest of this unit we are going to assume
that we have some function that provides encryption and decryption.
AS is a good choice for most applications.
And we're going to look at how to use these functions to solve problems.
The first thing we're going to look at though is how we actually get this key.
All of our assumptions about security depend on this key. And we have two key assumptions.
The first is that the "k" is selected randomly, and uniformly.
This means each key is equally likely to be selected,
and there's no predictability about what the key is.The other big assumption about the key
is that it can be kept secret.
The adversary can't learn the key.
But, it can be shared between the two end points.
This is a big challenge. We're not going to look at that yet this unit.
We'll get to that later.
This is the big problem of key distribution
which we'll talk about starting in unit 3.
Now I want to talk about this first problem though.
that we need to select a random key.
