安全保存区块链私钥的方法及装置制造方法及图纸

技术编号:22946122 阅读:14 留言:0更新日期:2019-12-27 17:28
本发明专利技术公开了一种安全保存区块链私钥的方法及装置,方法包括:输入私钥PK;设定N个子密码PW

The method and device of saving blockchain private key safely

【技术实现步骤摘要】
安全保存区块链私钥的方法及装置
本专利技术涉及区块链领域,特别涉及一种安全保存区块链私钥的方法及装置。
技术介绍
私钥(PrivateKey)是完全随机的一串字符,是区块链系统或应用中,鉴定用户身份及操作权限的唯一信息,类似于传统系统中的“用户账号+密码”的组合。传统信息化系统有唯一的所有者,可以通过修改或重置中心化数据库的信息帮助用户找回账号及密码,区别于传统信息化系统,区块链的权限最大程度的被分散,因此私钥丢失后,即无法找回链上资产,这一问题是长久以来困扰区块链应用普及的关键问题。现有的技术方案主要是通过助记词、脑钱包、Keystore和中心化托管四种方式将私钥转化为另一形式的信息保存。现有的技术方案及缺陷如下:助记词:由于私钥是无规则的字符串,极难记忆,因此在创建钱包的过程,会将私钥根据一个公开的规则映射成生成一串助记词,让用户备份,助记词一般由12个单词构成,2个单词之间由1个空格隔开,这些单词都来源于一个固定词库,是由私钥根据一定算法得来,所以私钥与助记词之间的转换是互通的,因此助记词实际上就是私钥的另一种表现形式。该方案的缺点是,助记词依然无法通过托管或授权的方式交给第三方保管,仅仅是私钥的记忆方法,并不能起到有效保护私钥备份的作用。脑钱包:脑钱包就是提示用户自己想好的一串他易于记忆且独有的英文单词,将这串英文单词映射到用户的私钥,即通过一定的计算机算法即可将这串英文字符转化成64位的私钥和地址。这样用户就只需要记住其特有的英文句子,用脑子记住私钥,让用户的虚拟资产存在其大脑,没有实物存在。类似于助记词,该技术方案也有极大的风险,抛开失忆不说,人是情感动物,无法做到电脑般冷冰冰的随机,写出的单词句子总是有规律可循的,如果仅仅是一句名人名言,或者是书里的某个句子,很容易就被计算机破解了。KeyStore:KeyStore就是JSON格式的字符串,一般以文件形式存储。常见于以太坊钱包,一般创建以太坊钱包后,会提示备份Keystore,它是一串代码,日后都可以用任何以太坊钱包解开密码。Keystore的本质是加密后的私钥,Keystore必须配合钱包密码来使用,因此其缺点明显,备份了Keystore但忘记了钱包密码仍是不能被任何一方破解,无法起到有效安全备份私钥的功能。中心化托管:中心化托管就是把私钥以明文或者加密的方式,托管保存在第三方中心服务器,需要的时候从第三方中心服务器取回使用。常见于交易所和中心化钱包。对于明文托管保存的方式,用户已经实际上失去了私钥,只能依赖平台的信用和安全性。对于加密托管保存的方式,缺点与KeyStore一样,用户一旦忘记密码即遗失掉私钥,无法起到有效安全备份私钥的功能。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种安全性较高、具有容错性、可自由调节容错与安全的平衡、实现去中心化托管、避免意外或误操作造成的私钥备份丢失的安全保存区块链私钥的方法及装置。本专利技术解决其技术问题所采用的技术方案是:构造一种安全保存区块链私钥的方法,包括如下步骤:A)输入私钥PK;B)设定N个子密码PW1~n,并选择解密阈值M,其中,N>0,0<M≤N;C)执行信息分解算法Decompose,将所述私钥PK分解出N个解PK1~PKn,作为子私钥;D)通过对称性加密算法Encrypt,用子密码PW1~PWn分别对子私钥PK1~PKn进行加密处理,生成对应子密文S1~Sn;E)对于子密码PW1~PWn中的每个子密码,用户输入对应的提示信息H1~Hn;F)将所述提示信息H1~Hn及子密文S1~Sn组合打包,生成密码包PKG,用户自行保管所述密码包PKG。在本专利技术所述的安全保存区块链私钥的方法中,在所述步骤F)之后还包括如下步骤:G)提取所述密码包PKG中的提示信息H1~Hn,并分别向用户进行提示;H)用户根据所述提示信息H1~Hn的提示,分别填入子密码PW1~PWn;I)提取所述密码包PKG中的子密文S1~Sn;J)通过相对应的对称性解密算法Decrypt,用所述子密码PW1~PWn分别对所述子密文S1~Sn进行解密,还原出所述子私钥PK1~PKn;K)通过信息合并算法Combine,当所述子私钥PK1~PKn中正确的数量不少于M时,则正确还原出私钥PK。在本专利技术所述的安全保存区块链私钥的方法中,所述私钥PK为非对称性加密和签名算法的密码对中自己持有的部分,非对称性加密算法为RSA、Elgamal、Rabin或ECC加密算法。在本专利技术所述的安全保存区块链私钥的方法中,所述对称性加密算法Encrypt为DES、TDEA、RC2、RC4、RC5、Blowfish或AES加密算法。本专利技术还涉及一种实现上述安全保存区块链私钥的方法的装置,包括:私钥输入单元:用于输入私钥PK;子密码设置单元:用于设定N个子密码PW1~n,并选择解密阈值M,其中,N>0,0<M≤N;私钥分解单元:用于执行信息分解算法Decompose,将所述私钥PK分解出N个解PK1~PKn,作为子私钥;加密单元:用于通过对称性加密算法Encrypt,用子密码PW1~PWn分别对子私钥PK1~PKn进行加密处理,生成对应子密文S1~Sn;提示信息输入单元:用于对于子密码PW1~PWn中的每个子密码,用户输入对应的提示信息H1~Hn;组合打包单元:用于将所述提示信息H1~Hn及子密文S1~Sn组合打包,生成密码包PKG,用户自行保管所述密码包PKG。在本专利技术所述的装置中,还包括:提示信息提取单元:用于提取所述密码包PKG中的提示信息H1~Hn,并分别向用户进行提示;子密码填入单元:用于使用户根据所述提示信息H1~Hn的提示,分别填入子密码PW1~PWn;子密文提取单元:用于提取所述密码包PKG中的子密文S1~Sn;解密单元:用于通过相对应的对称性解密算法Decrypt,用所述子密码PW1~PWn分别对所述子密文S1~Sn进行解密,还原出所述子私钥PK1~PKn;私钥还原单元:用于通过信息合并算法Combine,当所述子私钥PK1~PKn中正确的数量不少于M时,则正确还原出私钥PK。在本专利技术所述的装置中,所述私钥PK为非对称性加密和签名算法的密码对中自己持有的部分,非对称性加密算法为RSA、Elgamal、Rabin或ECC加密算法。在本专利技术所述的装置中,所述对称性加密算法Encrypt为DES、TDEA、RC2、RC4、RC5、Blowfish或AES加密算法。实施本专利技术的安全保存区块链私钥的方法及装置,具有以下有益效果:由于输入私钥PK;设定N个子密码PW1~n,并选择解密阈值M,其中,N>0,0<M≤N;执行信息分解算法Decompose,将私钥PK分解出N个解PK1~PKn,作为子私钥;通过对称性加密算法Encrypt,用子密码本文档来自技高网
...

