区块链学习笔记(三)【密码学基础】
对称加密
用相同的**对原文进行加密和解密
加密过程: ** + 原文 => 密文
解密过程: 密文 - ** => 原文
缺点: 无法保证**被安全传递
非对称加密
公钥由私钥生成,私钥可以推导出公钥,公钥无法推导出私钥。公钥用于加密,私钥用于解密
优点:解决了**传输过程中的安全问题
hash函数
将一段数据(任意长度)经过一道计算,转换成一段定长的数据
http://www.fileformat.info/tool/hash.htm(一个在线hash计算网站)
不可逆性:几乎无法通过hash的结果推导出原文
无碰撞性:几乎没有可能找到一个y,使得y的哈希值等于x的哈希值
使用场景:发布文件的完整性验证/服务器中保存用户密码/数字签名
证书授权中心CA
CA解决了电子商务中公钥的可信度问题,CA是受信任的第三方,用于公钥的合法性检验,负责证明“我确实是我”
CA证书内容:
证书持有人的公钥/证书授权中心的名称/证书有效期/证书授权中心的数字签名
CA证书用例:
https访问网站
客户端通过https向服务器发送安全链接请求
服务器用私钥加密网页内容,连同CA证书一起发送给客户端
客户端会根据CA证书验证CA是否合法,验证失败则客户端弹出警告信息;如果验证通过,客户端使用CA证书中的公钥向服务器发送加密信息
(CA更加详细的解释可以参考https://www.cnblogs.com/handsomeBoys/p/6556336.html)