Hello and welcome to this fundamentals of cryptography course, in this video, we're going to be talking
about a second real world application of asymmetric cryptography, namely key sharing.
We've touched on this throughout this series of videos.
However, it bears repeating because the use of key sharing via asymmetric cryptography is vital for
many things we take for granted today.
And so in this video, we're going to have three main sections.
We're going to start out with a discussion of why we need key sharing, followed by a quick run through
a key sharing algorithm and then finally closing out by discussing how key sharing is used in SSL.
And tell us.
So why do we need key sharing?
In previous videos.
We talked about the fact that symmetric encryption is the best choice for bulk data encryption.
It's more efficient than asymmetric cryptography, which is important.
If you need to send massive amounts of data over a network or be a removable media, et cetera, in
a secure fashion.
However, symmetric key encryption has one huge limitation, namely that it requires symmetric keys.
You need to have a means for sharing a secret key over a shared channel or over a shared secure channel
in order for symmetric key encryption to work without that secure channel to share the secret key.
There's no way to get symmetric cryptography to work.
This is where asymmetric encryption algorithms or key sharing algorithms come in because they can create
that shared secret channel.
Asymmetric encryption is used to derive a shared secret key and then symmetric encryption uses that
secret key to encrypt the large amounts of data that you want to transmit in a secure fashion.
And so, just as a quick recap, we talked about the Diffee Hillmann algorithm before, but it's worth
reviewing it quickly in context.
So Diffie Hellman is an example of a key sharing algorithm, and it uses the properties of exponentiation
to create a shared key in a secure fashion.
Remember how we discussed the fact that G to the A to the B equals G, to the B, to the A because both
of them equal G to the A times B?
And these principles of exponents make it possible for Alice and Bob to create a shared secret key over
a public channel without risking exposure of any of their sensitive information.
And in order for an attacker to break this protocol, they need to solve the discrete log prah.
Plum, which, as we've discussed in previous videos, is a hard problem because the complexity of the
discrete log problem grows exponentially with the size of the exponent.
And the reason why is you need to perform a brute force search over all possible exponent values until
you find the right one.
And the number of potential values grows exponentially with the length of the values used.
So very easy to create a usable, secure system due to the asymmetry between legitimate operations that
are polynomial complexity and malicious actions which have exponential complexity.
And so I've mentioned a couple moments ago that we use key sharing pretty much every day.
And the reason why is that it's a core part of the SSL and plus protocols.
So tell us which is what we use for encrypted traffic.
So 82.
P.S. Is HTP wrapped in tearless?
If you have other encrypted protocols on the Internet, they probably involve tearless us today.
And as part of the setup for T unless we perform a handshake and part of that handshake is establishing
a shared secret key to use for the bulk data transfer that we perform after the handshake.
And so in this key setup, we're going to be using public key cryptography.
One example of an algorithm used in Timor-Leste today is ECD, DHV.
And so breaking this down.
We start out with the E.C, which stands for Elliptic Curve back several videos ago.
Earlier in this course, we talked about some of the building blocks of cryptography.
And one of those was elliptic curve cryptography.
Elliptic curve cryptography lets us perform operations like those used in public key cryptography,
more efficient than with integers.
Used points on elliptic curve addition of points is equivalent to multiplication of integers.
Multiplication of points is equivalent to exponentiation of integers, puer, paying attention to our
discussions of our mathematical hard problems.
A couple of videos ago you noticed that multiplication and exponentiation are the legitimate operations
that are core to the factoring and discrete log problems.
And so if we have equivalence in elliptic curve autography, we can generate algorithms equivalent to
the ones we've looked at earlier in this course.
But using points on the elliptic curve instead of integers.
Our second part of this ECD, H.E. is the D.H for Diffie helmet.
We're using Diffie Hulman key exchange protocol that we've discussed briefly earlier in this video and
in much more detail in an earlier video.
And lastly, we have ephemeral.
And so this I wanted to bring up here because this is in addition to an algorithm to provide additional
security.
So let's assume that we want to have simple public keys sharing in cryptography.
And tell us in the past we'd use RSA, RSA.
You can share public keys very easily.
And if you share a public key with someone, then they can encrypt a secret key and send it to you.
And you can decrypt it with your private key.
And you've got a shared secret over a public channel.
So easy.
The problem with this is that if you always do it that way, if you always use your public key, then
if someone steals your private key and has been storing all of the messages that they're eavesdropping
off of that shared channel, they can decrypt all of them, which would be bad.
And so an ephemeral algorithm like Elliptic Curve Diffie, Hulman Ephemeral is designed to create a
new secret key for key sharing for each session at using random information that's generated at each
side of the connection and shared between the two parties.
And so with this algorithm, if the server and the client discard that random information, then without
it, no one can recreate the session key after the fact.
And so that session encryption key is ephemeral.
It goes away when it's done.
And storing past sessions that you're observing isn't enough to break or isn't.
Enough to enable you to decrypt them, even if you steal someone's public key.
And so just as a recap, this video, we're talking about the use of public key cryptography for key
sharing talked about why it's needed.
And a quick recap of at the Diffie home in key exchange algorithm and discussed how key sharing is used
in SSL and tearless and broke down the elliptic curve, Diffie Hellman ephemeral exchange algorithm
and discuss some of the pros and cons for each part of that.
Thank you.