揭秘区块链核心技术:非对称加密与哈希算法应用

创始人
2024-12-22 15:08:17
0 次浏览
0 评论

区块链加密用什么算法(区块链加密方式)

区块链加密技术

数字加密技术是区块链技术应用和发展的关键。
一旦加密方法被破解,区块链的数据安全性将受到挑战,区块链的不可篡改性将不复存在。
加密算法分为对称加密算法和非对称加密算法。
区块链主要使用非对称加密算法。
非对称加密算法中的公钥密码系统根据其所基于的问题一般分为三类:大整数微分问题、离散对数问题和椭圆曲线问题。
首先介绍一下区块链加密技术。
加密算法一般分为对称加密和非对称加密。
非对称加密是指集成到区块链中的加密技术,以满足安全性要求和所有权验证要求。
非对称加密在加密和解密过程中通常使用两个非对称密钥,称为公钥和私钥。
非对称密钥对有两个特点:第一,一个密钥(公钥或私钥)加密信息后,只能解密另一个对应的密钥。
其次,公钥可以公开给他人,而私钥则保密,他人无法通过公钥计算出相应的私钥。
非对称加密一般分为三大类:大整数微分问题、离散对数问题和椭圆曲线问题。
大整数微分问题类是指用两个大素数的乘积作为加密数。
由于素数的出现是不规则的,只能通过不断的试算才能找到答案。
离散对数问题类是指基于离散对数难度和强单向哈希函数的非对称分布式加密算法。
椭圆曲线是指利用平坦的椭圆曲线来计算一组不对称的特殊值。
比特币就使用这种加密算法。
非对称加密技术在区块链中的应用场景主要包括信息加密、数字签名和登录认证。
(1)信息加密场景中,发送者(记为A)用接收者(记为B)的公钥对信息进行加密并发送给B,B使用自己的私钥对信息进行加密。
信息被解密。
比特币交易的加密就属于这种情况。
(2)在数字签名场景中,发送者A使用自己的私钥加密信息并发送给B,B使用A的公钥解密信息,然后确保信息是A发送的。
(3)登录认证场景,客户端使用私钥加密登录信息并发送给服务器。
然后服务器使用客户端的公钥来解密经过身份验证的登录信息。
请注意以上三种加密方案的区别:信息加密是公钥加密、私钥解密,保证信息的安全;数字签名是私钥加密和公钥解密,保证了数字签名的所有权。
经过验证的私钥加密和公钥解密。
以比特币系统为例,其非对称加密机制如图1所示:比特币系统一般通过调用操作系统底层的随机数生成器来生成256位随机数作为私钥。
比特币私钥总数庞大,遍历所有私钥空间来获取比特币私钥是极其困难的,因此密码学是安全的。
为了方便单元。
单位的完整性并保护数据免遭他人(例如接收者)伪造”。
数字签名机制为解决伪造、抵赖、冒充、篡改等问题提供了一种识别方法。
它采用数据加密技术和数据变换技术,使发送和接收数据的双方满足两个条件:接收方能够识别发送方所声称的内容。
身份;发送者以后不能否认它发送了数据。

数字签名是密码学理论的一个重要分支。
提出以电子文档签名来代替传统纸质文档上的手写签名,因此它必须具备5个特征。

(1)签名可信。

(2)签名不可伪造。

(3)签名不可重复使用。

(4)签名文件是不可变的。

(5)签名是不可否认的。

哈希(hash)算法

哈希就是将任意长度的输入(也称为预映射、原像)通过哈希算法变换为固定长度的输出,输出是哈希值。
这种变换是一种压缩映射,其中哈希值的空间通常远小于输入的空间。
不同的输入可能会散列到相同的输出,但输入值不能反向推导。
简单来说,就是将任意长度的消息压缩成固定长度的消息摘要的函数。

哈希算法是一种单向密码系统,即从明文到密文的不可逆映射,只有加密过程,没有解密过程。
同时,哈希函数可以改变任意长度的输入,得到固定长度的输出。
散列函数的单向特性和输出数据的固定长度使其能够生成消息或数据。

以比特币区块链为代表,其中在工作量证明和密钥编码过程中多次使用二次哈希,例如SHA(SHA256(k))或RIPEMD160(SHA256(K))),这种方法的优点是增加了工作量或者在协议不清楚的情况下增加了破解的难度。

以比特币区块链为代表,主要使用的两个哈希函数是:

1.SHA-256,主要用于完成PoW(工作量证明)计算;

2.RIPEMD160,主要用于生成比特币地址。
如下图1所示,为比特币从公钥生成地址的过程。

区块链:防篡改的哈希加密算法。

