一种区块链账户生成的方法技术

技术编号:26693670 阅读:14 留言:0更新日期:2020-12-12 02:49
本发明专利技术属于区块链技术领域,尤其为一种区块链账户生成的方法,根据BIP‑39标准生成助记词,结合加密算法,生成一个固定长度的字节数据,以此作为参数,生成随机数列词作为助记词,生成Seed用于衍生账户私钥,依据hmac<sha3_256>、助记词、pbkdf2等算法计算出衍生密匙,衍生的密钥即为用于衍生账户私钥的Seed,使用生成的Seed去生成用于衍生密钥的PRK;本发明专利技术为开发者提供了一种通用、可复制、安全性高的创建区块账户方法,旨在在一定时期内,提高区块账户生成的安全性,减少区块账户被攻击的风险,其核心是利用层层加密算法得出的结果作为下一步算法的参数进行运算,通过层层运算,生成结果,保证了账户的准确性和唯一性,提高了区块链账户的安全性。

【技术实现步骤摘要】
一种区块链账户生成的方法
本专利技术属于区块链
,具体涉及一种区块链账户生成的方法。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。去中心化,不是不要中心,而是由节点来自由选择中心、自由决定中心。简单地说,中心化的意思,是中心决定节点。节点必须依赖中心,节点离开了中心就无法生存。在去中心化系统中,任何人都是一个节点,任何人也都可以成为一个中心。任何中心都不是永久的,而是阶段性的,任何中心对节点都不具有强制性。节点是区块链分布式系统中的网络节点,是通过网络连接的服务器、计算机、电话等,针对不同性质的区块链,成为节点的方式也会有所不同。以比特币为例,参与交易或挖矿即构成一个节点。随着区块链技术的快速发展,越来越多的业务需要区块账户体系来支撑,而区块账户体系安全性和可扩展维护性对开发者和设计者的要求越来越高,自区块链诞生到现在,已经经过了十多年的考验,由名不经传渐渐走向成熟,在当今社会背景之下,科技发展迅速,技术的更新也日新月异,而它的安全性自始至终都是一个不可忽视的话题。而基于安全性的公钥私钥以及账户的算法以及安全显得尤为重要,现存的基于区块链技术的数字货币中,依赖于一种算法或少数几种算法生成的账户,随着时间的推移,这些算法的可能会被破解的风险就逐渐变大,安全风险在不断的升高。随之账户及密码被破解风险不断变大,一旦发生安全事故,会给用户带来巨大的经济损失,同时对整个分支的账户系统也是巨大的灾难,甚至是灭顶之灾。
技术实现思路
为解决上述
技术介绍
中提出的问题。本专利技术提供了一种区块链账户生成的方法,提高区块链账户的安全性,通过加密算法得到的结果作为下一步算法的参数,保证了账户的准确性和唯一性的特点。为实现上述目的,本专利技术提供如下技术方案:一种区块链账户生成的方法,包括如下步骤:S1、根据BIP-39标准生成助记词:结合加密算法,生成一个固定长度的字节数据,以此作为参数,生成随机数列词作为助记词;S2、生成Seed用于衍生账户私钥:依据hmac<sha3_256>、助记词、pbkdf2等算法计算出衍生密匙,衍生的密钥即为用于衍生账户私钥的Seed;S3、使用生成的Seed去生成用于衍生密钥的PRK:结合固定字符串、seed、hmac、hkdf算法计算伪随机密钥PRK;S4、根据PRK去衍生账号对应的密钥:在此过程中把索引作为上下文,结合散列函数、计算衍生的密钥,再把秘钥转成私钥结构体,算出公钥,计算公钥account_pk的散列值,计算得出的散列值即为账户对应的地址。优选的,步骤S1中的BIP-39标准是一种助记词标准,定义了钱包助记词和种子生成规则。优选的,步骤S2中的sha3是指第三代安全散列算法。优选的,步骤S2中的pbkdf2是基于密码的密钥衍生函数,用来导出密钥的函数,常用于生成加密的密码。优选的,步骤S3中的hmac是基于散列的消息认证码。优选的,步骤S2和步骤S3中的hkdf是基于hmac的密钥派生函数,主要用于根据输入的密钥衍生出新的密钥。与现有技术相比,本专利技术的有益效果是:1、通过本方案,可以生成一个安全可靠,扩展性强的区块链账户;优点如下:只要有了用于生成账号的助记词,等于有了所有的账号、泄漏助记词等于泄漏所有账号,泄漏账号不会泄漏助记词、只要有账号的私钥,就可以推导出账号的公钥、只要有账号的私钥/公钥,就可以推导出账号的地址;2、本专利技术为开发者提供了一种通用、可复制、安全性高的创建区块账户方法,旨在在一定时期内,提高区块账户生成的安全性,减少区块账户被攻击的风险,其核心是利用层层加密算法得出的结果作为下一步算法的参数进行运算,通过层层运算,生成结果;3、本专利技术通过加密算法得到的结果作为下一步算法的参数,保证了账户的准确性和唯一性,提高了区块链账户的安全性。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术区块链账户的加密算法流程示意图;具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1请参阅图1,本专利技术提供以下技术方案:一种区块链账户生成的方法,包括如下步骤:S1、根据BIP-39标准生成助记词:结合加密算法,生成一个固定长度的字节数据,以此作为参数,生成随机数列词作为助记词;S2、生成Seed用于衍生账户私钥:依据hmac<sha3_256>、助记词、pbkdf2等算法计算出衍生密匙,衍生的密钥即为用于衍生账户私钥的Seed;S3、使用生成的Seed去生成用于衍生密钥的PRK:结合固定字符串、seed、hmac、hkdf算法计算伪随机密钥PRK;S4、根据PRK去衍生账号对应的密钥:在此过程中把索引作为上下文,结合散列函数、计算衍生的密钥,再把秘钥转成私钥结构体,算出公钥,计算公钥account_pk的散列值,计算得出的散列值即为账户对应的地址。具体的,步骤S1中的BIP-39标准是一种助记词标准,定义了钱包助记词和种子生成规则。具体的,步骤S2中的sha3是指第三代安全散列算法。具体的,步骤S2中的pbkdf2是基于密码的密钥衍生函数,用来导出密钥的函数,常用于生成加密的密码。具体的,步骤S3中的hmac是基于散列的消息认证码。具体的,步骤S2和步骤S3中的hkdf是基于hmac的密钥派生函数,主要用于根据输入的密钥衍生出新的密钥。实施例2以生成一个libra区块账号为例,随机生成一个助记词并以此生成1个账户,包括如下步骤:S1、根据BIP-39标准生成助记词:生成随机序列,256位的字节数组,根据随机序列生成助记词,以空格分隔的单词串;S2、生成Seed用于衍生账户私钥:利用加密算法把伪随机数生成函数(PesudoRandomFunction),使用助记词作为密码,使用固定字节数组作为盐,设置重复计算次数设置为2048,根据pbkdf2算法计算衍生的密钥,衍生的密钥即为用于衍生账户私钥的Seed;S3、使用生成的Seed去生成用于衍生密钥的PRK:把固定字符串作为盐,把生成的seed作为输入密钥,使用hmac算法依赖的散列函数,通过hkdf的e本文档来自技高网
...

