【技术实现步骤摘要】
层次公私钥对生成方法和装置
本专利技术涉及信息安全
,具体而言,涉及一种层次公私钥对生成方法和装置。
技术介绍
随着互联网技术的迅猛发展,网上交易变得愈发频繁,而数字货币是网络交易中电子货币形式的替代货币。为了保证数字货币流通的安全性,采用了椭圆曲线密码学,基于椭圆曲线密码学的设计使数字货币只能被真实的拥有者支付或转移。基于椭圆曲线密码学的BIP32协议提供了由父私钥、父公钥、父链码及子密钥索引生成子私钥、子公钥和子链码的方法,但是椭圆曲线的相关运算复杂度要远高于其他运算,BIP32协议在生成子公钥的过程中,涉及到多次ECC乘法、ECC加法运算,所以该协议在生成子公钥的过程中的计算复杂度较高,计算效率较低。
技术实现思路
针对上述现有技术中存在的问题,本专利技术提供了一种层次公私钥对生成方法和装置,在保持同等安全强度的条件下,可以降低生成子公钥计算的复杂度,提高计算效率。为了实现上述目的,本专利技术的技术方案如下:本专利技术技术方案一提出了一种层次公私钥对生成方法,根据父公钥、父私钥、父链码及子密钥索引生成子公钥及子链码,所述方法包括:将所述父公钥与所述子密钥索引顺序连接得到第一连接数据;以所述父链码为哈希密钥,根据预设算法计算所述第一连接数据的哈希值;对所述第一连接数据的哈希值进行划分,得到子链码和第一数据;对所述第一数据和所述父公钥进行ECC乘法运算,得到第一运算结果;如果所述第一数据小于预设椭圆曲线基点的阶并且所述第一运算结果不是无穷远点,则将所述第一运算结果作为子公钥;如果所述第一数据大于等于预设椭圆曲线基点的阶或者所述第一运算结果是无穷远点,则 ...
【技术保护点】
1.一种层次公私钥对生成方法,其特征在于,根据父公钥、父私钥、父链码及子密钥索引生成子公钥及子链码,所述方法包括:将所述父公钥与所述子密钥索引顺序连接得到第一连接数据;以所述父链码为哈希密钥,根据预设算法计算所述第一连接数据的哈希值;对所述第一连接数据的哈希值进行划分,得到子链码和第一数据;对所述第一数据和所述父公钥进行ECC乘法运算,得到第一运算结果;如果所述第一数据小于预设椭圆曲线基点的阶并且所述第一运算结果不是无穷远点,则将所述第一运算结果作为子公钥;如果所述第一数据大于等于预设椭圆曲线基点的阶或者所述第一运算结果是无穷远点,则将所述子密钥索引递增,根据所述父公钥、所述父链码及递增后的子密钥索引重新生成子公钥和子链码。
【技术特征摘要】
1.一种层次公私钥对生成方法,其特征在于,根据父公钥、父私钥、父链码及子密钥索引生成子公钥及子链码,所述方法包括:将所述父公钥与所述子密钥索引顺序连接得到第一连接数据;以所述父链码为哈希密钥,根据预设算法计算所述第一连接数据的哈希值;对所述第一连接数据的哈希值进行划分,得到子链码和第一数据;对所述第一数据和所述父公钥进行ECC乘法运算,得到第一运算结果;如果所述第一数据小于预设椭圆曲线基点的阶并且所述第一运算结果不是无穷远点,则将所述第一运算结果作为子公钥;如果所述第一数据大于等于预设椭圆曲线基点的阶或者所述第一运算结果是无穷远点,则将所述子密钥索引递增,根据所述父公钥、所述父链码及递增后的子密钥索引重新生成子公钥和子链码。2.根据权利要求1所述的方法,其特征在于,在所述父公钥与所述子密钥索引顺序连接得到第一连接数据的步骤之前,所述方法还包括:判断所述子密钥索引是否大于或等于预设值;如果是,提示失败;如果否,执行所述父公钥与所述子密钥索引顺序连接得到第一连接数据的步骤。3.根据权利要求1所述的方法,其特征在于,所述对所述第一连接数据的哈希值进行划分,得到子链码和第一数据的步骤,包括:将所述第一连接数据的哈希值的低位端预设长度的数据作为子链码;将所述第一连接数据的哈希值的高位端预设长度的数据作为第一数据;所述低位端预设长度与所述高位端预设长度之和为所述第一连接数据的哈希值的长度。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述父私钥进行高位补位,将所述补位后的父私钥与所述子密钥索引顺序连接得到第二连接数据;以所述父链码为哈希密钥,根据预设算法计算所述第二连接数据的哈希值;对所述第二连接数据的哈希值进行划分,得到子链码和第二数据;以所述椭圆曲线基点的阶为模数,对所述补位前的父私钥和所述第二数据的乘积做模运算,得到第二运算结果;如果所述第二数据小于所述椭圆曲线基点的阶并且所述第二运算结果不为0,则将所述第二运算结果作为子私钥;如果所述第二数据大于等于所述椭圆曲线基点的阶或者所述第二运算结果为0,则将所述子密钥索引递增,根据所述父私钥、所述父链码及所述递增后的子密钥索引重新生成子私钥和子链码;对所述子私钥和所述椭圆曲线的基点做ECC乘法运算,得到子公钥。5.根据权利要求4所述的方法,其特征在于,在所述对所述父私钥进行高位补位,将所述补位后的父私钥与所述子密钥索引顺序连接得到第二连接数据步骤之前,所述方法还包括:判断所述子密钥索引是否大于或等于预设值;如果是,执行所述对父私钥进行高位补位,将补位后的父私钥与子密钥索引顺序连接得到第二连接数据的步骤;如果否,将所述父私钥与所述椭圆曲线的基点做ECC乘法运算,将所述ECC乘法运算结果与子密钥索引顺序连接得到第二连接数据...
【专利技术属性】
技术研发人员:张宇,周海京,张哲,李杰,
申请(专利权)人:数字钱包北京科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。