【技术保护点】
1.一种安全保存区块链私钥的方法,其特征在于,包括如下步骤:/nA)输入私钥PK;/nB)设定N个子密码PW

【技术特征摘要】
1.一种安全保存区块链私钥的方法,其特征在于,包括如下步骤:
A)输入私钥PK;
B)设定N个子密码PW1~n,并选择解密阈值M,其中,N>0,0<M≤N;
C)执行信息分解算法Decompose,将所述私钥PK分解出N个解PK1~PKn,作为子私钥;
D)通过对称性加密算法Encrypt,用子密码PW1~PWn分别对子私钥PK1~PKn进行加密处理,生成对应子密文S1~Sn;
E)对于子密码PW1~PWn中的每个子密码,用户输入对应的提示信息H1~Hn;
F)将所述提示信息H1~Hn及子密文S1~Sn组合打包,生成密码包PKG,用户自行保管所述密码包PKG。


2.根据权利要求1所述的安全保存区块链私钥的方法,其特征在于,在所述步骤F)之后还包括如下步骤:
G)提取所述密码包PKG中的提示信息H1~Hn,并分别向用户进行提示;
H)用户根据所述提示信息H1~Hn的提示,分别填入子密码PW1~PWn;
I)提取所述密码包PKG中的子密文S1~Sn;
J)通过相对应的对称性解密算法Decrypt,用所述子密码PW1~PWn分别对所述子密文S1~Sn进行解密,还原出所述子私钥PK1~PKn;
K)通过信息合并算法Combine,当所述子私钥PK1~PKn中正确的数量不少于M时,则正确还原出私钥PK。


3.根据权利要求1所述的安全保存区块链私钥的方法,其特征在于,所述私钥PK为非对称性加密和签名算法的密码对中自己持有的部分,非对称性加密算法为RSA、Elgamal、Rabin或ECC加密算法。


4.根据权利要求1至3任意一项所述的安全保存区块链私钥的方法,其特征在于,所述对称性加密算法Encrypt为DES、TDEA、RC2、RC4、RC5、Blowfish或AES加密算法。


5.一种实现如权利要求1所述的安全保...

【专利技术属性】
技术研发人员:黎展波
申请(专利权)人:广州易波区块链技术有限公司
类型:发明
国别省市:广东;44

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

1