【188体育认知100讲】188体育中的密码学技术

来源:芭点财经 作者:芭点财经 2018-09-10 19:30:00


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

今天小编要给大家讲的是188体育中的密码学技术,本期分两个章节讲,因为密码学比较难,需要慢慢的消化。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

密码学相关的安全技术在整个信息技术领域的重要地位无需多言,如果没有现代密码学和信息安全的研究成果,人类社会根本就无法进入信息时代,而188体育技术大量依赖密码学和安全技术。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

密码学技术对于小白来说很陌生。但如果深入的探究,你会发现密码学是一个很有意思的技术,蕴藏了很多意想不到的东西。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

一、哈希算法LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

1,什么是哈希函数?LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

密码哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值为哈希值,也称为散列值。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

2,哈希函数的性质LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

哈希函数主要有三个性质,抗碰撞性、原像不可逆、难题好友性。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(1)抗碰撞性LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

碰撞是与哈希函数相关的重要概念,所谓碰撞是指两个不同的消息在同一个哈希函数的作用下,具有相同的哈希值。值得注意的是找到两个碰撞消息在计算机上不可行,并不意味着不存在两个碰撞消息LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

K2、K5就是两个不同消息在同一个哈希函数作用下,产生相同的哈希值。这样就好理解了。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(2)原像不可逆LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

原像不可逆通俗的说,指的是知道输出值,很容易通过哈希函数知道计算出哈希值。但是,知道哈希值没办法计算出原来的输入值,这就是哈希函数的不可逆性质。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(3)难题友好性LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

简单来说,难题友好性指的是没有便捷的方法去产生一个满足特殊要求的哈希值。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

举个例子:如果有人想通过锁定哈希函数来产生一些特殊的输出值Y,而部分的输入值是随机的。则很难找到另外一个值,使得哈希值正好等于Y。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

3,哈希函数的分类?LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

哈希函数可以简单的划分为这几类:加法Hash、位运算Hash、乘法Hash、除法Hash、查表Hash、混合Hash。这些我们就不一一介绍了,大家知道就行了。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

我们主要讲一下,在比特币系统中使用了最重要的一个密码学哈希函数,就是SHA256。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

SHA256属于著名的SHA家族的一员,SHA是一类由美国国家标准与技术研究院发布的密码哈希函数,SHA是构造188体育所用的主要密码函数,无论是188体育的头部信息还是交易数据,都是用这个函数来计算相关数据的哈希值,以保证数据的完整性,也就是说SHA256的主要功能就是计算数据,保证数据的完整性不被破坏。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

4,哈希表的概念与作用LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

散列表也叫哈希表,是根据键(Key)而直接访问在内存存储为止的数据结构。也就是说,通过计算一个关键值函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度,这映射函数称为散列函数,存放记录的数组称为哈希表。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

哈希表的作用主要有2点LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

构造一个合适的哈希函数,均匀性H(key)的值均匀分布在哈希表中,以提高地址计算速度。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

冲突的处理,在哈希表中不同关键字值对应到同一个储存位置的现象。均匀的哈希值可以减少冲突,但不能避免冲突。发生冲突后,必须解决,也必须寻找下一个可用地址。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

5,哈希指针链LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

哈希指针是一类数据结构,除了包含通常的指针外,还包含一些数据信息以及与这些信息相关的密码哈希值,哈希值用于验证是否发生改变。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

我们可以用哈希指针搭建任何数据结构,我们可以简单的例举些使用指针的数据结构,例如我们熟悉的串联列表,或是二歧搜索树。核心思想是,要使用哈希值指针而不是我们通常使用的指针。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

6,哈希算法的应用LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(1)文件校验LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

我们比较熟悉的校验方法是奇偶校验和CRC校验,而这两种校验并没有数据篡改能力,它们一定程度上能检测并纠正数据传输中信道误码,但却不能防止对数据的破坏。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(2)数字签名LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

Hash算法也是现代密码体系中一个重要组成部分。由于非对称算法速度比较慢,所以在数字签名协议中,单向散列函数扮演了一个重要角色,对Hash值又称“数字摘要”进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的,而且这样的协议还有其他的优点。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(3)鉴权协议LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

鉴权协议又被称作挑战——认证模式:在传输信道是可被监听,但不可篡改的情况下,这是一种简单而安全的方法。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

在密码学中Hash算法的主要应用就是信息摘要和数字签名,用于整个信息的完整性进行校验。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

给大家举个例子:我们登陆知乎都需要密码,那么知乎如果明文保存这个密码,那么黑客就很容易窃取大家的密码来登陆,特别不安全。那么就想到一个办法,使用Hash生成一个密码的签名,知乎后台只保存这个签名值,由于Hash算法是不可逆的,那么黑客即便得到这个签名,也丝毫没有用处,如果你在网站登陆界面上输入你的密码,那么知乎后台就会重新计算一下这个Hash值,与网站中原储存的Hash值对比,如果相同证明你拥有这个账户的密码,那么就会允许的登陆。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

这样解释大家就明白了吧!其实也没有想象中那么复杂。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

二、Merkle树LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

1,Merkle树的概念LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

Merkle树通常被称为Hash树,顾名思义就是储存Hash值的一棵树。Merkle树的叶子是数据块,而非叶子节点上的值是将该节点的所有子节点的组合结果的哈希值。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