同学A和B在教室里扔一枚硬币,打赌谁来打扫房子。
如果出现正面,则A清理;如果它落在尾巴上,那么B将清理。
这个策略并没有什么问题。

但是,如果场景转移到在线聊天室,A和B也玩抛硬币游戏,B很可能不会同意,因为A抛硬币时,B不会猜测

无论正面还是反面,A都可以说B猜错了。

如何解决这个问题?先加密抛硬币的结果,然后B猜怎么样?你可以尝试这个方法。

假设任意奇数代表硬币的正面,任意偶数代表硬币的反面。
A想要一个数字375,然后将其乘以258,告诉B结果是96750,并声明A想要的375就是密钥,他将其妥善保管。

接下来验证结果时,A可以撒谎,声称258是他想要的数字,375是关键,A仍然是无敌的。
如果A提前告诉B密钥怎么办?B可以直接计算出原始数,失去保密功能。

这种知道加密方法就知道解密方法的方法显然行不通。
有没有办法知道加密方式后仍然无法恢复原始文本?

显然,可以添加对加密过程的不可逆操作。
A设计了一种新的加密方法:

假设A想要的数字是375,对其进行加密:

B得到结果120943,但他很难根据120943计算出密钥375

如果B想要验证A是否在说谎:

最后你可以抛硬币了...

这种丢失部分信息的加密方法信息的加密称为“单向加密”,也称为哈希算法。

有一个问题:

这是可以的,但是可以通过增加难度来解决

根据上面的说法,一个可靠的哈希算法应该满足:

密码学中的哈希函数有三个重要的性质,即碰撞。
原始图像的抵抗性和不可逆性,问题。

碰撞意味着学生A可以提前找到一个奇数和一个偶数,从而使哈希结果一致,这在计算上是不可行的。

首先,如果进行压缩。
消息称,一个大空间的桑拿房变成一个小空间,肯定会发生碰撞。
假设哈希值的长度固定为256位。
如果顺序是1,2,...2256+1,将这2256+1个输入值的哈希值一一计算出来,肯定会找到两个输入值,使得它们的哈希值是相同的。

A同学,看到这里,请不要高兴得太早。
因为在它属于你之前,你必须有时间弄清楚它。
为什么这么说?

根据生日悖论,如果随机选择2130+1个输入,则有99.8%的概率找到至少一对碰撞输入。
那么对于哈希值长度为256位的哈希函数,平均需要完成2128次哈希计算才能找到冲突对。
如果一台计算机每秒执行10,000次哈希计算,则完成2,128次哈希计算大约需要1,027年。

A同学,你别想着作弊。
你可能活不了这么久。
当然,如果计算机计算能力大大提高的话,这是可能的。

那么诚信还有什么其他用途呢?

用于验证信息的完整性,因为如果信息在传输过程中没有被篡改,那么运行哈希计算得到的哈希值将会与原始哈希值不同。

所以,在区块链中,可以利用哈希函数的抗碰撞性来验证区块和交易的完整性。

因为一个哈希值对应着无数的明文,理论上你不知道它是哪一个。
就像,4+5=9和2+7=9的结果是一样的。
我知道我输入的结果是9,但是我能知道我输入的数字是多少吗?

如果对消息m进行哈希计算时,引入随机前缀r,基于哈希值H(r||m),很难恢复出消息m,这意味着hash函数的值隐藏了消息m。

所以B同学,不可能根据结果推导出原始数据,就像大海捞针一样。

问题友好性是指没有方便的方法来生成满足特殊要求的哈希值。
这是什么意思?通俗地说,没有捷径,需要一步一步来解决。
如果需要的哈希结果以几个0开头,则计算找到前3位全0的哈希值和前6位全0的哈希值所需的哈希计算次数。
数量关系。

这怎么办?有什么用?在区块链中,它可以用作共识算法中的工作量证明。

主要描述了哈希函数的三个重要性质:抗碰撞性、原像不可逆性和问题友好度。

由于这些重要的特性,区块链中区块和交易的完整性验证、共识算法的工作量证明等功能都是使用哈希函数来实现的。

[1]。
邹军,张海宁。
区块链技术指南[M].北京:机械出版社,2016.11

[2]。
张柴,韩峰.区块链从数字货币到信用社会[M].北京:中信出版社,2016.7

[3]。
张健.区块链定义未来金融经济新格局[M].北京:机械工业出版社,2016.6

区块链技术六大核心算法

区块链技术六大核心算法

区块链核心算法一:拜占庭协议

