解码区块链:揭秘其背后的密码学技术
区块链用的什么密码,区块链采用了哪些密码技术
什么是区块链密码算法?区块链作为互联网时代的新技术,传统技术、分布式数据存储技术、共识机制和加密技术的新应用,越来越受到人们的关注。
随着各种区块链研究联盟的出现,相关研究得到了更多的资金和人力支持。
区块链中使用的哈希算法、零知识证明、环签名等密码算法:
哈希算法
哈希算法是哈希的基础技术。
函数是一组任意长度(定义)的数据映射到一组固定长度的数据流。
如果这个函数同时满足:
(1)任何输入数据集的哈希值的计算都非常简单;
(2)你想找到两个。
具有相同哈希值的不同数据在计算上是困难的。
除非另有说明,满足上述两个属性的哈希函数通常称为密码哈希函数。
对于哈希函数来说,找到这样的值称为冲突。
目前流行的哈希函数有MD5、SHA1、SHA2、SHA3。
比特币使用SHA256,大多数区块链系统都使用SHA256算法。
那么这里我们先介绍一下SHA256。
1.SHA256算法步骤
第1步:添加哈希位。
该消息被屏蔽,以便消息的长度与448mod512匹配(长度=448mod512)。
。
第2步:附加长度值。
将原始消息(相加之前)的64位比特长度绑定到步骤1的结果(低位字节在前)。
第三步:初始化缓存。
使用256位缓存来存储哈希函数的中间结果和最终结果。
第4步:处理512位(16个字)消息包序列。
该算法使用6个基本逻辑函数,包括64次迭代运算。
每个步骤都将256位缓存值作为输入,然后更新缓存内容。
每个步骤使用32位常数值Kt和32位Wt。
组后的消息在哪里,t=1,2,...,16。
第五步:处理完所有512位数据包后,SHA256算法的最终数据包是256位消息。
哈希函数作为加密和签名系统的核心算法,其安全性是整区块链系统的基础。
这与安全有关。
因此,有必要关注哈希函数的研究现状。
哈希函数nsMD4、MD5、HAVAL-128和RIPEMD、CRYPTO2004Rampsession、HowtoBreakMD5和其他哈希函数、EuroCrypt2005发生2次冲突。
该攻击非常复杂,在普通计算机上只需几秒钟。
当年2005年,王晓云教授及其同事提出了SHA-1算法的碰撞算法,但其数学复杂度为2的63次方,在实际情况下很难实现。
他们的研究网站被黑了。
PDF文件内容不同,但SHA-1消息摘要相同,这意味着在理论研究早已警告SHA-1算法的危险性之后,SHA-1算法的实际攻击案例也已经出现,也将被标记。
SHA-1算法终于走到了生命的尽头。
NIST于2007年正式宣布将在全球范围内寻求新的下一代加密哈希算法,并将举办SHA-3竞赛。
新的哈希算法称为SHA-3,作为新的安全哈希标准,在现有FIPS180-2标准的基础上进行了改进。
算法供应于2008年10月结束。
NIST分别于2009年和2010年召开了两轮会议,选出进入两轮筛选的算法,获奖算法将于2012年公布。
整个公开竞赛流程是按照高级加密标准AES查询流程设计的。
2012年10月2日,Kecak被选为NIST竞赛获胜者,成为SHA-3。
Kecak算法是SHA-3的候选算法,于2008年10月推出。
Kecak使用创新的“海绵引擎”对消息文本进行哈希处理。
它设计简单,便于硬件实现。
Kecak可以抵抗最小复杂度为2n的攻击,其中N是哈希值的大小。
它具有广泛的安全裕度。
到目前为止,第三方密码学尚未显示出Kecak存在任何严重弱点。
KangarooTool算法是最近提出的Kecak的替代算法。
零知识证明
在密码学中,零知识证明(ZKP)是一种由一方用来向另一方证明A知道某个消息的技术。
揭示与x相关的任何其他内容的策略,前者称为证明者,后者称为验证者。
系统中的所有用户及其所有文件想象一下,拥有备份,使用自己的私钥对其进行加密,并将其在系统中公开。
有时,用户Alice想要向用户Bob提供她的部分文件,此时的问题是Alice如何让Bob相信她发送的文件是正确的。
一个简单的解决方案是爱丽丝将她的私钥发送给鲍勃。
零知识证明就是可以用来解决上述问题的解决方案。
零知识证明“主要基于复杂性理论,并在密码学领域具有广泛的理论扩展。
在复杂性理论中,我们主要讨论哪些语言可以用于零知识证明应用,而在密码学中我们主要讨论如何构建不同的零知识证明方案并使其足够最优和高效。
环签名群签名
1个群签名
在群签名方案中,任何群成员都可以匿名代表整个群并对消息进行签名。
。
与其他数字签名一样,群签名是可公开验证的,并且只能使用一个群公钥进行验证。
群签名的一般流程:
(1)发起群管理者建立群资源并生成相应的群公钥(GroupPublicKey)和群私钥(GroupPrivateKey)。
整个系统内的公共,如群组成员、验证者等。
(2)成员加入当用户加入群组时,群组管理员颁发群组成员证书(群组证书)。
(3)签名,群组成员使用获得的群组证书对文件进行签名,生成群组签名。
(4)验证同时,验证者只能利用群公钥验证获得的群签名的真实性,而无法知道群内的正式签名者。
(5)泄露群组管理员可以使用群组私钥来跟踪群组用户创建的群组签名,并泄露签名者的身份。
环是一种群签名,只有2个环成员,没有管理员,不需要环成员之间的合作。
在环签名方案中,签名者首先选择一组临时签名者;这包括签名者。
然后签名者可以使用自己的私钥和其他人的公钥来生成签名,而无需其他人的帮助。
签署者团体的成员可能不知道他们被包括在内。
环签名方案由以下部分组成:
(1)密钥生成。
为环中的每个成员生成密钥对(公钥PKi,私钥SKi)。
(2)签名。
签名者使用自己的私钥和任意n个环成员(包括他自己)的公钥来生成消息d的签名。
(3)签名验证。
验证者根据环签名和消息m验证签名是否由环成员签名,如果接受,否则丢弃。
环签名满足的性质:
(1)无条件匿名匿名:攻击者无法确定哪个环成员创建了签名,即使在获得环成员的私钥后也是如此。
,概率不大于1/n。
(2)真实性:签名必须经过所有其他人的验证。
3都是个人的代表,在匿名系统中,验证者可以验证签名是由该群体的某个成员签署的,但无法知道是哪个成员。
实现签名者的匿名。
(2)可追溯性。
在群签名中,群管理员的存在确保了签名跟踪。
群组管理员可以撤销签名以显示真正的签名者。
环签名本身无法识别签名者或识别签名者,除非在签名中添加附加信息。
提出了一种可验证的环签名方案,希望真实签名者知道自己的身份,在这种情况下,真实签名者可以通过泄露自己持有的秘密信息来确认自己的身份。
(三)管理体系。
群签名由群管理员管理,而环签名不需要管理。
链桥教育在线旗下学说创新区块链技术工作站是“智慧学习工场2020——学说创新工场”中唯一获得教育部规划建设发展中心认可的“区块链技术”。
中国教育专业”实验工作现场。
专业基础为学生提供多种发展路径、培养模式改革、专业学位、产学研一体化、实践综合技能。
培训是建立在体系的基础上的。
密码技术是区块链技术的组成部分。
区块链加密技术包括数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的子集,数字签名标准是专门用于数字签名的特定公钥算法。
密钥基于SHA-1生成的消息的哈希值:为了验证签名,需要重新计算消息的哈希值,使用公钥对签名进行解密,然后比较结果。
缩写为DSA。
?
数字签名是唯一的电子签名。
迄今为止,至少有20个国家颁布了承认电子签名的法律,其中包括欧盟和美国2011年的《国家电子签名法案》。
8月28日,第十届全国人民代表大会常务委员会第十一次会议召开。
2004年ISO7498-2标准将数字签名定义为:“附加到数据单元的某些信息,或对数据单元进行的秘密更改”。
保护数据单元和数据免受他人(例如接收者)的完整性。
数字签名系统为解决伪造、叛国、冒充和欺诈等问题提供了一种识别方法,它可以识别两种情况以使双方能够发送和接收信息。
发件人的声明;
数字签名是密码学理论的一个重要分支。
拟以电子文档签名取代传统纸质文档上的手写签名,因此应具备5个特征。
(1)签名真实。
(2)签名不可伪造。
(3)签名不能重复使用。
(4)签名文件是不可变的。
(5)签名无效。
哈希算法
哈希是通过哈希算法将任意长度的输入(也称为预映射、原像)转换为固定长度的输出。
,结果就是哈希值。
这种变换是一种紧凑映射,其中哈希值的空间通常比输入的空间小得多,并且不同的输入可以到达相同的输出,但输入值不能颠倒。
简单来说就是将任意长度的消息压缩成固定长度的消息摘要这是一项任务。
哈希算法是一种单向密码系统,即从明文到密文的不可逆映射,只有加密过程,没有解密过程。
同时,哈希函数可以对任意长度的输入进行变换,得到固定长度的输出。
哈希函数是一种单向功能,允许输出数据生成固定长度的消息或数据。
以比特币区块链为代表,其中SHA(SHA256(k))或RIPEMD等二级哈希常用于工作负载认证和密钥编码过程中。
160(SHA256(K)),该方法的重要性如果协议不明确会增加工作量或者增加破解风险。
比特币区块链代表的两个主要哈希函数是:
1SHA-256,主要用于PoW(工作量证明)计算;
2.RIPEMD160,主要用于生成比特币地址。
从比特币公钥生成地址的过程如下图1所示。
区块链使用什么技术来完成这个任务?PoW和PoS、DPoS、PBFT、PAXOS等由于区块链系统中没有中心,所以必须有一个预定的规则来引导各方节点对数据处理达成一致,其中使用了很多经典算法,主要有:哈希算法、对称加密、非线性加密等对称加密、数字签名等
第三种存储是分布式的。
与传统的集中式存储相比,分布式存储的优势主要体现在两个方面:数据在各个节点上进行备份,避免因单点故障导致数据丢失;每个节点的信息都是单独存储的。
智能合约:智能合约允许在没有第三方的情况下进行可信交易。
。
具有透明、可靠、自动执行、强制执行等优点。
区块链技术使其具有独特的创新性,并具有许多独特的功能,可以提供无限的见解供探索。
区块链用什么加密方式,区块链加密文
区块链密码学技术中加密动物学技术是区块链技术的核心。区块链的密码技术包括数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的子集,一种数字签名算法,代表仅用于数字签名的特定公钥算法。
密钥作用于SHA-1生成的消息哈希:验证签名;重新计算消息的哈希值;使用公钥对证书进行加密并比较结果。
缩写为DSA。
?
数字签名是电子签名的一种特殊形式。
8月28日,至少有0个国家通过了承认电子签名的法律,其中包括欧盟和美国。
2004年。
。
数字签名在ISO7498-2标准中被定义为:“附加到数据单元的一些数据或数据单元的加密转换。
这种数据和转换允许接收者验证数据单元和数据的来源。
它保护数据单元和数据的完整性,防止他人(例如接收者)伪造。
数字签名机制可防止伪造、否认、它提供了一种身份验证方法来解决欺骗和篡改等问题数据加密技术和数据变换技术使发送和接收数据的双方满足两个条件:接收方知道它是什么。
发件人身份
数字签名是密码学理论的一个重要分支。
建议采用电子文档签名来代替传统纸质文档上的手写签名,因此必须有5个签名。
(1)证书可靠。
(2)证书不可伪造。
(3)门票不可重复使用。
(4)签名文件是不可变的。
(5)签名并不表示拒绝。
哈希(hash)算法
哈希就是通过哈希算法将一个输入转换为固定长度的输出(也称为预映射、原像)。
输出是哈希值。
这个变换是一个压缩的映射,哈希值空间通常允许将不同的输入哈希到相同的输出,但不能反向推导输入值。
简单来说,它是一个将任意长度压缩成固定长度消息的函数。
哈希算法是一种单向加密系统;这意味着它是一个从明文到密文的不可逆映射,只是一个加密过程。
同时,哈希函数可以转换任意长度以获得固定长度的输出。
散列函数的单向特性和输出数据的固定长度可以产生消息或数据。
以比特币区块链为代表,在工作量证明和密钥加密过程中多次使用二次哈希,例如SHA(SHA256(k))或RIPEMD160(SHA256(K))。
如果协议不明确。
这种方法的优点是增加了工作量或者破解难度。
比特币区块链代表的两个主要哈希函数是:
1.主要用来完成PoW(ProofofWork)计算。
2.RIPEMD160,主要用于生成比特币地址。
从比特币公钥生成地址的过程如下图1所示。
数字加密技术是区块链技术应用和发展的关键。
一旦加密方法被破解,区块链的数据安全性将受到挑战,区块链的可玩性将不复存在。
加密算法分为对称加密算法和非对称加密算法。
区块链主要采用非对称加密算法。
在非对称加密算法中公钥密码系统根据其所基于的问题分为三类:大整数分集问题;离散对数问题和椭圆曲线问题。
第一的,引入区块链加密技术。
非对称加密是指集成到区块链中的加密技术,以满足安全性要求和所有权验证要求。
非对称加密通常是在加密和解密过程中使用两个不同的密钥,称为公钥和私钥。
非对称密钥对优先;密钥之一(公钥或私钥)加密数据后;它只能加密另一个关联的密钥。
第二,尽管密钥是保密的。
公钥可以公开给其他人,其他人无法通过公钥计算出相应的私钥。
非对称加密一般分为三大类:大整数分集问题;离散对数问题和椭圆曲线问题。
大整数微分的问题类别是指将两个大数的乘积作为编码数。
因为数字的出现是不规则的。
只有通过不断的试算才能找到答案。
离散对数该问题类是指一种基于离散对数和强单向哈希函数难度的非对称分布式加密算法。
非对称特殊值比特币是指使用椭圆曲线使用这种加密算法计算非对称特殊值。
非对称加密技术在区块链中的应用场景主要包括信息加密;包括数字签名和登录认证。
(一)信息加密的情况;发送者(记为A)用接收者的公钥(记为B)加密数据并将其发送给B。
B使用他的私钥来加密数据。
已加密。
加密比特币交易就属于这种情况。
(2)如果是数字签名;发送者A使用他的私钥加密数据并将其发送给B。
B使用A的公钥对信息进行加密,确保信息是A发送的。
(3)登录认证的情况下;客户端使用私钥对登录信息进行加密并发送给服务器,服务器再使用客户端的公钥解密真实的登录信息。
注意上面三种加密系统的区别:信息密码学是公钥密码学和私钥密码学。
保证信息安全的数字签名是私钥加密和公钥加密。
私钥加密和公钥加密都是经过认证的。
以比特币系统为例,其非对称加密机制如图1所示:比特币系统一般通过调用操作系统底层的随机数生成器来生成256位随机数作为私钥。
密码学之所以安全,是因为比特币私钥的总数巨大,绕过所有密钥空间来获取比特币私钥是非常困难的。
方便识别;256位二进制比特币私钥将由SHA256哈希算法和Base58转换为50个字符长的私钥格式,方便用户识别和写入。
比特币的公钥是通过Secp256k1椭圆曲线算法根据私钥生成的65字节随机数。
公钥可用于生成比特币交易中使用的地址。
生成过程是将公钥通过SHA256和RIPEMD160进行哈希处理,生成20字节的哈希结果(即Hash160的结果)。
然后由SHA256哈希算法和Base58组成33个字符的比特币。
地址。
公钥生成过程不可逆;那是,私钥不能从公钥推导出来。
比特币的公钥和私钥通常存储在比特币钱包文件中,其中私钥最为重要。
丢失私钥意味着丢失相应地址持有的所有比特币。
在现有的比特币和区块链系统中;根据实际应用需求衍生出多重私钥加密技术,以满足多重签名等更加灵活、复杂的情况。
区块链技术是一种分布式记录技术,通过对数据进行加密和分发来保证数据的安全性和可靠性。
区块链的安全主要通过以下方法来保证:
1.加密技术:区块链采用对称加密和非对称加密算法,可以有效保护数据安全。
2.分布式存储:区块链数据不是集中存储在单个节点,而是分散在网络中的各个节点,有效防止数据入侵和丢失。
3.共识机制:区块链采用通用的共识机制来验证交易的有效性,有助于防范风险交易。
4.合约机制:区块链可以通过智能合约实现交易自动化,防止交易被操纵。
区块链技术在安全方面带来了一些挑战。
例如,区块链的安全性可能会受到漏洞的攻击;或者由于私钥泄露而导致资产被盗。
所以,使用区块链技术时;为了保证区块链的安全,需要关注身份认证、密码安全等问题。
此外,区块链技术的安全性也会受到影响。
政策、受法规等影响。
区块链技术在部分国家和地区可能会受到审查和限制;这也可能会影响区块链的安全性。
一般来说,区块链技术的安全加密技术;分布式存储;虽然这主要通过共识机制和条约机制来保证,但还需要解决其他挑战和影响因素。
区块链中SHA有哪些,下区块链是什么
区块链密码学技术包括加密动物学技术是区块链技术的基础。
区块链密码技术包括数字签名算法和哈希算法。
数字签名算法
数字签名算法是数字签名标准的子集,是一种仅用于数字签名的特殊公钥算法。
密钥在SHA-1生成的消息哈希上运行:为了验证签名,重新计算消息哈希,使用公钥解密签名,然后比较结果。
缩写:DSA。
?
数字签名是电子签名的一种特殊形式。
迄今为止,至少有20多个国家通过了承认电子签名的法律,其中包括欧盟和美国。
我国《电子签名法》于8月28日由第十届全国人民代表大会常务委员会第十一次会议通过。
2004年..ISO7498-2标准中将数字签名定义为:“添加到数据块的某些数据,或对数据块执行的加密转换。
这种数据和转换允许数据块的接收者验证数据块的来源和数据完整性,并保护数据不被其他人(例如接收者)篡改。
”数字签名机制为解决伪造、抵赖、冒充、窜改等问题提供了一种识别方法。
它采用数据加密技术和数据转换技术,使双方能够在两个条件下发送和接收数据:接收者可以识别它是什么。
发件人确认身份;发送者以后不能否认他发送了数据。
数字签名是密码学理论的一个重要分支。
提议以电子文档的方式进行签名,而不是在传统的纸质文档上进行手写签名,因此它必须具备5个特征。
(1)签名可信。
(2)签名不可伪造。
(3)不允许签名重复使用。
(4)签名文件是不可变的。
(5)签名无可争议。
哈希(Hashing)算法
哈希的目的是利用哈希算法将任意长度的输入数据(也称为预映射、原像)转换为固定长度的输出数据。
,输出是一个哈希值。
这种变换是一种压缩映射,其中哈希值的空间通常远小于输入数据的空间。
不同的输入可以哈希为相同的输出值,但输入值不能以相反的顺序输出。
简单来说,就是将任意长度的消息压缩成固定长度的消息摘要的函数。
哈希算法是一种单向密码系统,即仅使用加密过程而不使用解密过程将明文不可逆地转换为密文。
另一方面,哈希函数可以修改任意长度的输入以产生固定长度的输出。
哈希函数的单向特性和固定的输出长度使其能够生成消息或数据。
以比特币区块链为例,在验证工作量和编码密钥的过程中多次使用二次哈希,例如SHA(SHA256(k))或RIPEMD160(SHA256(K))如果协议不明确,它会增加工作量或增加破解难度。
比特币区块链中存在的两个主要使用的哈希函数是:
1SHA-256,主要用于执行PoW(工作量证明)计算;
2.RIPEMD160,主要用于生成比特币地址。
如下图1所示,比特币的公钥生成地址的过程。
1.1。
简介
计算机行业从业者应该对哈希这个词非常熟悉。
散列可以显示来自一个维度到另一个维度。
为了实现这样的映射,通常使用散列函数。
通常业界使用y=hash(x)来表示。
该哈希函数对x进行运算,计算出哈希值y。
区块链中哈希函数的特点:
函数参数为字符串类型;
固定大小输出;
高效计算
没有冲突意味着冲突概率低:x!=y=hash(x)!=hash(y)
隐藏原始信息:for例如,检查节点之间的交易区块链只需要检查一笔交易的信息熵,不需要比对原始信息,节点之间也不需要比对。
为了传输原始交易数据,只能传输交易哈希。
常见的算法有SHA、MD5.p>
1.2系列算法。
哈希的使用
哈希在区块链中被广泛用,其中一种我们称之为哈希指针(HashPointer)
哈希指针这意味着变量的值是根据实际计算出来的data并指向实际数据的位置,即既可以表示数据的实际内容,又可以表示实际数据存储的位置。
下图是HashPointer的示意图。
HashPointer主要用在区块链上的两个地方。
首先,构建区块链数据结构。
精通区块链的读者应该知道,区块链数据结构是通过区块之间的指针链接回原始区块的。
这个指针使用如图所示的HashPointer。
每个块存储该块的HashPointer。
这种数据结构的优点是后续区块可以查找之前所有区块中的信息,并且一个区块的HashPointer计算中包含了之前区块的信息,这在一定程度上保证了区块链不能被轻易篡改。
第二个用途是创建MerkleTree。
每个MerkleTree节点都是使用HashPointer创建的。
在后续的文章中,我们将介绍区块链数据结构和MerkleTree的内容。
哈希还用于其他技术,例如交易验证和数字签名。
2.算法加密
2.1简要说明
加密只是使用算法对原始信息进行转换,以便信息的接收者可以进行加密。
使用密钥对密文进行解密以获得原始文本的过程。
根据加密和解密密钥是否相同,加密算法可以大致分为三种子类型:
对称加密
对称加密使用相同的密钥进行加密和解密。
这种方法的优点是加密和解密速度快,但安全分发密钥比较困难。
复杂、常见的对称加密算法包括DES、AES、...
非对称加密
非对称加密系统也称为公钥系统。
加密方拥有当时的公钥。
加密和解密。
而私钥,加密方可以将公钥发送给其他相关方,而私钥则严格由自己保存。
例如,银行向个人用户颁发的私钥存储在个人的U保护设备中;非对称加密中,私钥可以用来加密,而其他人可以用公钥来解密,反之亦然;非对称加密算法通常更复杂并且需要更长的时间才能完成。
相对对称加密的优点是不存在密钥分发的问题。
其他常见的非对称加密算法包括RSA和ECC。
椭圆曲线ECC算法主要应用于区块链中。
对称加密和非对称加密的结合。
该方法将加密过程分为两个阶段。
第一阶段采用非对称加密方式分发密钥,以便对方能够获取。
可以安全地获得。
对称加密的密钥。
第2阶段使用对称加密对原始文本进行加密和解密。
2.2数字签名
数字签名,也称为公钥数字签名,是一种类似于写在纸上的物理签名。
数字签名主要用于在数据更改时识别签名者并确保其不可否认性。
数字签名具有三个重要特征:
只有您可以签署自己的数字签名,但其他人可以验证该签名是否是您签发的;
数字签名必须与特定的数字绑定在一起。
这与现实中的签名完全一样,必须链接到纸质介质;
数字签名无法伪造;
使用非对称加密机制可以使其变得更容易。
任务。
达到以上三个特点。
首先需要生成个人公私钥对:
(sk,pk):=generateKeys(keysize),私钥sk由用户保管,并且公钥pk可以与其他人共享。
其次,您可以使用sk对特定消息进行签名:
sig:=sign(sk,message)因此,获得特定签名
最后,持有公钥签名密钥的一方可以验证签名:
isValid:=verify(pk,message,sig)
在区块链系统每笔数据交易都需要签名。
在比特币开发过程中,直接使用用户的公钥来代表用户的比特币地址。
这样,当用户发起转账等比特币交易时,可以轻松验证用户交易的合法性。
2.3数字证书和证书颁发机构
2.3.1数字证书
数字证书也称为“数字ID”和“在线ID”。
“它是基于认证机构的授权颁发的,具有认证机构的数字签名,包含密钥所有者信息的电子文件,可以使用公钥来识别数字证书的所有者。
数字证书包含:公钥、有关证书名称的信息、颁发证书的机构的数字签名,以及相应的私钥。
证书可以存储在网络上的数据库中。
用户可以利用网络相互交换证书。
当证书被吊销时,颁发CA仍保留证书的副本以解决未来潜在的争议。
2.3.2证书颁发机构
证书颁发机构通常称为CA,通常是公认且可信的第三方组织。
它的主要作用是颁发证书。
每个用户的证书。
包含名称和公钥的唯一数字证书。
2.4常见加密算法对比
如何保证区块链的安全使用区块链本身解决了陌生人之间大规模合作的问题,即陌生人之间如果满足条件就可以相互合作他们需要互相信任。
那么如何才能保证陌生人之间的信任,达成彼此的共识机制呢?集中式系统使用来自银行等第三方的可信支持。
普通民众认为银行是可靠且值得信赖的机构。
人们可以信任银行,让银行解决真正的纠纷。
但去中心化的区块链如何确保信任呢?
事实上,区块链利用现代密码学的基本原理来提供其安全机制。
密码学和安全领域相关的知识体系非常复杂。
我只介绍与区块链相关的密码学基础知识,包括哈希算法、加密算法、信息摘要和数字签名、零知识证明、量子密码学等。
您可以通过本课程了解使用密码学技术的区块链如何确保其机密性、完整性、认证性和不可否认性。
基础课程第七课:区块链安全基础知识
1哈希算法(HashAlgorithm)
哈希函数(Hash),又称散列函数。
这是一个哈希函数。
哈希函数:Hash(原始信息)=信息摘要。
哈希函数可以将任意长度的二进制文本字符串映射为较短(通常是固定长度)的二进制字符串(哈希值)。
一个好的哈希算法具有以下四个特点:
1.一一对应:相同的明文输入和哈希算法总是可以产生相同的摘要输出。
2.输入灵敏度:即使输入纯文本时发生一些微小的变化,新生成的摘要信息也会发生很大的变化,与原始输出有很大不同。
3.易于检查:输入文本和哈希算法都是公开的,任何人都可以独立计算输出哈希值是否正确。
4.不可逆性:如果只有输出哈希值,则绝对不可能从哈希算法推断出明文。
5.碰撞避免:很难找到两段内容不同的明文,但它们的哈希值一致(发生碰撞)。
示例:
哈希(张三借给李希10万,借期6个月)=123456789012
文件包含条目123456789012。
账本条目。
可以看出,哈希函数有4个作用:
简化信息
易于理解,哈希后的信息变得更短。
识别信息
您可以使用123456789012来识别原始信息,汇总信息也称为原始信息ID。
隐藏信息
注册表中包含类型为123456789012的条目,原始信息被隐藏。
验证信息
如果李四在还贷时作弊,张三只借给李四五万,双方都可以使用哈希值,并与之前记录的哈希值进行比较。
123456789012验证背景信息
哈希(张三借给李四5万,贷款期限6个月)=987654321098
987654321098与123456789012完全不同,证明李四Si撒了谎,并成功保证了信息的完整性。
常见的哈希算法有MD4、MD5、SHA系列算法。
目前SHA系列算法主要有用于个主要领域。
SHA(SecureHashAlgorithm)不是一种算法,而是一组哈希算法。
这最初是SHA-1系列。
目前的主要应用是SHA-224、SHA-256、SHA-384和SHA-512(俗称SHA-2)。
最近,与SHA-3相关的算法也出现了。
提出的算法,例如以太坊使用的算法,就属于这种算法。
MD5是一种经典的哈希算法,不幸的是它和SHA-1算法都已被破解,被业界认为不够安全,无法用于商业场景。
通常建议至少使用SHA2-256或更安全的算法。
哈希算法在区块链中得到广泛应用。
例如,在一个块中,下一个块将包含前一个块的哈希值,以及下一个块的内容+前一个块的哈希值。
该块与下一个块的哈希值一起计算,确保链的连续性和神圣性。
2.加解密算法
加解密算法是密码学的基础技术。
从设计理念来看,可以分为对称加密算法和非对称加密算法两大类。
加密算法。
它们的不同取决于加密和解密过程中使用的密钥是否相同。
两种模式适应不同需求,形成互补关系。
有时它们也可以组合使用,形成混合加密机制。
对称加密算法(对称加密,又称钥加密、共享密钥加密),加密和解密的密钥是相同的。
其优点是计算效率高、加密强度高。
这需要事先交换钥匙,以便轻松找到丢失的钥匙。
常见的算法有DES、3DES、AES等。
非对称加密算法(asymmetrycryptography,又称公钥加密、公钥密码术)与加解密密钥不同。
他的优点是他不必提前共享密钥;缺点是计算效率低,只能加密短内容。
常见的算法有RSA、SM2、ElGamal、椭圆曲线系列算法等。
对称加密算法适用于大量数据的加解密过程,不能用于签名场景:且密钥往往需要提前分发。
非对称加密算法一般适用于签名或密钥协商场景,但不适合大量数据的加解密。
3.信息摘要和数字签名
顾名思义,信息摘要就是对信息内容进行哈希运算,产生一个唯一的摘要值来替代原来的完整信息。
内容。
信息摘要是哈希算法最重要的应用。
利用Hash函数的碰撞避免特性,信息摘要可以解决防止内容篡改的问题。
数字签名类似于签署纸质合同,确认合同内容和身份证明。
数字签名基于非对称加密,可以用来证明某些数字内容的完整性,同时提供验证。
来源(或不可否认性)。
我们对数字签名的属性有两个要求,使它们与我们对手写签名的期望一致。
首先,只有你自己可以签名,但任何人看到它都可以验证它的真实性;其次,我们希望签名仅适用于特定文件,而不适用于其他文件;所有这些都可以用于使用我们上面描述的非对称加密算法来获得数字签名。
在实际应用中,我们通常会对信息的哈希值进行签名,而不是对信息本身进行签名。
这是由非对称加密算法的有效性决定的。
根据区块链,哈希指针是有签名的。
如果使用这种方法,则前一种方法是整个结构,而不仅仅是哈希指针本身。
4.零知识证明
零知识证明是指证明者让验证者相信某个陈述是正确的,而不需要向验证者提供任何额外的信息。
正确的。
。
零知识证明通常满足三个条件:
1.完整性:真实的证明可以让验证者成功完成测试。
2.:虚假证据不能让验证者通过测试;
3.零知识:如果被证明,在证明过程中除了证明的信息之外无法获得任何信息。
5.量子密码
随着量子计算和量子通信研究受到越来越多的关注,量子密码将对未来密码信息安全产生巨大影响。
。
量子计算的基本原理是利用量子比特同时处于多个相干叠加态。
理论上,大量的信息可以通过少量的量子比特来表达并同时处理。
同时,显着提高了计算速度。
同时,大量现有的加密算法在理论上很弱并且可以被破解,这使得......加密动物学算法需要现代化,否则量子计算将破解它们。
众所周知,量子计算目前还处于理论阶段,距离大规模商业应用还很远。
然而新一代的加密算法必须考虑到这种情况的可能性。