Python for Entrepreneurs Transcripts
Chapter: Source Control and Git
Lecture: Asymmetric key overview
0:01 We've had a chance to play around with Git and take a look at the basic settings on GitHub, but in order to go further with our projects,
0:07 we are going to need to setup public and private keys, also known as asymmetric keys.
0:11 Asymmetric keys are computer science concept for encryption and authorization, in the next few videos we'll create our public and private keys
0:18 but let's take a look at the basic concepts behind them. Let's say you've got a message or a piece of data you want to share with someone
0:24 and you don't want anyone else, even if they intercept it, to be able to understand what's in that message,
0:29 you can use a public key as long as the party that you are sending to has the appropriate private key that matches with that public key
0:35 and you can use the public key to encrypt that message or data, only the party with the private key will be able to decrypt that data.
0:41 A public key can be shared freely, posted on the internet, wherever,
0:44 it doesn't matter if it gets out in the open, in fact, it's better if it's out in the open,
0:48 because then people can use to send you messages as long as you have the private key.
0:52 The private key is the counterpart, it's used not only to decrypt that data that is encrypted with the public key,
0:59 but also to sign messages and to validate you are who you say you are based on the fact that you own this private key,
1:05 you will never want to share your private key and if you ever think that your private key has been compromised
1:10 you are going to want to regenerate both the public and private key. Here is how encrypting and decrypting messages with asymmetric keys works,
1:17 let's say you've got a message in plain text, you can use the public key to encrypt that message,
1:23 so when you take a look at it, it looks like just a bunch of garbage, but inside that supposed garbage lies the message
1:29 that was originally plain text that was encrypted. Only the owner of the private key can decrypt the message and extract the plain text.
1:37 This is how one way encryption works, with asymmetric keys, the public key does the encryption, the private key does the decryption.
1:44 There is a counter part to this which is if you have the private key you can use that to identify yourself and use it as authorization,
1:50 and this is what we need to do on GitHub in order to specify who we are. We can use the private key to identify I am who I say I am,
1:58 because I have this private key, and it says the public key is out in the open anybody should be able to confirm that you have the valid identity
2:05 based off of a message that you've signed with your private key. Let's say you have a message and you use your private key to sign it,
2:11 then anyone can take that message signature and confirm your identity
2:14 based off of the public key, so that's the second bit associated with asymmetric keys. The private key can be used for authorization,
2:22 in addition to the public key being used for encryption. Just to recap, public keys can be used to encrypt messages and data,
2:29 and they can only be decrypted by that private key; a private key can be used for identification, I am who I say I am because I own this private key,
2:37 I am the only one who controls it and that be confirmed and validated by the public key, so that's a really high level overview of asymmetric keys
2:45 and how public keys are used to encrypt data, and private keys are used to sign messages and authorize identity.