揭秘区块链核心技术:哈希算法与密码学原理

创始人
2024-12-26 04:19:43
0 次浏览
0 评论

区块链密码算法是怎样的?

区块链作为一项新兴技术,正受到越来越广泛的关注。
它是传统技术在互联网时代的新应用,包括分布式数据存储技术、共识机制和密码学等。
随着各类区块链研究联盟的成立,相关研究得到了越来越多的资金和人员支持。
区块链中使用的哈希算法、零知识证明、环签名等密码算法:

哈希算法

哈希算法是区块链的核心技术。
哈希的本质。
该函数由将任意(有限)长度的数据集映射为一组定义长度的数据流组成。
如果这个函数同时满足:

(1)计算任意输入数据集的哈希值非常简单;

(2)你想找到两个不同的相同的哈希值数据很难计算。

满足以上两个性质的哈希函数也称为密码哈希函数。
除非矛盾,哈希函数一般指密码哈希函数。
对于Hash函数来说,找到这样的值称为碰撞。
目前流行的哈希函数有MD5、SHA1、SHA2、SHA3。

比特币使用SHA256,大多数区块链系统都使用SHA256算法。
因此,我们将在这里首先介绍SHA256。

1.SHA256算法步骤

第1步:添加填充位。
消息被填充,以便消息长度符合448mod512(长度=448mod512)。
填充位数范围为1~512。
填充位串中最高位为1,其余位为0。

第2步:附加长度值。
将表示为64位的初始消息(填充之前)的位长度添加到步骤1的结果(低字节在前)。

第3步:初始化缓存。
使用256位缓存来存储哈希函数的中间结果和最终结果。

第4步:处理512位(16字)消息包序列。
该算法使用6个基本逻辑函数,由64步迭代运算组成。
每个步骤都将256位缓存值作为输入,然后更新缓存的内容。
每个步骤使用一个32位常数Kt和一个32位Wt。
其中Wt是分组后的数据包,t=1,2,...,16。

第5步:处理完所有512位数据包后,SHA256算法最后一个数据包生成的输出是256位消息。

哈希函数作为加密签名系统的基础算法,其安全性关系到整个系统区块链的底层安全。
因此,有必要关注哈希函数的研究现状。

2.哈希字母研究现状

2004年,中国密码学家王晓云在国际加密货币论坛(CRYPTO)上演示了MD5算法的碰撞,并给出了第一个实例(CollisionsforthensMD4,MD5,HAVAL-128和RIPEMD哈希函数、CRYPTO2004rumpsession、HowtoBreakMD5等哈希函数哈希,EuroCrypt2005)。
该攻击非常复杂,在普通计算机上只需要几秒钟。
2005年,王晓云教授及其同事提出了一种碰撞算法SHA-1算法。
然而,计算复杂度为2的63次方,这在现实情况下很难实现。

2017年2月23日,全球首个SHA-1哈希冲突公开实例在Google安全博客上发布。
经过两年的联合研究和大量计算机时间的投入,研究人员提出了两种方案。
他们的研究网站SHAttered了内容不同但SHA-1消息摘要相同的PDF文件,这意味着在理论研究早已警告SHA-1算法的风险之后,针对SHA-1算法的实际攻击案例也浮出水面,而这也标志着SHA-1算法终于走到了生命的尽头。

NIST于2007年正式宣布将在全球范围内征集新的下一代密码哈希算法并举办SHA-3竞赛。
新的哈希算法将称为SHA-3,并将作为新的安全哈希标准,改进现有的FIPS180-2标准。
算法提交于2008年10月截止。
NIST分别于2009年和2010年举行了两轮会议。
进入最后阶段的算法是经过两轮评选选出的。
获胜算法将于2012年公布。
整个公开竞赛过程仿照AES高加密标准征集过程。
2012年10月2日,Keccak被选为NIST竞赛获胜者,成为SHA-3。

