all right. So as we talked about the four security service's privacy often test the integrity, non repudiation. And I said, Yeah, most people do think about privacy and with good reason. Historically, what cryptography has given us has been privacy.
So what I have here on the sides, a little conceptual idea off. What provides us with encryption service is, or privacy
and, uh, a little formula playing text, plus an initialization vector plus an algorithm, plus a key equals cipher text.
So I want to talk about each of these elements and make sure that we understand them. And some of this may be a little bit basic, and that's OK. So if you've got a history of working with cryptography, that's fine. We'll get more sophisticated as we move forward.
All right, so the first thing I would talk about plain text that's easy enough. We know unencrypted text will also be called plain text.
Um, and that's where our starting point is. The next piece, an initialization vector. Now, let me tell you, you don't always have to have an ivy and initialization vector. You're gonna have to have an algorithm in a key.
But the ivy initialization vector is Ah.
Okay, So what does an initialization vector do? An initialization vector adds randomness to the beginning of the process so that we get more randomness and randomness is important with encryption. We always want to remove our cipher text as far away from our plain text
So even though we have a random set of processes and that's very good when we start with a random point that just increases it. So an ivy is a random starting point
to produce additional randomness
toe add complexity, if you will. Now I have randomized starting point. The problem with that is a computer can't really generate random numbers. You're probably aware that ah, computer can't just go, uh, 37.
So what we have tohave is we have to have a pseudo random number,
okay? And that pseudo random number might be based on several different variables. Might be based on many different variables. And if we did something very basic like, let's just say we took today's date
and we took, um, the time. So let's say it is november 10th 2014 with the time off 11 15 and 37 seconds.
Okay, maybe the numbers are added up. One plus one is two plus 33489 10 11 16 1926. All right, so this
being a number, that's going to change. Because if we go back and say, What's the initialization vector next? These values will change because the time change whatever. This is a very basic process. This isn't something a system would use because it's it's like I said, it's very weak and very basic, but it's the idea of something
that's not really random, because this is based on system dating time,
but that it feels rein them so it might be UCP clock cycles. Internal temperatures could be some variable based on the key. Ah, it doesn't really matter what it's based on, but the idea is that it's always based on something. It's not truly random. It's pseudo random
now with the next piece, the algorithm.
The algorithm is a collection of math functions
because when it comes right down to it, it's math that allows us to substitute one set of characters. For another, there has to be some sort of pattern or some sort of technique that allows that substitution.
So Ah, you've got two types of algorithms. Ah, with your algorithms, those algorithms are either symmetric
Now, our focus today will be on symmetric algorithms.
Um, actually, not our focus today, But our focus for the first part of class is gonna be on symmetric algorithms on. And they're pretty easy to understand, you know, symmetric. Same. The same key is used on both ends, so I will use a key to encrypt. You'll use that same key to decrypt
now. Other names for symmetric cryptography,
Private key, Secret key,
Shared key, which seems a little counterintuitive.
I'll explain that one second and in session he
sometimes I think the hardest part
about symmetric cryptography is remembering all the different names. It goes by and they will use thes names interchangeably.
So when we talk about symmetric cryptography, private key,
if I'm gonna use a key to encrypt and you have to have that same key to decrypt, we better make sure that we get that key and we keep it secret. It's private between the two parties, but it's also shared between the two parties not shared with everybody, but shared between those two parties shared. Kind of feels like it doesn't fit in, but it does.
We'll also talk about session keys, that air symmetric and the big difference here is your session KIIS Limited based on time, and it's always a good idea rather than using the same staticky again and again and again, it's always a better idea to have a time limited. Use it for session than you dispose of it,
okay? And, ah, with your symmetric algorithms, those symmetric algorithms will either be block
or stream, and we'll talk about the differences between the two in just a few minutes. So all symmetric ciphers, you're gonna fall in the category of being blocked ciphers or stream ciphers. And by the way, another word for algorithm
is cipher. They'll never be a reason I use algorithm instead of cipher or cipher instead of algorithm. The two terms are interchangeable.
so all symmetric ciphers, or algorithms are either blocker stream.
And then later on, we'll talk about asymmetric cipher. But asymmetric ciphers aren't blocker stream. They'll use something called discrete logarithms
All right, so this is just kind of where we're going when we talk about algorithms. So we've got the initialization factor that gives us a point of randomness. We've got an algorithm that's ah, Siri's of math functions or math processes. And we talk about algorithms or either symmetric or asymmetric.
We're gonna focus. Um, first on symmetric,
also known as private secret, shared in session.
And your symmetric keys. Sorry, you symmetric algorithms or their block
work stream. And then I've also alluded to the fact that we have asymmetric, which we'll talk about a bit. And then the last piece we have is we have the key.
The key is the instruction on how we're gonna use the algorithm.
So I've got all these different math functions. What do I do with them? Which math function is used? How many math functions? Air used? What order? How does it work? All of that comes down to the key. So whatever provides the instructions on how to use the math. We refer to that as a key, and the key is sometimes called
crypto because it's part of cryptography and variable because that he should change. It should be a randomized.
So these are some very basic definitions or ideas that I want you to have. Everything that we do is gonna build on the idea of we start with the plain text. Then we use an I V, an algorithm and a key with ultimately the point of trains for forming our plain text in the cipher text
and that again to give us the security surfaces of privacy