当前位置:网站首页>01-BTC-密码学原理
01-BTC-密码学原理
2022-07-17 00:07:00 【晏日雨】
目录
前言
学习肖臻老师的《区块链技术与应用》公开课笔记,供学习参考。
比特币中的密码学原理
1.哈希
- 密码学中使用的哈希函数(crypotographic hash function)
密码学中使用的哈希函数有两个重要的性质
- collision resistance(防碰撞)
collision指哈希碰撞:x≠y H(x)=H(y) 两个不同的输入,输出却是相等的。因为输入空间总大于输出空间,因此不可避免。除非暴力求解,很难根据x找到y。
根据人们的实践经验已证实,哈希碰撞是不可人为制造的。
- hiding(不可逆)
哈希函数的计算过程为单向的不可逆的。该性质的前提是输入空间足够大,分布较均匀。
以上两种性质结合在一起,可实现digital commitment (又称为digital equivalent of a sealed envelope):
将预测结果X输入计算哈希值Y,公布哈希值Y,最后公布X。在此过程中X不可被篡改。
- 比特币中使用的哈希函数
比特币中使用的哈希函数在密码学的基础上增加了一个性质:
puzzle friendly (不可预测)
即哈希值的计算是不可预测的
2.签名
在比特币中开户是在本地创立一个公私钥匙对(public key ,private key),来自非对称的加密技术。
在信息交流中公钥用来加密以及验证签名,私钥用来解密和签名,公钥和私钥互不相同。当公钥和私钥相同时,为对称加密。在非对称的加密技术中公钥就像我们的银行卡的卡号,而私钥是我们的银行卡的密码,别人如果给我们转钱只需要知道我们的银行卡号就可以了。
但是产生公私钥以及签名的时候都需要有一个好的随机源,防止产生相同的公私钥或者泄露私钥。
边栏推荐
- Uni app wechat applet - Mall (4) - merchants
- uniapp开发App中上传图片直传oss
- Red sun safety range 3
- object-fit:cover;在小程序中不起作用,小程序图片变形了如何处理
- three.js初体验:模拟一个小树杈的生长
- uni scroll-view 下拉刷新
- Page layout - three column layout solution
- JS replaces a character in the string, and JS modifies the specified character in the string
- [AHU2021校内赛] ez-injection
- V-cloak and v-bind bind bind classes
猜你喜欢

Common mode attack and shared prime of RSA

iptables和snort基本配置

Uniapp development, upload pictures in the app and send them directly to OSS

JSX 语法

object-fit:cover;在小程序中不起作用,小程序图片变形了如何处理

uni-app微信小程序——商城(4)——商家

js字符串转对象 js对象转字符串 js字符串与对象互转

jsx 编译

Uni app wechat official account (4) - address management page

紅日安全靶場3
随机推荐
时间戳转化时间
Replace special characters in URL (%e2%80%8b)
2022年暑假ACM热身练习2(总结)
数据库连接池、sequelize实现增删改查等操作
今天的码农女孩做了关于呼吸灯的练习、受控组件和高阶组件的简答题
V-cloak and v-bind bind bind classes
Vue project deployment, cleaning cache
Collection and summary of penetration test information
JS higher order function filter/map/reduce
Es optional chain
The applet is embedded in the web page, jumps to the applet and transmits parameters. The wechat applet realizes the authorization of official account to obtain openid
04_ Understand MVVM
Applet swiper height
今天的码农女孩总结了关于npm包管理和url模块的笔记
JSX 语法
JSX syntax
软件漏洞分析入门(四)
页面布局——三栏布局解决方式
Red sun safety range 3
红日靶场2