一种区块链用户私钥的产生方法技术

技术编号:19865835 阅读:22 留言:0更新日期:2018-12-22 13:46
本发明专利技术公开了一种区块链用户私钥的产生方法,用于解决私钥安全问题。本发明专利技术方法包括如下步骤:(1)选择至少2个特征集,分别计算每一个特征集的Hash值,(2)把所述至少2个特征集的Hash值进行异或运算,再计算所述异或运算结果的Hash值,把所述异或运算结果的Hash值作为用户私钥。本发明专利技术利用Hash算法的随机性扩散和不可逆的特点,利用用户可以控制的参数的Hash值作为私钥,可以帮助解决私钥的归属证明问题和私钥的找回问题,有助于解决私钥防丢失和防盗问题。本发明专利技术可以广泛应用于采用随机数作为非对称密码算法私钥的应用系统,特别是在区块链网络中具有良好的应用前景。

【技术实现步骤摘要】
一种区块链用户私钥的产生方法
本专利技术属于区块链及其私钥安全
,尤其涉及一种区块链用户私钥的产生方法。
技术介绍
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本。在区块链系统中,私钥是每个用户自己生成并且自己负责保管的随机数,理论上没有第三方的参与,所以私钥一旦丢失,便失去对账户资产的管控。以目前的算力和技术,从钱包地址或公钥倒推私钥是不可行的。因此,对于区块链用户来说,私钥就是一切。由于目前还缺少行之有效的解决方案,所以区块链特别是比特币的用户面临着因私钥丢失或被盗而造成数字资产损失的风险,解决用户私钥安全问题对提升区块链网络的安全性具有非常重要的实际意义。
技术实现思路
针对区块链用户私钥安全的迫切需求和现有技术的不足,为了解决用户私钥的所有权归属证明问题和安全问题,本专利技术提供了一种区块链用户私钥的产生方法,其特征在于,包括如下步骤:(1)选择至少2个特征集,分别计算每一个特征集的Hash值,(2)把所述至少2个特征集的Hash值进行异或运算,再计算所述异或运算结果的Hash值,把所述异或运算结果的Hash值作为用户私钥。进一步的,上述步骤(1)和步骤(2)中的Hash值包括采用相同的Hash算法产生的Hash值和采用不相同的Hash算法产生的Hash值。进一步的,上述计算每一个特征集Hash值的方法包括但不限于:计算所述特征集中至少两个元素的Hash值,再计算所述至少两个元素的Hash值的异或值,把所述异或值作为特征集的Hash值,或者,再计算所述异或值的Hash值,把所述异或值的Hash值作为特征集的Hash值。进一步的,上述方法,还包括输出与特征集对应的提示信息,其中所述提示信息的内部包括但不限于相应特征集的类别和范围。进一步的,上述私钥包括抗量子计算的公钥算法的私钥和ECC算法的私钥,其中,ECC算法的私钥包括但不限于256比特、384比特和512比特的私钥。进一步的,上述特征集的类别包括但不限于用户生物特征集、用户的个人隐私信息集、用户口令集。进一步的,上述用户生物特征集的元素包括但不限于指纹特征、手纹特征、面部特征和语音特征。进一步的,上述用户的个人隐私信息集的元素包括但不限于与用户相关的某些名词、名称和数字序列。进一步的,上述Hash值包括采用国家标准和国际标准Hash算法和抗量子计算的Hash算法得到的输出结果。与现有技术相比,本专利技术方法具有以下显著创新性:本专利技术利用Hash算法的随机性扩散和不可逆的特点,利用用户可以控制参数的Hash值作为私钥,在满足私钥随机性要求的前提下合理引入用户参数,可以有效解决私钥的归属证明问题和私钥的找回问题,从而实现用户私钥的安全保护,即防丢失也防被盗取。本专利技术可以广泛应用于采用随机数作为私钥的应用系统,特别是在区块链网络中具有良好的应用前景。附图说明图1为本专利技术的用户私钥产生方法实施例一的原理图,图2为本专利技术的用户私钥产生方法实施例二的原理图,图3为本专利技术的用户私钥产生方法实施例三的原理图。具体实施方式为使本专利技术的技术方案及优点更加清楚,作为本专利技术的一部分,以下结合附图及具体实施例,对本专利技术作进一步详细的说明。本专利技术适用于所有采用随机数作为非对称密码算法的私钥产生,本专利技术不具体限定相应公钥产生的方法(比如,可以采用比特币的公钥产生方法secp256k1)。本专利技术中所使用的Hash值包括采用标准Hash算法(比如MD5、SHA_256等)和抗量子计算的Hash算法(比如抗量子标准算法)得到的输出结果。本专利技术方法中所使用的多个Hash值可以采用同一个Hash算法产生,也可以采用多个Hash算法的组合产生。通常情况下,区块链用户节点随机产生一个随机数作为私钥,但是,该私钥不具有用户特征。私钥被盗后,用户没有有效的手段控制风险;私钥丢失后,用户也没有办法找回。本专利技术利用Hash算法的随机性扩散和不可逆的特点,利用用户可以控制的参数的Hash值作为私钥,可以帮助解决私钥的归属证明问题和私钥的找回问题,有助于解决私钥防丢失和防盗问题。作为一个优选的实施例,本专利技术的用户私钥产生方法实施例一如图1所示,其步骤为:(1)该实施例选择“最难忘同学的姓名”和“最难忘老师的姓名”作为用户的个人隐私信息集的两个元素,分别计算两个元素的Hash值,再计算这两个元素的Hash值的异或值,再计算该异或值的Hash值,把该异或值的Hash值作为个人隐私信息集的Hash值(记为H1);该实施例选择两个不同的口令作为口令集的元素,采用上述同样的方法计算口令集的Hash值(记为H2);(2)计算(H1⊕H2)的Hash值并得到用户的私钥。为了帮助用户记忆这个私钥,系统产生一组助记词或用户把上述各个特征集的元素特征作为助记词。作为另一个优选的实施例,如图2所示的本专利技术的用户私钥产生方法实施例二采用多个Hash算法提升私钥的随机性,其步骤为:(1)该实施例选择“最难忘同学的姓名”和“最难忘老师的姓名”作为用户的个人隐私信息集的两个元素,分别采用Hash1计算两个元素的Hash值,再计算这两个元素的Hash值的异或值,再采用Hash2计算该异或值的Hash值,把该异或值的Hash值作为个人隐私信息集的Hash值(记为H1);该实施例选择两个不同的口令作为口令集的元素,分别采用Hash2计算两个元素的Hash值,再计算这两个元素的Hash值的异或值,再采用Hash1计算该异或值的Hash值,把该异或值的Hash值作为个人隐私信息集的Hash值(记为H2);(2)采用Hash3计算(H1⊕H2)的Hash并得到用户的私钥。为了帮助用户记忆这个私钥,系统产生一组助记词或用户把上述各个特征集的元素特征作为助记词。图3是一个具有较低复杂度的本专利技术的用户私钥产生方法实施例,其步骤为:(1)该实施例选择“最难忘同学的姓名”和“最难忘老师的姓名”作为用户的个人隐私信息集的两个元素,分别采用Hash1计算两个元素的Hash值,再计算这两个元素的Hash值的异或值,把该异或值作为个人隐私信息集的Hash值(记为H1);该实施例选择两个不同的口令作为口令集的元素,分别采用Hash2计算两个元素的Hash值,再计算这两个元素的Hash值的异或值,把该异或值作为个人隐私信息集的Hash值(记为H2);(2)采用Hash3计算(H1⊕H2)的Hash并得到用户的私钥。为了帮助用户记忆这个私钥,系统产生一组助记词或用户把上述各个特征集的元素特征作为助记词。对于上述实施例中的方法,通过选择不同数量(至少两个)的特征集、选择特征集的不同元素、选择不一样的Hash算法组合等,可以产生本专利技术方法的多种实施例。需要说明的是,本专利技术方法可以广泛用于私钥的产生,而不仅限于用于区块链用户私钥的产生。以上所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。本领域普通技术人员在未做出创造性劳动前提下所获得的其他直接采用本专利技术方法的实施例,都属于本专利技术保护的范围。本文档来自技高网...

