# 聊聊HTTPS工作原理
我们先来说说非对称加密算法中的私钥和公钥的概念(体现了不可逆性)
其实,公钥和私钥,简单理解就是:既然是加密,那肯定是不希望别人知道我的消息,所以只能我才能解密,所以可得出:公钥负责加密,私钥负责解密;同理,既然是签名,那肯定是不希望有人冒充我的身份,只有我才能发布这个数字签名,所以可得出:私钥负责签名,公钥负责验证。
到这里,我们简单概括一下上面的内容。上面我们主要讲到这么几个词:私钥、公钥、钱包地址、数字签名,它们之间的关系我们理一下:
(1)私钥是系统随机生成的,公钥是由私钥计算得出的,钱包地址是由公钥计算得出的,也就是:私钥——公钥——钱包地址,这样一个过程;
(2)数字签名,是由交易信息+私钥信息计算得出的,因为数字签名隐含私钥信息,所以可以证明自己的身份。
私钥、公钥都是密码学范畴的,属于“非对称加密”算法中的“椭圆加密算法”,之所以采用这种算法,是为了保障交易的安全,二者的作用在于:
**①公钥加密,私钥解密:**公钥全网公开,我用依依的公钥给信息加密,依依用自己的私钥可以解密;
**②私钥签名,公钥验证:**我给依依发信息,我加上我自己的私钥信息形成数字签名,依依用我的公钥来验证,验证成功就证明的确是我发送的信息。
只不过,在比特币交易中,加密解密啦、验证啦这些都交给矿工了。
看了这个图,我们就应该明白一个道理:1、任何经过A的公钥进行过加密的信息,只有A的私钥才能解密。2、任何有公钥的人可以确认对方发送的信息是被私钥加密过的。(这也就是非对称加密的特点)
接下来我们就聊聊HTTPS的工作原理:
这里的公钥私钥只是起到了服务器验证取得浏览器信任的作用,通信加密是通过浏览器生产的随机密钥进行的对称加密传输
这里有一个有权威、值得大家信任的第三方机构叫GlobalSign
(相当于我们日常手机转账时的第三方支付宝、微信等平台)