故事拜占庭的故事是这样的:拜占庭帝国拥有巨大的财富,它的10个邻国历史悠久。
然而,拜占庭的高墙高耸且坚不可摧,任何一个邻国都无法成功入侵。
任何单个邻居的入侵都会失败,也有可能被其他9个邻居入侵。
拜占庭帝国的防御能力如此强大,十个邻国中至少有一半必须同时进攻,才能够突破。
然而,如果一个或几个邻居同意一起进攻,但在实际过程中出现背叛,那么入侵者可能会全部被歼灭。
所以各方都行事谨慎,不敢轻易相信邻国。
这就是拜占庭将军问题。

在这个分布式网络中:每个将军都有一个与其他将军实时同步的消息账本。
账本中每个将军的签名可以用来验证身份。
如果有消息不一致,可以知道该消息与哪些将军不一致。
即使信息不一致,只要过半数同意进攻,少数服从多数,达成共识。

因此,在分布式系统中,虽然有坏人,但坏人可以做任何事情(不受协议限制),比如不响应、发送错误消息、向不同节点发送不同的决策等不同的错误节点联合起来做坏事等等。
不过,只要大多数人都是好人,完全有可能以去中心化的方式达成共识

区块链核心算法二:非对称加密技术

上述拜占庭式中协议,如果10名武将中的几位同时发起消息,必然会造成系统混乱,导致各自有自己的攻击时间计划,难以协调行动。
任何人都可以发起攻击性信息,但谁来发送呢?事实上,这只需要增加一个成本,即:一段时间内只有一个节点可以传播信息。
当节点发送统一的攻击消息时,每个节点必须对来自发起者的消息进行签名和盖章以确认其身份。

今天看来,非对称加密技术可以彻底解决这个签名问题。
非对称加密算法使用两个不同的密钥进行加密和解密。
这两个密钥就是我们常听到的“公钥”和“私钥”。
公钥和私钥通常成对出现。
如果消息是用公钥加密的,则需要公钥对应的私钥才能解密;类似地,如果消息使用私钥加密,则需要与私钥对应的公钥来解密它。

区块链核心算法三:容错问题

我们假设在这个网络中,消息可能会丢失、损坏、延迟、重复发送,以及消息被接收的顺序与发送的顺序不同。
不一致。
此外,节点的行为可以是任意性:他们可以随时加入和退出网络,他们可以丢弃消息、伪造消息、停止工作等。
还可能发生各种人为或非人为故障。
我们的算法为共识节点组成的共识系统提供了出色的容错能力。
这种容错包括安全性和可用性,适用于任何网络环境。

区块链核心算法四:Paxos算法(共识算法)

Paxos算法解决的问题是分布式系统如何对某个值(决议)达成一致。
一个典型的场景是,在分布式数据库系统中,如果每个节点的初始状态是一致的,并且每个节点执行相同的操作序列,那么它们最终可以获得一致的状态。
为了保证每个节点执行相同的命令序列,必须对每条指令执行“一致性算法”,以保证每个节点看到的指令是一致的。
通用的共识算法可以应用于很多场景,是分布式计算中的一个重要问题。
节点通信有两种模型:共享内存和消息传递。
Paxos算法是一种基于消息传递模型的共识算法。

区块链核心算法五:共识机制

区块链共识算法主要是工作量证明和权益证明。
以比特币为例,其实从技术角度来看,PoW可以看作是对Hashcash的复用。
就概率而言,生成工作量证明是一个随机过程。
要开采新的保密货币,在生成区块时,所有参与者都必须同意,并且矿工必须获得区块中所有数据的PoW工作量证明。
同时,矿工必须不断观察和调整这项工作的难度,因为网络要求是平均每10分钟生成一个区块。

区块链核心算法六:分布式存储

分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些存储资源分散构成虚拟存储设备,数据分散存储在网络的各个角落。
因此,分布式存储技术并不是在每台计算机上存储完整的数据,而是将数据切分后存储在不同的计算机上。
这就像存放100个鸡蛋,不是放在同一个篮子里,而是放在不同的地方。
总和为100。

区块链技术中的哈希算法是什么?

1.1。
简介

计算机行业的从业者应该对哈希这个词非常熟悉。
散列可以将数据从一个维度映射到另一个维度。
通常使用哈希函数来实现这种映射。

通常业界用y=hash(x)来表示。
该哈希函数对x进行运算,计算出哈希值y。

区块链哈希函数的特点:

函数参数为字符串类型;

固定大小输出;

高效计算;

无冲突即冲突概率小:x!=y=hash(x)!=hash(y)

隐藏原始信息:例如,区块链中各个节点之间交易的验证只需要验证交易信息熵,而不需要比较原始信息,节点之间不需要传输交易的原始数据,只需传输交易的哈希值即可。
常见的算法有SHA系列和MD5算法

