[Evans] So we've reached the end of Unit 1.
Let me remind you what we've covered.
We covered symmetric cryptosystems and introduced the terminology
and definitions we need to talk about encryption.
In particular, we know what it means for a cryptosystem to be correct--
that encryption and decryption are indeed inverses.
Defining security is a much trickier thing, and we talked about ways we could define security
for a symmetric cryptosystem.
We introduced the one-time pad, which is a very simple but important cryptosystem,
and it's all based on using the XOR operation.
As long as we have a perfectly random key that's as long as the message,
the one-time pad gives us perfect security.
We looked at a formal way to define what a perfect cipher means
and prove that the one-time pad has that property.
We also saw that in order to be perfect, a cipher has to be impractical--
that the number of keys has to exceed the number of messages,
and that means that every cipher that's used in practice is potentially breakable.
We saw one very interesting example of that with how the Allies at Bletchley Park
were able to break the Lorenz cipher.
We talked about modern symmetric ciphers which take advantage of computing power,
following many of the same principles of the historical mechanical ciphers like Lorenz
but using modern computing power and new ideas about how to scramble data
to produce much more confusion and make things much more challenging for cryptanalysis
even when attackers have access to the huge amounts of computing power
available today.
I hope you enjoyed Unit 1 and have a good understanding
of some of the theory behind symmetric ciphers and how they're constructed.
In Unit 2 we'll look at how to actually use symmetric ciphers
to solve problems like sending a message securely between 2 parties
over an insecure channel like the Internet
and being able to use symmetric ciphers to play games online
and to do important things like managing passwords.
Hope to see everyone back for Unit 2.