《密码学初探》课程笔记

比特币之所以安全最重要的是密码学。

1,进制&存储单位

可使用的计数符号的数目决定了进位制,简称进制。

用有限的数字符号来表示无限的数值,例如阿拉伯数字的十进制(0-9)

2进制指:(0,1)只有两个数的进制。

16进制:(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f),每一个16进制的字符代表4个二进制组合的数字

计量术语:

位(bit)-最小的数据单位

字节(Byte)-9个bit组成,存储空间的最小单位

K-kiko,表示千,1024(2^10次方)

KB=1024B,

MB=1024KB,

GB=1024MB,

TG=1024GB,

PG=1024TG

比特币挖矿算力8359PH/s

2,加密解密

1)对称加密

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

加密过程:密钥+原文=密文

解密过程:密文-密钥=原文

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

2)非对称加密-公钥&私钥

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

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

从公钥无法推导出私钥

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

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

3,哈希-hash

将一段数据(任意长度)经过一道计算,转换为一段定长的数据

不可逆性:几乎无法通过Hashd的结果推导出原文,即无法通过x的hash值,而推导出x

无法通过牛肉,推导出牛的样子

无碰撞性,几乎没有可能找到一个y,使得y的hash值等于x的哈希值

几乎没有基因完全一样的两头牛

使用场景:发布文件的完整性验证,例如炒股软件+MD5

服务器中保存用户的密码

4,签名

1)假设A是发送方,B是接受方,整个数字签名的流程是这样的:

A给B发送信件的时候,用B的公钥给信件加密,同时用A自己的私钥进行签名;如果B想查看发过来的信件需要用B自己的私钥解密,然后用A的公钥确认这个信件是来自A而不是其他人的。这样既保证了信息传递过程的安全性,又保证了发送方是正确的,但无法保证信息的接收方是正确的。

2)证书授权中心 CA(Certificate Authority )

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

负责证明“我确实是我”

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

CA证书内容:证书持有人的公钥,证书授权中心名称,证书有效期,证书授权中心的数字签名

3)CA证书用例-Https

Https访问网站,客户端通过https向服务器发安全连接请求,服务器用私钥加密网页内容,连同CA证书一并发给客户端,客户端会根据CA证书验证CA是否合法。如果验证失败,客户端弹出警告信息;如果验证通过,客户端使用CA证书中的公钥向服务器发送加密信息。

我是张婷,一个更认真地生活的人,会不定期给你分享我的所思、所想、所学。记得关注我的公众号:imzhangting2

《密码学初探》课程笔记_第1张图片

你可能感兴趣的:(《密码学初探》课程笔记)