【技术保护点】
1.一种区块链用户私钥的产生方法,其特征在于,包括如下步骤:(1)选择至少2个特征集,分别计算每一个特征集的Hash值,(2)把所述至少2个特征集的Hash值进行异或运算,再计算所述异或运算结果的Hash值,把所述异或运算结果的Hash值作为用户私钥。

【技术特征摘要】
1.一种区块链用户私钥的产生方法,其特征在于,包括如下步骤:(1)选择至少2个特征集,分别计算每一个特征集的Hash值,(2)把所述至少2个特征集的Hash值进行异或运算,再计算所述异或运算结果的Hash值,把所述异或运算结果的Hash值作为用户私钥。2.根据权利要求1所述的一种区块链用户私钥的产生方法,其特征在于,所述步骤(1)和步骤(2)中的Hash值包括采用相同的Hash算法产生的Hash值和采用不相同的Hash算法产生的Hash值。3.根据权利要求1所述的一种区块链用户私钥的产生方法,其特征在于,所述计算每一个特征集Hash值的方法包括:计算所述特征集中至少两个元素的Hash值,再计算所述至少两个元素的Hash值的异或值,把所述异或值作为特征集的Hash值,或者,再计算所述异或值的Hash值,把所述异或值的Hash值作为特征集的Hash值。4.根据权利要求1所述的一种区块链用户私钥的产生方法,其特征在于,还包括输...

【专利技术属性】
技术研发人员:陈晖郑海燕
申请(专利权)人:成都量安区块链科技有限公司
类型:发明
国别省市:四川,51

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

1