Keccak算法是2008年10月提交的SHA-3候选算法。
Keccak使用创新的“海绵引擎”对消息文本进行哈希处理。
其设计简单,硬件实现实用。
Keccak可以抵抗最小复杂度为2n的攻击,其中N是哈希大小。
它具有广泛的安全裕度。
到目前为止,第三方密码分析尚未显示出Keccak存在任何严重弱点。

KangarooTwelve算法是最近提出的Keccak算法的变体。
其计算轮数减少到12轮,但与原算法相比,其功能没有调整。

零知识证明

在密码学中,零知识证明(ZKP)是一方用来向另一方证明他们知道某个消息x而无需A的方法揭示与x相关的其他内容的策略,其中第一个称为证明者,第二个称为验证者。
想象一个场景,系统上的所有用户都有所有文件的备份,使用自己的私钥加密它们,并将它们在系统内公开。
假设在某个时刻,用户Alice想向用户Bob提供她的一些文件。
此时出现的问题是,爱丽丝如何才能让鲍勃相信她确实发送了正确的文件。
一个简单的解决方案是爱丽丝将她的私钥发送给鲍勃。
这是Alice不想选择的策略,因为Bob可以轻松获得Alice的文件的所有内容。
零知识证明就是可以用来解决上述问题的一种方案。
零知识证明主要基于复杂性理论,并在密码学领域有许多理论扩展。
在复杂性理论中我们主要讨论可用于零知识证明应用的语言,而在密码学中我们主要讨论如何构造不同类型的知识证明方案零并使其足够优秀和有效。

响铃群签名

1.群签名

在群签名系统中,群中的任何成员都可以匿名代表整个群。

与其他数字签名一样,群签名是可公开验证的,并且可以使用单个群公钥进行验证。
一般群签名流程:

(1)初始化,群管理员建立群资源并生成相应的群公钥(GroupPublicKey)和群私钥(GroupPrivateKey)。
组公钥适用于所有用户。
整个公共系统,例如群组成员、验证者等。

(2)加入成员当用户加入群组时,群组管理员向群组成员颁发群组证书(GroupCertificate)。

(3)签名,群组成员使用获得的群组证书对文件进行签名,生成群组签名。

(4)验证同时,验证者只能利用群的公钥来验证获得的群签名的正确性,而无法确定群的正式签名者。

(五)披露。
群组管理员可以使用群组的私钥来跟踪群组的用户生成的群组签名并暴露签名者的身份。

2.环签名

2001年,三位密码学家Rivest、Shamir和Tauman首先提出了环签名。
这是一种简化的团签,只有环成员,没有管理者,不需要环成员之间的配合。
在环签名方案中,签名者首先选择一组临时签名者,其中包括签名者。
然后,签名者可以使用自己的私钥和签名集中其他人的公钥来独立生成签名,而无需第三方的帮助。
签署机构的成员可能不知道他们被包括在内。

环签名方案由以下部分组成:

(1)密钥生成。
为环中的每个成员生成密钥对(PKi公钥、SKi私钥)。

(2)签名。
签名者使用自己的私钥和n个环成员(包括他自己)的公钥为消息m生成签名a。

(3)签名验证。
验证者根据环签名和消息m检查签名是否由环成员签名。
如果有效,则接受,否则将被拒绝。

环签名满足的性质:

(1)无条件匿名性:攻击者即使获得了环成员的私钥,也无法确定环中的哪个成员生成了签名。
概率不超过1/n。

(2)准确性:签名必须经过所有其他人的验证。

(3)不可伪造:环中的其他成员无法伪造真实签名者的签名。
即使外部攻击者获得了有效的环签名,他也无法伪造消息m的签名。

3.环签名与群签名的比较

(1)匿名性。
这是一个个人代表一个群体签名的系统,验证者可以验证签名是由该群体的某个成员签署的,但不知道是哪个成员,从而实现签名者的匿名。

