all right. So as we talk about cryptography is a hole.
Really? Cryptography comes down. At least cryptography for the sake of encryption comes down into two categories. Symmetric, cryptography and asymmetric symmetric. An asymmetric. So we're gonna talk a little bit about symmetric cryptography first
and symmetric cryptography is the easiest. Understand? As a matter of fact, the hardest thing to understand about symmetric cryptography,
all the different names that it can be called because you can call it symmetric cryptography.
It can also be called private key.
It could be called secret Keeper.
He can also be called shared key. And in session keys would also be symmetric cryptography so private and secret seem to go together. But then shared key sings weird in session key. You know the idea behind symmetric cryptography symmetric sane.
The same key is used by both parties,
so I'll use a key to encrypt the data. You must have that same key to decrypt it. There's the shared piece you and I share the key that he that in crypts is also the key that secrets. Hey, we gotta keep that key secret in private between the two of us.
And they're certain types of symmetric keys that are just good for very limited time period. And those are
session keys. You know, your house uses symmetric cryptography. You leave in the morning, you lock the door with your house key. You coming in the afternoon, you have to have that same house key to unlock it. Otherwise you don't get in. Okay? So the same key is used to encrypt and decrypt,
very commonly used now with symmetric cryptography. There are two types of symmetric ciphers or algorithms. There are stream ciphers and block cipher, so stream and block
now, stream ciphers are very fast. They're very efficient algorithms.
They're generally considered to be not as secure so very fast. They encrypt one bit of data at a time. So boom, boom, boom, boom boom matter fact. You'll see this used in hardware encryption a lot more because of the speed and really to take advantage of the potential for speed, we use hardware and characters.
The Onley stream cipher I want you to know
is our C four. That would be the only stream cipher that would come up on this exam.
So if I ask you is a s. A stream cipher. No. Why? Because it's not our C four.
What about our C five is our C five a stream cipher? No. You know why? It's not our C four.
Okay? RC four is the Onley Stream cipher will talk about, at least for modern ciphers. Okay, so, bit by bit encryption.
Now they're in Addition of extreme ciphers. They're also block ciphers and block ciphers are the ones that I was talking about earlier, where data is chunked into a 64 bit block or 256 minute block, depending on the algorithm, and the entire block goes through a series of math functions. Okay,
that's much slower, but it's also harder to reverse
So you've got the fast stream
that's not a secure or C four, and then you've got the slower block that is more secure. And a whole lot of algorithms are block ciphers. The two main ones that I want you to think of when you hear block, I want you to think a e s, which is the defector standard today
and then before that was tripled as,
um triple does is still around But as I mentioned Fort Erie, processor intensive. Also, Dez was one of the primaries lock side first years ago. But so when I ask you what blood block cipher does blah, blah, blah
Yes, A s. If you don't know the answer, that because a SS the default standard there is one exception to that, and this could be testable. There is on email application called PGP pretty good privacy. And many of you may have heard of that
because it is a proprietary email application, it doesn't use the standards it uses instead of 80 s. It uses an algorithm called idea. And I just remember I just think PGP was a good idea. Okay, But any other time, what's the encryption algorithm that curb Rose uses A S?
What is the encryption algorithm? That s Mom uses a S.
What about I p set for encryption? What is a s? That's the default standard for most applications. Okay, so let's look at this a little bit more in depth. Let's look at what stream ciphers do now. String side first can substitute bit by bit. They can transpose
as in shuffle the characters. But another very popular function
that stream ciphers uses a process called X or and that stands for exclusive or so what happens is a bit of plain text. So we'll say this is plain text up at the top and this is the key or the key stream this line. So a bit of the plain text is match with a bit of the key.
If the values are the same,
then the cipher text becomes zero.
If the values are different, the cipher text becomes one. So these air different cipher text this one different cipher. Texas. One different cipher text this war. If cipher textures want different one, these values air the same zero. These were the same in zero.
So you can see how very quick this process is. Boom A boom. As long as you know the key,
you could very quickly produce a cipher text. You can also very quickly decrypt and find the plain text if you have the key as well. So it's very, very quick to encrypt and decrypt
now block ciphers, and this is very comparable to what I I had on an earlier slide. I have a collection of math functions, and these functions are referred to as
s boxes, not Xboxes s boxes. That s stands for substitution box. Because at each one of these box, So we chunk are down in the blocks and our blocks, you know, each block goes on this little virtual journey through a series of s boxes and at each s pops,
some sort of math has performed some sort of substitution.
Um, how many s boxes air used? What order? The functions come in, that's all driven by the key, right? The key is the instruction on how to use the math. So you've got stream ciphers and block ciphers in the world of symmetric cryptography. Symmetric cryptography
means saying the same. He is used to encrypt
and as to decrypt. Now, symmetric cryptography has some problems. Okay, um and you know, this is a good review sheet. Don't forget the other names. That symmetric cryptography goes by Private key, Secret key, shared key, and then also, session keys are symmetrically stuff that will use here but
gonna move here. That the drawbacks to symmetric cryptography
if you'll go back to the Caesar cipher. And if you and I were gonna communicate with Caesar cipher If you'll remember, it was just a character shift. Let's shift three characters to the left. But how did I tell you that
I had to have some means ahead of time to say, Hey, I'm gonna send you a message, take every letter and shifted to the left three characters.
So how did I get you that secret? And the answer is, I don't know
But I could not include that as part of the message or as part of the symmetric algorithm. We had to have what's known as out of band Kik. Strange.
Maybe I hired a courier. Maybe. I told you before he left whatever. But I have to find some other way to exchange the key. There's no easy way for key exchange in symmetric cryptography. And that's a big drawback.
Because if I could get you a key securely, why didn't I just get you the message? You're right. So we've got this, you know, sort of added effort. We have to put on it the beginning to make sure both parties know the same key.
The second idea is that symmetric cryptography isn't good for large environments. It doesn't scale. Well,
um so every party communicating in a symmetric environment has to have a key with every other party. So I've got five people. I've got keys for each of them, but they've got keys for each of all of the others as well. So there's actually well formula you can use to determine how many keys in a symmetric environment.
So the formula's end times in minus one, divided by two.
So when we see that But let's say I have five users. So five times five minus 15 times 4 20 divided by two. That means I've got 10 symmetric keys if I add one more person. So now I've got 66 times five minus one,
30 divided by two Now got 15 keys. So as we keep adding individuals, we see the number of keys grow dramatically. It's not good for a very large organization.
And then the final piece here, If you'll remember, we talked about P A. I in privacy, authenticity, integrity and non repudiation. The Onley security service we get with symmetric cryptography is price.
Hey, if we securely exchange a key we can get in key is good. The algorithm is good, we can get good privacy.
But just because information is encrypted with the key that you and I share,
let's say that that information is leaked to the press.
It's encrypted with a key that both you and I have.
So once that information gets out there and weak, you can't trace it back to me or to you specifically because you and I both have the key. You know, like, let's say, um,
there's a locker in the back, that classroom Both you and I have the key to it.
Over the weekend, somebody leaves a tuna fish sandwich in that locker.
You all know it was me. I know it was me. But the fact that you have a key, I can say no, not my fault. This person had the key as well could have been them. So we don't get true authenticity with symmetric cryptography. Any time to party Sharqi. That key really isn't bound to either of their identities.
All right, we don't get authenticity. We also don't really get integrity,
you know, Let's say I encrypted message to you and I transmit it when you received that message just because it's encrypted doesn't guarantee that it didn't get corrupted along the way. Encryption in and of itself does not detect modifications,
so we don't get integrity.
If I don't get authenticity and I don't get integrity,
I don't get non repudiation, right, because non repudiation is a combination of the two.
So have these three major problems with symmetric cryptography we had out of Ban Ki exchange. It's not scalable it on. Lee gives us privacy is a security service. It doesn't give us authenticity, integrity or non repudiation.
Why in the world would we use it then?
These are some pretty serious drawbacks.
symmetric. Cryptography is much, much faster, thousands of times faster than asymmetric cryptography.
So the idea is, we really wanna use symmetric cryptography for speed, but we've got to find some solutions to all of those issues.
So that's your cliffhanger. Have you running back for the next module? How in the world that we solve the problems on the screen? Here's a hint. Use asymmetric Redox