1.2。
哈希的用法

哈希在区块链中有着广泛的用途,其中一种我们称之为哈希指针

哈希指针的意思是根据实际数据计算出变量的值,指向实际数据的位置,即既可以表示实际数据内容,又可以表示实际数据。
储存地点。
下图是示意图HashPointer

HashPointer在区块链中主要用在两个地方。
首先是构建区块链数据结构。
了解区块链的读者应该知道,区块链的数据结构是从创世区块开始向后通过区块之间的指针连接起来的。
这个指针使用如图所示的HashPointer。
每个块存储前一个块。
区块的哈希指针。
这样的数据结构的好处是,后续的区块可以查找之前所有区块中的信息,并且该区块的HashPointer的计算中包含了之前区块的信息,从而在一定程度上保证了区块链不易被篡改。
第二个用途是构建MerkleTree。
MerkleTree的每个节点都是使用HashPointer构造的。
我们将在后续文章中进一步介绍区块链数据结构以及MerkleTree的内容。

哈希还用于其他技术,例如交易验证和数字签名。

2.加密算法

2.1简述

加密简单来说就是将原始信息通过算法进行转换,使信息的接收者可以使用密钥解密密文得到的过程原文。
根据加密和解密密钥是否相同,加密算法可以大致分为三种子类型:

对称加密

对称加密使用相同的密钥进行加密和解密。
这种方法的优点是加密和解密速度快,但密钥的安全分发比较困难。
常见的对称加密算法包括DES、AES、...

非对称加密

非对称加密系统也是

区块链技术基于什么

区块链技术基于分布式账本技术和加密算法。

区块链是一种基于分布式账本技术的分布式数据库技术。
在区块链网络中,每个参与者都拥有一份完整的账本副本,记录了有关交易的所有信息。
与传统数据库不同,区块链账本上的数据公开透明,每个参与者都可以查看和验证交易记录。
因此,区块链保证了交易的安全性和可靠性。
另外,由于区块链网络具有去中心化的结构,任何单个节点都无法控制或更改数据,从而保证了整个系统的高度安全性。

同时,加密算法在区块链技术中发挥着至关重要的作用。
区块链使用密码算法来确保数据的安全性和完整性。
其中,哈希函数和公钥加密技术是区块链的主要组成部分。
哈希函数用于生成唯一的交易和区块标识符,确保数据完整性和不变性。
采用公钥加密技术来验证交易的有效性,保证交易双方的匿名性。
通过加密算法,区块链可以为交易和价值转移提供安全可靠的环境。
此外,智能合约也是区块链的重要组成部分。
它们根据指定条件自动执行交易,提高了交易的效率和便利性。

总而言之,区块链技术是建立在分布式账本技术和加密算法的基础上的。
这些技术的结合使区块链成为一个安全、可靠、去中心化的交易和存储平台。

热门文章
1
新加坡区块链行业薪资福利揭秘:高薪与职业... 区块链工程待遇如何?新加坡的区块链公司表现如何?1.薪资。在新加坡的一家区块链公...

2
揭秘区块链发票:与传统电子发票的五大关键... 区块链发票有什么好处(区块链发票是什么样子的)区块链电子发票涉及的主要角色有:1...

3
深入解析:区块链智能合约原理与核心技术 区块链智能合约的原理1、智能合约的原理是基于区块链技术实现点对点的直接连接。这种...

4
揭秘区块链:去中心化时代的信任与价值创新 区块链技术特点区块链技术具有去中心化、开放、自由、安全、匿名等特点。区块链本质上...

5
Filecoin/IPFS挖矿攻略:算力... Filecoin挖矿原理解析,怎样计算矿机算力和选择矿机?FileCoin/IP...

6
区块链钱包搭建指南:从基础到应用 如何搭建区块链钱包通道(如何搭建区块链钱包通道)区块链钱包开发、数字货币钱包ap...

7
EsportsChain(TMD):全球... 国际区块链竞赛有哪些(国际区块链平台)全球首个区块链电竞商业链平台——电竞链(T...

8
探索BitBlue与Swap:揭秘数字货... 比特蓝是什么意思?BitBlue又称BitcoinBlue,是一种基于区块链技术...

9
揭秘区块链:五大核心特性与广泛应用 区块链的特性包括哪些(区块链的特性包括哪些内容)区块链技术的特点1.区块链技术的...

10
USDT详解:不同版本互操作性与市场风险... 持仓币种笔记1——USDT(Tether)如果T是ETH地址(地址以0x开头),...