密码学
密码学初探:
哈希,数字签名
对称加密:
用相同的密钥对原文进行加密和解密
加密过程:密钥+原文-密文
解密过程:密文-密钥=原文
缺点:无法保证密钥被安全传递
非对称加密:
公钥用于加密:私钥用于解密
公钥由私钥生成,私钥可以推导私钥
优点:解决了密码传输中的安全问题
解决来了传输中的安全问题
解决了信息传送的问题,如何验证‘确实是对方发送的,信件没有被篡改’
哈希-Hash
将一段数据(任意长度)经过计算,转换为一段定长的数据
不可以逆转
无碰撞性
使用场景:
发布文件的完整性验证
服务器中保存用户的密码
数字签名
SSl,加密解密
shal,md5
公钥加密,私钥解密
私钥加密签名,公钥解密签名
内容用接收方的公钥进行加密,然后用接收方的私钥进行解密(按照接收方的来)
签名:用发送方的私钥进行加密,用发送方的公钥进行解密(按照发送方的来)
用自己的私钥就可以证明是自己的签名,在用自己的公钥进行解密
数字签名的目的:
确认这个给你发信息的人是真正给你发信息的人,而不是某一个黑客截取了这个信息
然后在发送给你内容
CA:证书授权中心
CA解决了电子商务中公钥的可信度问题
负责证明我就是我
CA是收信人的第三方,公钥的合法性检验
CA证书的内容:
证书持有人的公钥
https访问网站
CA证书实例:
客户端会通过https向服务器发送安全链接其请求
服务器会用私钥加密网页内容,连同CA证书一起发送给客户端
客户端会验证CA证书是否合法:
如果验证失败,客户端弹出警告信息
如果验证成功的话,客户端使用CA证书中的公钥向服务器发送加密信息
对签名做一个哈希,在做一个签名,哈希之后生成摘要
哈希做摘要,在做签名
最后进行解密,对内容(接收方的私钥解密)进行哈希操作
然后和签名进行对比,如果相同,则是同一个人的
为什么对摘要进行签名?速度更快,如果是原文的话。则速度会慢一些
UTXO就是数字加锁定的脚本
用比特币拥有者的公钥锁定(加密)的一个数字
UTXO-比特币
公钥的哈希加一个数字
没有登录账号,任何人都可以看到你的账号
12.5加上交易费
交易确认
交易验证
数字签名
首先是用发送方的私钥进行加密》》加密之后
得到发送方的签名
用发送方的公钥解密
》》摘要
发送者的公钥哈希
以自己的公钥哈希锁定这个钱包地址