【技术保护点】
1.一种区块链账户生成的方法,其特征在于,包括如下步骤:/nS1、根据BIP-39标准生成助记词:结合加密算法,生成一个固定长度的字节数据,以此作为参数,生成随机数列词作为助记词;/nS2、生成Seed用于衍生账户私钥:依据hmac<sha3_256>、助记词、pbkdf2等算法计算出衍生密匙,衍生的密钥即为用于衍生账户私钥的Seed;/nS3、使用生成的Seed去生成用于衍生密钥的PRK:结合固定字符串、seed、hmac、hkdf算法计算伪随机密钥PRK;/nS4、根据PRK去衍生账号对应的密钥:在此过程中把索引作为上下文,结合散列函数、计算衍生的密钥,再把秘钥转成私钥结构体,算出公钥,计算公钥account_pk的散列值,计算得出的散列值即为账户对应的地址。/n

【技术特征摘要】
1.一种区块链账户生成的方法,其特征在于,包括如下步骤:
S1、根据BIP-39标准生成助记词:结合加密算法,生成一个固定长度的字节数据,以此作为参数,生成随机数列词作为助记词;
S2、生成Seed用于衍生账户私钥:依据hmac<sha3_256>、助记词、pbkdf2等算法计算出衍生密匙,衍生的密钥即为用于衍生账户私钥的Seed;
S3、使用生成的Seed去生成用于衍生密钥的PRK:结合固定字符串、seed、hmac、hkdf算法计算伪随机密钥PRK;
S4、根据PRK去衍生账号对应的密钥:在此过程中把索引作为上下文,结合散列函数、计算衍生的密钥,再把秘钥转成私钥结构体,算出公钥,计算公钥account_pk的散列值,计算得出的散列值即为账户对应的地址。


2.根据权利要求1...

【专利技术属性】
技术研发人员:李忠豫姜红球李浩
申请(专利权)人:深圳区块大陆科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1