区块链系列课堂004:初探密码学

(图片来自谷歌)

1.1、【进制——一种计数方法】

1.1.1、【进制】

1)、二进制:(0,1)计算机机器语言唯一能明白的;

2)、十六进制:(0-9、A、B、C、D、E、F),每一个十六进制的字符代表4个二进制组合的数字;

3)、十进制:(0-9);

1.1.2、【计量术语】

1)、位(bit):最小的数据单位;

2)、字节(Byte):8个bit组成,存储空间的最小单位;

(图片来自谷歌)

1.2、【加密】

1.2.1、【对称加密】

用相同密钥对原文进行加密和解密;

加密过程:密钥+原文——密文;

解密过程:密文-密钥——原文;

缺点:无法确保密钥被安全的传递;

1.2.2、【非对称加密——公钥与私钥】

公钥用于加密,私钥用于解密;

公钥由私钥生成,私钥可以推导出公钥;

从公钥无法推导出私钥;

优点:解决了密钥传输中的安全性问题;

解决了信息传递的问题,如何验证是“确实是发送者发送的,信件没有被篡改?”

(图片来自谷歌)

1.3、【哈希——Hash】

1.3.1、【哈希】

将一段数据(任意长度)经过一道计算,转换为一段定长的数据。(http://www.fileformat.info);

1.3.2、【不可逆性】

几乎无法通过Hash结果推导出原文,即无法通过X的Hash值,而推导出X;

1.3.3、【无碰撞性】

几乎没有可能找到一个Y,使得Y的Hash值等于X的哈希值;

1.3.4、【使用场景】

1)发布文件的完整性验证;

2)服务器中保存用户的密码;

3)数字签名;

1.3.5、【哈希用例——用户密码的存储】

1)、明文存储——无安全防护;

2)、哈希存储——彩虹表攻击(Rainbow Table Attack);

3)、(盐+哈希)存储——彩虹表失效;

(图片来自谷歌)

1.4、【数字签名——Digital Signature】

1.4.1、【证书授权中心CA——Certificate Authority】

1)、CA解决了电子商务中公钥的可信度问题;

2)、负责证明“我确实是我”;

3)、CA 是受信任的第三方,公钥的合法性检验;

4)、CA证书内容:

正书持有人的公钥;

证书授权中心名称;

证书有效期;

证书授权中心的数字签名;

1.4.2、【CA证书用例——Https】

1)、Https访问网站

客户端通过Https的服务器发安全链接请求;

服务器用私钥加密网页内容,连同CA证书一样发给客户端;

客户端会根据CA证书验证CA是否合法;

如果验证失败,客户端弹出警告信息;

如果验证通过,客户端使用CA证书中心公钥向服务器发送加密信息;

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316G1L0GX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券