比特币之所以安全最重要的是密码学。
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







网友评论