(2)可追溯性。
在群签名中,群管理员的存在保证了签名的可追溯性。
组管理员可以撤销签名以揭示真正的签名者。
环签名本身不能泄露签名者,除非签名者自己希望公开签名或向签名添加附加信息。
提出了一种可验证的环签名系统。
在这个系统中,真正的签名者希望验证者知道他的身份。
那时,真正的签名者可以通过透露他们所拥有的秘密信息来确认他们的身份。

(三)管理体系。
群签名由群管理员管理,而环签名不需要管理。
签名者只需选择一组可能的签名者,获取他们的公钥,然后发布该组。
所有成员都是平等的。

链桥教育在线旗下学说创新区块链技术工作站是教育部规划发展发展中心开展的“智慧学习工坊2020——学说创新工作站”认定的唯一“区块链技术”。

中国教育学报.专业飞行员工作站。
专业基础立足于为学生提供多元化成长路径,推进专业学位产学研一体化培养模式改革,构建应用型人才培养体系和复合型人才。

在区块链中一般使用什么加密算法

区块链通常使用两种主要的加密算法。

公钥/私钥加密算法:该加密算法使用公钥-私钥对。
公钥可以公开分发,但私钥必须保密。
只有拥有私钥的人才能解密使用公钥加密的数据。
这种加密方法广泛用于数字签名和身份验证,以验证数据的来源和完整性。
在区块链中,私钥用于验证交易者的身份,而公钥则广播到网络中的其他节点以验证交易的合法性。
RSA算法:这是一种常用的公钥/私钥加密算法,由RonRivest、AdiShamir和LeonardAdleman于1978年发明。
这是一种非对称加密算法。
也就是说,用于加密的密钥和用于解密的密钥是不同的。
ECDSA(椭圆曲线数字签名算法):这是基于RSA算法的改进版本,使用椭圆曲线加密技术使签名过程更快、更安全。
在区块链中,ECDSA用于验证交易的数字签名。

扩展您的知识:

哈希函数将任意长度的数据(文本、数字等)转换为固定长度(通常为256位)。
它。
或512位))摘要方法。
它们非常快速且非常安全,因为即使更改一小部分数据(即使是很小的更改)也会对哈希结果造成非常大且可能不可逆转的变化。
由于这一特性,哈希函数在区块链中得到了广泛的应用,例如区块的Merkle树结构、交易的数字签名、密码钱包的存储等。

比特币区块链主要使用SHA-256作为其哈希函数。
该算法由DavidChaum和MayraP.Chilomchik于1997年提出。
SHA-256提供了一种高度安全的方式来创建区块链并确保交易的安全。
此外,区块链内的Merkle树结构也是基于SHA-256哈希函数创建的。

以上两种密码算法和哈希函数在区块链中都扮演着非常重要的角色,保证了交易的安全性、完整性和匿名性,并且保证了区链的去中心化和网络的不可篡改。

同时,随着区块链中的数据以区块的形式不断增长,这些密码算法也被用来创建区块头和区块之间的链接,进一步提高区块链的效率。
提升。
性能和安全性。

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

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

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

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

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

6
区块链入门:去中心化数据库的奥秘解析 区块链最直白的解释近年来,“区块链”一词成为热门话题,新闻媒体纷纷报道,然而大家...

7
以太坊2023展望:绿色转型与潜在投资机... 以太坊2023几月份能涨起来以太坊将在2023年上涨10,000美元。一旦实施网...

8
比特币历史回顾与在中国交易时间解析 比特币在中国什么时候开始可以交易的您好,比特币自2009年以0.008美分发行以...

9
盘点区块链行业:排名前十的企业及其产学研... 区块链排名前十的公司都有哪家排名前十的区块链公司有哪些?排名前十的区块链公司包括...

10
中国区块链技术应用解析:医疗、版权与智慧... 中国有哪些区块链应用(中国有哪些区块链应用场景)区块链的应用1.区块链+医疗:在...