2,Merkle树的效率LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 从上表我们可以看出,当区块大小由16笔交易急剧增加到65.535笔交易时,为证明交易存在的Merkle路径长度增长及其缓慢,仅仅从128字节到512字节。有了Merkle树,一个节点能够仅下载区块头,然后通过一个满节点回溯一条小的Merkle路径就能认证一笔交易的存在,而不需要存储或者传输大量188体育中大多数内容,这些内容可能有几个亿的大小,这种不需要维护一条完整的188体育节点,由被称作简单支付(SPV)节点。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

3,Merkle树的应用LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(1)数字签名LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

最初Merkle树的目的是高效处理“一次签名方案”。每一个方案只能被签名一个消息。但Merkle树结合可以签名多条Merkle,这种方法称为了一种高效签名框架。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(2)可信计算LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

可信计算是可信计算组为分布式计算环境中参与的节点的计算平台提供端点可信而提出的,可信计算技术在计算平台的硬件层引入可信平台模块,实际上为计算平台提供了基于硬件的可信根,从可信根出发,使用信任链传递机制,可信计算技术可对本地平台的硬件和软件实施逐层的完整性度量。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

(3)IPFSLUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

IPFS是现代互联网的综合体,如DHT、Git版本控制系统、Bittrrent等,它创建了一个P2P集群,这个集群允许IPFS对象的交换,全部的IPFS的对象形成了一个被称作Merkle DAG的加密认证数据结构。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

- THE END -
LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

往期文章,戳一下LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

1,芭点财经人物访谈 |创大资本188体育天使投资人——李国庆
LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

2,芭点财经人物访谈 | 未来财经董事长孟可“但行好事,莫问前程”LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

3,阿里、腾讯、百度三大网络巨头,布局188体育业务大全。LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

4数字货币集体暴跌,背后原因竟是它?LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


LUoBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

公众号关注 bcfanscom 或搜索“188体育粉丝”,参与大咖直播和糖果空投活动

BCfans公众号

  • 挖矿场系统开发定制方案
    挖矿场系统开发定制方案 09-10 20:26

    挖矿188体育商场系统定制系统开发咨询热线:【180 2240.1717高坤】可微;从挖矿模式上看,四种挖矿方式并没有明显差异,都是通...

  • 【188体育认知100讲】188体育中的密码学技术
    【188体育认知100讲】188体育中的密码学技术 09-10 19:30

    今天小编要给大家讲的是188体育中的密码学技术,本期分两个章节讲,因为密码学比较难,需要慢慢的消化. 密码学相关的安全技术在...

  • 比特币现金硬分叉,是技术革新还是权利之争?
    比特币现金硬分叉,是技术革新还是权利之争? 09-02 16:52

    在比特币诞生的短短不到十年的历史中,整个社区中爆发了多次的争论,不仅仅是核心开发者和矿工之间的矛盾,还包括开发者与开发...

  • LGGroup乐金钱包软件开发
    LGGroup乐金钱包软件开发 08-31 12:19

    LGGroup支付钱包系统软件开发欧生 137-6067-4940 (LGGroup支付钱包APP软件开发、LGGroup支付钱包APP系统开发、LGGroup支付钱包系统源码开发、LGGroup支...

  • 188体育跨链钱包开发,多币种钱包app开发
    188体育跨链钱包开发,多币种钱包app开发 08-31 12:19

    188体育跨链钱包开发,多币种钱包app开发  188体育钱包是最近非常火爆的一个方向,像新出的Plustoken、HOO等这些钱包app功能都是非常强大的,...

  • 基于华为云188体育服务快速部署和搭建链上应用
    基于华为云188体育服务快速部署和搭建链上应用 08-31 12:19

    华为云188体育服务的整体架构华为云188体育服务BCS是面向企业及开发者的高性能、高可用和高安全的188体育技术平台服务,可以帮助企业和开...

  • V神谈分片技术、等离子技术以及第二层解决方案
    V神谈分片技术、等离子技术以及第二层解决方案 08-31 12:19

    ​ V神,以太坊的创始人,今日在关于开发应该集中在第一层还是第二层这个问题上发表了自己的看法。他说两者之间的权衡这种将是这个......

  • 188体育交易平台开发 公开透明不可篡改
    188体育交易平台开发 公开透明不可篡改 08-30 21:32

    188体育给企业商家带来了不一样的惊喜,同时以188体育技术为基础诞生了许多的衍生系统.赢在移动188体育交易平台就是在这个基础上...

  • 188体育挖矿系统APP定制
    188体育挖矿系统APP定制 08-30 20:54

    188体育挖矿系统研发【咨询开发薇电180-2240-1717高坤】188体育挖矿系统软件定制 最近188体育行业非常热闹,币圈人,都是营销的集...

  • 188体育商城交易系统平台开发
    188体育商城交易系统平台开发 08-30 20:33

    188体育商城交易系统开发,188体育商城交易系统软件,188体育商城交易系统定制,188体育商城交易系统:138-2848-7919可微188体育给...

  • 以太坊开发者资源工具集合
    以太坊开发者资源工具集合 08-30 16:07

    image 1 开发语言、框架与工具 语言 Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语言。 Bamboo - 是一种将智...

  • POWH3D188体育开发
    POWH3D188体育开发 08-30 15:15

    POWH3D188体育开发【185→94O6→0l81微电 曾生】​a,从日活的角度说,以太坊上现在dapp是啥?不是idex,也不是分叉以德,更不是以太猫,是一个...