Hello and welcome to this fundamentals of cryptography class.
In this video, we're going to start with an introduction to cryptography, nailing down some of the
vocab and fundamental concepts.
Before we dive into the various types of cryptographic algorithms and subtypes of cryptographic algorithms,
et cetera.
And so let's start out with an overview of what we're going to be talking about in this video.
We're going to start by talking about the field of cryptology.
You may not have heard of cryptology, but it's actually the general field that most people mean when
they talk about cryptography.
Cryptography falls under cryptology.
And there is another subfield called cryptanalysis as well.
Secondly, we're gonna talk about the different types of cryptographic algorithms.
So there are a few different types of cryptographic algorithms.
Some of them use secret keys.
Some of them do not.
Some of them are designed to protect confidentiality, while others are more integrity focused.
Thirdly, we'll talk about the vocabulary of encryption covering some of the most common terms that
you're going to see in encryption algorithms, and so that when we're talking about how a particular
algorithm works, we're all on the same page.
And finally, we're going to talk about a couple of different ways to classify encryption algorithms.
So there are many encryption algorithms out there.
Some of them are in their own little families as well.
But there are a few general ways to break down the group of encryption algorithms into algorithms of
certain types.
And so, as I mentioned, cryptology is really what most people were thinking of when they talk about
cryptography.
And quite literally, it means the study of secrets or codes.
And it has two different subfields.
So cryptography is the science of making codes.
And so the use of encryption algorithms, decryption algorithms and the process of developing new algorithms
all falls under the umbrella of cryptography.
So if you're thinking in sort of like a hacking perspective, these are the good guys.
They're the ones that are using cryptography to protect data and to protect people.
And in that mindset, cryptanalysis is sort of the bad guys.
Their job is to break encryption algorithms or break codes.
And there are a variety of different ways to do this.
Some of them shouldn't be possible with a good algorithm, for example, a brute force attack, where
you simply try every single possible key and see if it works, shouldn't work on a good algorithm.
There are a variety of other different Krypton analytic attacks, including linear analysis and other
things that we're not going to dive into in this course.
However, if you're interested, there's definitely more information out there on how to do cryptanalysis.
And when I say crypto analysts are the bad guys.
It's not entirely true.
Actually, most kryptonite analysts are good guys.
And the reason why is if you're trusting your personal data to an encryption algorithm, you want to
make sure it actually works and protects your data.
And so typically, when a new encryption algorithms created, it's published and a bunch of people try
really, really hard to break it.
And so the algorithms that we're using today are the ones that nobody's managed to break in the time
that they've had available.
And later videos in this course, we'll talk about algorithms like the advanced encryption standard
A-S, where this process was a huge part of the selection process.
So breaking codes, not always bad.
But now let's talk about the different types of cryptographic algorithms.
So there are a few different types of cryptographic algorithms out there.
Encryption algorithms are designed to provide confidentiality by encoding sensitive information.
So this is what you're thinking about when you talk about RSA or RC, C4 or A-S or D?
These are algorithms that take something that makes sense and transforms it into gobbledegook in a way
that no one without the right knowledge and without the secret key can reverse.
However, if you have the right algorithm and the right secret key, you can use a decryption algorithm
to reverse that process.
And so this is a key feature of encryption algorithms is that they have to be reversible.
Once you've gone from a plain text to gobbledegook.
You want to make sure that you can go back again so that whoever this data is intended for actually
can access it and read it.
That same reversibility is not shared by our third type of cryptographic algorithm.
Hash functions.
So hash functions are deliberately one way functions.
Meaning you can go from an input to an output, but you cannot go back again.
And so with this structure, they're very useful for ensuring data integrity.
We're going to dive into hash functions a lot more later.
But a good hash function is designed so that if you have an input, you can easily make it to the output.
But if you have an output, you have no idea how to get to the input or how to get to any valid input.
Which means that if I provide you with a piece of data and it's hash, you can check double check that
hash very easily.
And if the hash of the data I provided matches the hash that I provided, you're pretty sure that it
hasn't been tampered with and that's useful.
And so now let's talk about some of the vocabulary of encryption.
So all encryption algorithms now notice I'm saying encryption algorithms, not hash functions, have
a few vital components.
You've got the plain text or the clear text, which is the message to be encrypted.
So this is the thing that makes sense when you read it.
But then you have the cipher text, which is designed to be not readable.
It's the encrypted version of the message.
So it's supposed to be as random and as useless to someone who's stolen it or intercepted it as possible.
If you have a cipher text and only a cipher text, there's nothing you can do to get back to the plain
text.
If we've got a good cryptographic algorithm.
Thirdly, you have a secret key.
So this is a secret value that's used as part of the encryption slash decryption process.
You provide a plain text and a secret key.
You get out of ciphertext.
You provide a cipher text and a secret key to a decryption algorithm.
You get back the plaintext.
And so this is what makes it reversible.
But in a secure fashion, only people with the key who are authorized to view the data are able to do
so.
And finally, we have the algorithm, so cryptography is all mathematics.
And so algorithm is just a mathematical process that uses the secret key and some mathematical operators.
We'll talk about a few of those in a later video and take the this information to transform a plain
text to a cipher text or vice versa.
And this enables us to securely give someone a cipher text.
And as long as they don't have a secret key, they can't get the plain text back out of it.
And so different encryption algorithms may have additional components or use these components in a different
way.
You might have nonces, which are numbers only used once or random values provided as an additional
input.
Or you might have multiple different secret keys, as we see here on the next slide.
So lots of encryption algorithms are out there and it's useful to be able to classify them in certain
ways.
One of the ways that we classify encryption algorithms is as symmetric or asymmetric.
And this naming is based off of their secret keys.
A symmetric encryption algorithm like A-s uses the same key for encryption and for decryption.
In contrast, an asymmetric encryption algorithm like RSA uses different keys for encryption and decryption.
These algorithms are also called public key cryptography algorithms.
And the reason why is with your two keys.
One of them is public.
And one of them is private.
And we'll dive into these a little bit later and a later video.
The other way to classify encryption algorithms is as a block or a stream cipher.
And these names come from how data is organized when it's going into the algorithm.
For example, a block cipher encrypts and decrypts data and fixed sized chunks.
If you're familiar with the A-S algorithms, you'll know the date.
Use one hundred and twenty eight bit chunks.
The three algorithm names.
Are based off of the key length, one twenty eight, one ninety two and two fifty six, but they're
going to use the same sized chunk when processing data.
In contrast, a stream cipher encrypts and decrypts data one bit at a time.
And these two types of algorithms have their advantages and disadvantages.
Which is why both are in common use today.
And so this concludes, this brief introduction to cryptography starting out talking about cryptology
versus cryptography versus cryptanalysis, discuss the three different types of cryptographic algorithms,
encryption, decryption algorithms and hash functions.
Quick intro to some of the vocabulary of encryption and finally talked about classifying encryption.
Our rhythm's as asymmetric or symmetric and as block or stream ciphers.
And so this concludes this video.
And thank you very much.