区块链课程笔记-第一课哈希算法在加密中的应用
哈希密码,哈希碰撞的含义,即我们有一个值x经过哈希变换得到y。
输出y是有限的,2的256次幂,但是输入x是无限的。输入值的一点点变动,输出的值都会变动。但是如果输入不同的值,而得到了相同的值,那么就是发生了哈希碰撞。人为去制造哈希碰撞几乎不可能。所有导致哈希密码是安全性很高的一种加密方法。MDK5曾经很流行的一种哈希值,但是后来被发现可以人为去计算出哈希值,因此现在不算很权威的验证的方法了。
Digital commitment digital equivalent of a sealed envelope
Sealed envelope 如果一个人预测结果,但是他不能提前公开,因为不管他预测的是对或者是错,只要他公开,都会影响到现实世界的变化。但是他可以将他的预测结果保密,进行公证,没有人打开改动过。等第二天事实情况发布后,再公开他的预测。
如果将他的预测用哈希算法去加密,也是一样可以起到保密并且可信赖的效果。那就是digital sealed envelope。
挖矿的实质,其实是因为得到nonce,是没有捷径的,需要强大的算力不停地去计算,所有可以被用来当做一种工作的证明。Nonce,Number used once或Number once的缩写,在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值,在加密技术中的初始向量和加密散列函数都发挥着重要作用,在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击(Replay Attack)。在信息安全中,Nonce是一个在加密通信只能使用一次的数字。在认证协议中,它往往是一个随机数或者伪随机数,以避免重放攻击。Nonce也用于流密码以确保安全。如果需要使用相同的密钥加密一个以上的消息,就需要Nonce来确保不同的消息与该密钥加密的密钥流不同。
H(block_header)<=target
Target是一个目标值
Nonce是我们可以设定的一个随机数。使block_header落在指定的范围内。
验证nonece 很容易,把nonce 放在blockheader里计算一下验证
SHA-256 比特币使用的哈希函数
签名的作用,是有一个公钥和私钥,
对称加密体系,发一个加密的信息,还要把解密的秘钥发给对方,但是解密的秘钥如果被截获了,保密机制就不完善了。
非对称加密体系,两个秘钥,公钥和私钥,私钥是自己拥有的,所以公钥可以在网上传输,但是能打开的只有你自己或者对方的私钥,这就保证了信息的安全传输。
公钥可以类比为银行账户,私钥可以类比为你的账户密码。
那么比特币是不加密的,要账户管理做什么呢。其实是要实现一个签名的作用,用私钥对交易来进行签名。如果要验证这个人的签名是否为其本人,则用公钥来验证。
因为公钥与私钥是有哈希算法来计算的,那么产生相同公钥和私钥的可能性,微乎其微。
所以要造出相同公钥私钥去盗取钱财是不可能的任务。保证了交易的安全性。所以保证交易安全性的根本还是哈希算法。因为事先我们不知道什么输入能算出哈希值。
转载于:https://www.cnblogs.com/dzswise/p/10006257.html
区块链课程笔记-第一课哈希算法在加密中的应用相关推荐
- 【西安电子科技大学区块链课程成功结课】GBCAX
gbcax链交所 [西安电子科技大学区块链课程成功结课] 西安电子科技大学区块链课程日前成功结课.据悉,西电于今年3月31日开课<区块链技术原理与开发实战>,历经2个月.8次讲授.32个学 ...
- 计算机课进制笔记,初学Python课程笔记-第一课(计算机基本概念+进制+环境变量)...
这是我第一次写博客,简单地聊聊当下的感受.其实,早在大学期间就有过把自己所学的一些知识点记录在某个平台,可供日后自己复习.只是本人并非计算机专业出身,平时写代码写得不是不多.直到毕业参与工作,从事软件 ...
- 菜狗的区块链课程笔记
- 在教室学习区块链的第一堂课
"无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 大家可 ...
- 全球27所大学开设区块链课程,这门课究竟该教什么?
全球27所大学开设区块链课程,这门课究竟该教什么? 根据链塔智库的报告可以注意到一个现象,尽管早在2014年就有高校开设区块链课程,但直到2018年,都未有高校设立专门的本科区块链专业.陈滢认为,区块 ...
- 区块链读书笔记01-区块链基础
区块链读书笔记01 - 区块链基础 基本概念 加密哈希函数(cryptographic hash function) 哈希指针 父区块(parent block) 创世区块(genesis block ...
- 高校很时髦,只恨毕业早,你母校开区块链课程了吗?
自区块链技术爆发以来,越来越多的企业涉足其中,行业对人才的需求迫切. 学术界则以其知识领域的核心竞争力迅速入场,2014年,随着区块链的起步和初期发展,美国和英国最先开设区块链课程,此后世界各地的高校 ...
- 令众多高校趋之若鹜的区块链课程是否真的物有所值?
培根有言"知识就是力量",这句话曾被无数人当做人生格言.即便进入信息时代,这句话依然散发着理性的光芒,值得所有人去重新解读并在工作中加以运用.随着就业市场的竞争日趋激烈,掌握一些新 ...
- 美SEC主席的区块链课程和监管态度
(图片来源于网络) 8月3号,美国证券和交易委员会(U.S. Securities And Exchange Commission,简称SEC)在官网上发布了一篇公开陈述(public stateme ...
最新文章
- 51nod 1073 约瑟夫环
- php preg_replace 正则替换图片路径
- 最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
- C# 中使用HttpClient读取大型Json数据集
- 从早期的初创企业到MongoDB的经理(播客)
- sed很强大的文本操作命令
- C++---显示实例化与隐式实例化,显示调用与隐式调用
- java graphics dispose_Graphics.Dispose 方法 (System.Drawing) | Microsoft Docs
- 爬虫项目——BS4练手(1)
- vue 获取当前本机ip_Vue项目启动时自动获取本机IP地址
- BT技术概念 — 一些术语的意思
- 移动App性能测试包含哪些内容?App性能测试工具有哪些?
- 玩转华为数据中心交换机系列 | 配置M-LAG双归接入普通以太网络示例
- 中小企业当心低价诱饵 莫把供销存当成ERP (转)
- 应届生去软通动力怎么样_应届生第一份工作应该怎么找?
- Unity初学者课堂—助手游戏局部功能开发讲解之开始游戏倒计时
- 华为2021校招【软件开发岗】笔+面试总结
- [论文笔记]Vehicle-to-Everything (v2x) Services Supported by LTE-based Systems and 5g
- 表格中单元格的间距设置
- WeMall的Android app商城中的wemall doraemon代码
热门文章
- “undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析...
- 我使用的博客和通讯工具汇总
- 大数据时代的创新者们
- 多组学-ATAC-seq-概念
- MySQL-mysql 8.0.11安装教程
- 移动端开发框架Zepto.js
- 【MVVM Light】新手初识MVVM,你一看就会
- [转]国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)...
- iOS-应用沙盒结构分析
- android:activity的生命周期及它们之间的传值