1.一種適用于數字貨幣的密鑰派生方法,其特征在于,包括:根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼具體包括:
步驟A1、將父公鑰與子密鑰索引順序拼接得到第一拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第一拼接數據的哈希值;
步驟A2、對所述第一拼接數據的哈希值進行截取,得到子鏈碼和第一數據,以預設橢圓曲線的基點的階為模數,對父私鑰和所述第一數據做ECC加法模運算,得到第一運算結果;
步驟A3、判斷所述第一運算結果是否為預設值,是則將子密鑰索引遞增,根據父私鑰、父公鑰、父鏈碼和遞增后的子密鑰索引重新派生子私鑰、子公鑰和子鏈碼;否則將所述第一運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰;
所述父私鑰和所述父公鑰均為所述預設橢圓曲線上的點。
2.如權利要求1所述的方法,其特征在于,所述對所述第一拼接數據的哈希值進行截取,得到子鏈碼和第一數據,具體包括:截取所述第一拼接數據的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第一數據。
3.如權利要求1所述的方法,其特征在于,所述步驟A1之前還包括:比較子密鑰索引和預設值,當子密鑰索引小于所述預設值時,執行步驟A1,否則根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼。
4.如權利要求3所述的方法,其特征在于,所述根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼具體包括:
步驟B1、對父私鑰進行高位端補位,將補位后的父私鑰與子密鑰索引順序拼接得到第二拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第二拼接數據的哈希值;
步驟B2、對所述第二拼接數據的哈希值進行截取,得到子鏈碼和第二數據,以所述預設橢圓曲線的基點的階為模數,對補位前的父私鑰和所述第二數據做ECC加法模運算,得到第二運算結果;
步驟B3、判斷所述第二運算結果是否為預設值,是則將子密鑰索引遞增,根據父私鑰、父鏈碼和遞增后的子密鑰索引重新派生子私鑰、子公鑰和子鏈碼;否則將所述第二運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰。
5.如權利要求4所述的方法,其特征在于,所述對所述第二拼接數據的哈希值進行截取,得到子鏈碼和第二數據,具體包括:截取所述第二拼接數據的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第二數據。
6.如權利要求1所述的方法,其特征在于,所述方法還包括:根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼;
所述根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼具體包括:
步驟C1、將父公鑰與子密鑰索引順序拼接得到第三拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第三拼接數據的哈希值;
步驟C2、對所述第三拼接數據的哈希值進行截取,得到子鏈碼和第三數據,對所述預設橢圓曲線的基點和所述第三數據進行ECC點乘運算,對父公鑰和ECC點乘運算結果做ECC加法運算;
步驟C3、判斷ECC加法運算結果是否為預設值,是則將子密鑰索引遞增,根據父公鑰、父鏈碼和遞增后的子密鑰索引重新派生子公鑰和子鏈碼;否則將所述ECC加法運算結果作為子公鑰。
7.如權利要求6所述的方法,其特征在于,所述步驟C1之前還包括:比較子密鑰索引和預設值,當子密鑰索引小于所述預設值時,執行步驟C1,否則提示失敗。
8.如權利要求6所述的方法,其特征在于,所述對所述第三拼接數據的哈希值進行截取,得到子鏈碼和第三數據,具體包括:截取所述第三拼接數據的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第三數據。
9.如權利要求1所述的方法,其特征在于,所述父私鑰為主私鑰或上一級子私鑰;所述父公鑰為主公鑰或上一級子公鑰;所述父鏈碼為主鏈碼或上一級子鏈碼。
10.如權利要求1所述的方法,其特征在于,所述方法還包括生成主私鑰、主公鑰和主鏈碼;
所述生成主私鑰、主公鑰和主鏈碼具體包括:
步驟D1、獲取一個偽隨機數作為密鑰種子,用預設字符串作為哈希密鑰,根據預設算法計算所述密鑰種子的哈希值;
步驟D2、對所述密鑰種子的哈希值進行截取,得到主鏈碼和主私鑰;
步驟D3、對所述主私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到主公鑰。
11.如權利要求10所述的方法,其特征在于,所述對所述密鑰種子的哈希值進行截取,得到主鏈碼和主私鑰,具體包括:截取所述密鑰種子的哈希值的低位端預設長度的數據作為主鏈碼,高位端預設長度的數據作為主私鑰。
12.一種適用于數字貨幣的密鑰派生裝置,其特征在于,包括:第一派生模塊,用于根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述第一派生模塊具體包括:
第一拼接單元,用于將父公鑰與子密鑰索引順序拼接得到第一拼接數據;
第一哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第一拼接單元得到的第一拼接數據的哈希值;
第一截取單元,用于對所述第一哈希單元得到的第一拼接數據的哈希值進行截取,得到子鏈碼和第一數據;
第一運算單元,用于以預設橢圓曲線的基點的階為模數,對父私鑰和所述第一截取單元得到的第一數據做ECC加法模運算,得到第一運算結果;
第一判斷單元,用于判斷所述第一運算單元得到的第一運算結果是否為預設值;
第一遞增單元,用于當所述第一判斷單元的判斷結果為是時,將子密鑰索引遞增;
第一密鑰獲取單元,用于當所述第一判斷單元的判斷結果為否時,將所述第一運算單元得到的第一運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰;
所述父私鑰和所述父公鑰均為所述預設橢圓曲線上的點。
13.如權利要求12所述的裝置,其特征在于,所述第一截取單元具體用于:截取所述第一哈希單元得到的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第一數據。
14.如權利要求12所述的裝置,其特征在于,所述裝置還包括第一比較模塊和第二派生模塊;
所述第一比較模塊,用于比較子密鑰索引和預設值;
所述第二派生模塊,用于當所述第一比較模塊確定子密鑰索引大于或者等于預設值時,根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述第一派生模塊,具體用于當所述第一比較模塊確定子密鑰索引小于預設值時,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼。
15.如權利要求14所述的裝置,其特征在于,所述第二派生模塊具體包括:
第二拼接單元,用于對父私鑰進行高位端補位,將補位后的父私鑰與子密鑰索引順序拼接得到第二拼接數據;
第二哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第二拼接單元得到的第二拼接數據的哈希值;
第二截取單元,用于對所述第二哈希單元得到的哈希值進行截取,得到子鏈碼和第二數據;
第二運算單元,用于以所述預設橢圓曲線的基點的階為模數,對補位前的父私鑰和所述第二截取單元得到的第二數據做ECC加法模運算,得到第二運算結果;
第二判斷單元,用于判斷所述第二運算單元得到的第二運算結果是否為預設值;
第二遞增單元,用于當所述第二判斷單元的判斷結果為是時,將子密鑰索引遞增;
第二密鑰獲取單元,用于當所述第二判斷單元的判斷結果為否時,將所述第二運算單元得到的第二運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰。
16.如權利要求15所述的裝置,其特征在于,所述第二截取單元具體用于:截取所述第二哈希單元得到的第二拼接數據的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第二數據。
17.如權利要求12所述的裝置,其特征在于,所述裝置還包括:第三派生模塊,用于根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼;
所述第三派生模塊具體包括:
第三拼接單元,用于將父公鑰與子密鑰索引順序拼接得到第三拼接數據;
第三哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第三拼接單元得到的第三拼接數據的哈希值;
第三截取單元,用于對所述第三哈希單元得到的第三拼接數據的哈希值進行截取,得到子鏈碼和第三數據;
第三運算單元,用于對所述預設橢圓曲線的基點和所述第三截取單元得到的第三數據進行ECC點乘運算,對父公鑰和ECC點乘運算結果做ECC加法運算;
第三判斷單元,用于判斷第三運算單元得到的ECC加法運算結果是否為預設值;
第三遞增單元,用于當所述第三判斷單元的判斷結果為是時,將子密鑰索引遞增;
第三密鑰獲取單元,用于當所述第三判斷單元的判斷結果為否時,將所述第三運算單元得到的ECC加法運算結果作為子公鑰。
18.如權利要求17所述的裝置,其特征在于,所述裝置還包括第二比較模塊和提示模塊;
所述第二比較模塊,用于比較子密鑰索引和預設值;
所述提示模塊,用于當所述第二比較模塊確定子密鑰索引大于或者等于預設值時,提示失敗;
所述第三派生模塊,具體用于當所述第二比較模塊確定子密鑰索引小于預設值時,根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼。
19.如權利要求17所述的裝置,其特征在于,所述第三截取單元具體用于:截取所述第三哈希單元得到的第三拼接數據的哈希值的低位端預設長度的數據作為子鏈碼,高位端預設長度的數據作為第三數據。
20.如權利要求12所述的裝置,其特征在于,所述第一派生模塊具體用于:將主私鑰、主公鑰和主鏈碼分別作為父私鑰、父公鑰和父鏈碼,或者將上一級子私鑰、上一級子公鑰和上一級子鏈碼分別作為父私鑰、父公鑰和父鏈碼,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼。
21.如權利要求12所述的裝置,其特征在于,所述裝置還包括:生成模塊,用于生成主私鑰、主公鑰和主鏈碼;
所述生成模塊,具體包括:
第四哈希單元,用于獲取一個偽隨機數作為密鑰種子,用預設字符串作為哈希密鑰,根據預設算法計算所述密鑰種子的哈希值;
第四截取單元,用于對所述第四哈希單元得到的密鑰種子的哈希值進行截取,得到主鏈碼和主私鑰;
第四運算單元,用于對所述第四截取單元得到的主私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到主公鑰。
22.如權利要求21所述的裝置,其特征在于,所述第四截取單元具體用于:截取所述第四哈希單元得到的密鑰種子的哈希值的低位端預設長度的數據作為主鏈碼,高位端預設長度的數據作為主私鑰。
23.一種適用于數字貨幣的密鑰派生方法,其特征在于,包括:分別以數字貨幣錢包的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第一子密鑰索引作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,將派生得到的子私鑰、子公鑰和子鏈碼分別作為數字貨幣賬戶的主私鑰、主公鑰和主鏈碼;
所述根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,具體包括:
步驟A1、將父公鑰與子密鑰索引順序拼接得到第一拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第一拼接數據的哈希值;
步驟A2、對所述第一拼接數據的哈希值進行截取,得到子鏈碼和第一數據,以預設橢圓曲線的基點的階為模數,對父私鑰和所述第一數據做ECC加法模運算,得到第一運算結果;
步驟A3、判斷所述第一運算結果是否為預設值,是則將子密鑰索引遞增,根據父私鑰、父公鑰、父鏈碼和遞增后的子密鑰索引重新派生子私鑰、子公鑰和子鏈碼;否則將所述第一運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰;
所述父私鑰和所述父公鑰均為所述預設橢圓曲線上的點。
24.如權利要求23所述的方法,其特征在于,所述步驟A1之前還包括:比較子密鑰索引和預設值,當子密鑰索引小于所述預設值時,執行步驟A1,否則根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼。
25.如權利要求24所述的方法,其特征在于,所述根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼具體包括:
步驟B1、對父私鑰進行高位端補位,將補位后的父私鑰與子密鑰索引順序拼接得到第二拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第二拼接數據的哈希值;
步驟B2、對所述第二拼接數據的哈希值進行截取,得到子鏈碼和第二數據,以所述預設橢圓曲線的基點的階為模數,對補位前的父私鑰和所述第二數據做ECC加法模運算,得到第二運算結果;
步驟B3、判斷所述第二運算結果是否為預設值,是則將子密鑰索引遞增,根據父私鑰、父鏈碼和遞增后的子密鑰索引重新派生子私鑰、子公鑰和子鏈碼;否則將所述第二運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰。
26.如權利要求23所述的方法,其特征在于,所述方法還包括:獲取密鑰種子和數字貨幣種子,用所述數字貨幣種子作為哈希密鑰,根據預設算法計算所述密鑰種子的哈希值;對所述密鑰種子的哈希值進行截取,得到數字貨幣錢包的主私鑰和主鏈碼;對所述數字貨幣錢包的主私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到數字貨幣錢包的主公鑰。
27.如權利要求23所述的方法,其特征在于,所述方法還包括:
步驟1-1、分別以數字貨幣賬戶的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第二子密鑰索引作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,將派生得到的子私鑰、子公鑰和子鏈碼分別作為第一子私鑰、第一子公鑰和第一子鏈碼;
步驟1-2、分別以所述第一子公鑰和所述第一子鏈碼為父公鑰和父鏈碼,將第三子密鑰索引作為子密鑰索引,根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼,將派生得到的子公鑰作為第二子公鑰;
步驟1-3、對所述第二子公鑰進行編碼,得到數字貨幣收取地址。
28.如權利要求27所述的方法,其特征在于,所述根據父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼,具體包括:
步驟C1、將父公鑰與子密鑰索引順序拼接得到第三拼接數據;用父鏈碼作為哈希密鑰,根據預設算法計算所述第三拼接數據的哈希值;
步驟C2、對所述第三拼接數據的哈希值進行截取,得到子鏈碼和第三數據,對所述預設橢圓曲線的基點和所述第三數據進行ECC點乘運算,對父公鑰和ECC點乘運算結果做ECC加法運算;
步驟C3、判斷ECC加法運算的結果是否為預設值,是則將子密鑰索引遞增,根據父公鑰、父鏈碼和遞增后的子密鑰索引重新派生子公鑰和子鏈碼;否則將ECC加法運算的結果作為子公鑰。
29.如權利要求28所述的方法,其特征在于,所述步驟C1之前還包括:比較子密鑰索引和預設值,當子密鑰索引小于所述預設值時,執行步驟C1,否則提示失敗。
30.如權利要求28所述的方法,其特征在于,所述步驟C3中,當判斷ECC加法運算的結果不為預設值時,還包括:將子密鑰索引的當前值保存為數字貨幣收取地址索引;
所述方法還包括:
步驟2-1、分別以數字貨幣賬戶的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第二子密鑰索引作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,將派生得到的子私鑰、子公鑰和子鏈碼分別作為第一子私鑰、第一子公鑰和第一子鏈碼;
步驟2-2、分別以所述第一子私鑰、第一子公鑰和第一子鏈碼為父私鑰、父公鑰和父鏈碼,將各已保存的數字貨幣收取地址索引依次作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,將派生得到的子公鑰作為第二子公鑰;
步驟2-3、對各第二子公鑰分別進行編碼,得到各數字貨幣收取地址;
步驟2-4、依次查詢和累加各數字貨幣收取地址中的數字貨幣的數量,得到數字貨幣賬戶的數字貨幣量。
31.如權利要求23所述的方法,其特征在于,所述方法還包括:
步驟3-1、分別以數字貨幣賬戶的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第二子密鑰索引作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,將派生得到的子私鑰、子公鑰和子鏈碼分別作為第一子私鑰、第一子公鑰和第一子鏈碼;
步驟3-2、分別以所述第一子私鑰、第一子公鑰和第一子鏈碼為父私鑰、父公鑰和父鏈碼,將第三子密鑰索引作為子密鑰索引,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼,得到預設數目的第二子私鑰、第二子公鑰和第二子鏈碼;
步驟3-3、對各第二子公鑰分別進行編碼,得到預設數目的數字貨幣收取地址;
步驟3-4、依次查詢各數字貨幣收取地址中是否有數字貨幣,若均沒有則將已查詢到的有數字貨幣的數字貨幣收取地址中的數據貨幣數量依次相加,得到數字貨幣賬戶的數字貨幣量;否則返回步驟3-2得到新的預設數目的第二子私鑰、第二子公鑰和第二子鏈碼,然后執行步驟3-3。
32.一種適用于數字貨幣的密鑰派生裝置,其特征在于,包括:
第一獲取模塊,用于分別以數字貨幣錢包的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第一子密鑰索引作為子密鑰索引;
第一派生模塊,用于根據所述第一獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
賬戶密鑰生成模塊,用于將所述第一派生模塊派生的子私鑰、子公鑰和子鏈碼分別作為數字貨幣賬戶的主私鑰、主公鑰和主鏈碼;
所述第一派生模塊具體包括:
第一拼接單元,用于將父公鑰與子密鑰索引順序拼接得到第一拼接數據;
第一哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第一拼接單元得到的第一拼接數據的哈希值;
第一截取單元,用于對所述第一哈希單元得到的第一拼接數據的哈希值進行截取,得到子鏈碼和第一數據;
第一運算單元,用于以預設橢圓曲線的基點的階為模數,對父私鑰和所述第一截取單元得到的第一數據做ECC加法模運算,得到第一運算結果;
第一判斷單元,用于判斷所述第一運算單元得到的第一運算結果是否為預設值;
遞增單元,用于當所述第一判斷單元的判斷結果為是時,將子密鑰索引遞增;
第一密鑰獲取單元,用于當所述第一判斷單元的判斷結果為否時,將所述第一運算單元得到的第一運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰;
所述父私鑰和所述父公鑰均為所述預設橢圓曲線上的點。
33.如權利要求32所述的裝置,其特征在于,所述第一派生模塊,具體包括:
第一比較子模塊,用于比較子密鑰索引和預設值;
第一派生子模塊,用于當所述第一比較子模塊確定子密鑰索引小于預設值時,根據父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
第二派生子模塊,用于當所述第一比較子模塊確定子密鑰索引大于或者等于預設值時,根據父私鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼。
34.如權利要求33所述的裝置,其特征在于,所述第二派生子模塊具體包括:
第二拼接單元,用于對父私鑰進行高位端補位,將補位后的父私鑰與子密鑰索引順序拼接得到第二拼接數據;
第二哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第二拼接單元得到的第二拼接數據的哈希值;
第二截取單元,用于對所述第二哈希單元得到的哈希值進行截取,得到子鏈碼和第二數據;
第二運算單元,用于以所述預設橢圓曲線的基點的階為模數,對補位前的父私鑰和所述第二截取單元得到的第二數據做ECC加法模運算,得到第二運算結果;
第二判斷單元,用于判斷第二運算單元得到的第二運算結果是否為預設值;
第二遞增單元,用于當所述第二判斷單元的判斷結果為是時,將子密鑰索引遞增;
第二密鑰獲取單元,用于當所述第二判斷單元的判斷結果為否時,將所述第二運算單元得到的第二運算結果作為子私鑰,對子私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到子公鑰。
35.如權利要求32所述的裝置,其特征在于,所述裝置還包括:錢包密鑰生成模塊,用于獲取密鑰種子和數字貨幣種子,用所述數字貨幣種子作為哈希密鑰,根據預設算法計算所述密鑰種子的哈希值;對所述密鑰種子的哈希值進行截取,得到數字貨幣錢包的主私鑰和主鏈碼;對所述數字貨幣錢包的主私鑰和所述預設橢圓曲線的基點做ECC點乘運算,得到數字貨幣錢包的主公鑰。
36.如權利要求32所述的裝置,其特征在于,所述裝置還包括:第二獲取模塊,用于分別以數字貨幣賬戶的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第二子密鑰索引作為子密鑰索引;
所述第一派生模塊,還用于根據所述第二獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述裝置還包括:第三獲取模塊、第二派生模塊和貨幣收取地址生成模塊;
所述第三獲取模塊,用于將所述第一派生模塊根據所述第二獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生的子公鑰和子鏈碼分別作為父公鑰和父鏈碼,將第三子密鑰索引作為子密鑰索引;
所述第二派生模塊,用于根據所述第三獲取模塊獲取的父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼;
所述貨幣收取地址生成模塊,用于對所述第二派生模塊派生的子公鑰進行編碼,得到數字貨幣收取地址。
37.根據權利要求36所述的裝置,其特征在于,所述第二派生模塊,具體包括:
第三拼接單元,用于將父公鑰與子密鑰索引順序拼接得到第三拼接數據;
第三哈希單元,用于用父鏈碼作為哈希密鑰,根據預設算法計算所述第三拼接單元得到的第三拼接數據的哈希值;
第三截取單元,用于對所述第三哈希單元得到的第三拼接數據的哈希值進行截取,得到子鏈碼和第三數據;
第三運算單元,用于對所述橢圓曲線的基點和所述第三截取單元得到的第三數據進行ECC點乘運算,對父公鑰和ECC點乘運算結果做ECC加法運算;
第三判斷單元,用于判斷第三運算單元得到的ECC加法運算結果是否為預設值;
第三遞增單元,用于當所述第三判斷單元的判斷結果為是時,將子密鑰索引遞增;
第三密鑰獲取單元,用于當所述第三判斷單元的判斷結果為否時,將所述第三運算單元得到的ECC加法運算結果作為子公鑰。
38.如權利要求37所述的裝置,其特征在于,所述第二派生模塊具體包括:
第二比較子模塊,用于比較所述第三獲取模塊獲取的子密鑰索引和預設值;
提示子模塊,用于當所述第二比較子模塊確定所述第三獲取模塊獲取的子密鑰索引大于或者等于預設值時,提示失敗;
派生子模塊,用于當所述第二比較子模塊確定所述第三獲取模塊獲取的子密鑰索引小于預設值時,根據所述第三獲取模塊獲取的父公鑰、父鏈碼和子密鑰索引派生子公鑰和子鏈碼。
39.如權利要求37所述的裝置,其特征在于:
所述第三密鑰獲取單元還用于:將子密鑰索引的當前值保存為數字貨幣收取地址索引;
所述裝置還包括:第四獲取模塊,用于將所述第一派生模塊根據所述第二獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生的子私鑰、子公鑰和子鏈碼分別作為父私鑰、父公鑰和父鏈碼,將所述第三密鑰獲取單元中保存的各數字貨幣收取地址索引依次作為子密鑰索引;
所述第一派生模塊還用于:根據所述第四獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述裝置還包括:賬戶貨幣查詢模塊,用于將所述第一派生模塊根據所述第四獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生的各子公鑰分別進行編碼,得到各數字貨幣收取地址,依次查詢和累加各數字貨幣收取地址中的數字貨幣的數量,得到數字貨幣賬戶的數字貨幣量。
40.如權利要求32所述的裝置,其特征在于:
所述裝置還包括:第二獲取模塊,用于以數字貨幣賬戶的主私鑰、主公鑰和主鏈碼為父私鑰、父公鑰和父鏈碼,將第二子密鑰索引作為子密鑰索引;
所述第一派生模塊,還用于根據所述第二獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生子私鑰、子公鑰和子鏈碼;
所述裝置還包括:第三獲取模塊,用于將所述第一派生模塊根據所述第二獲取模塊獲取的父私鑰、父公鑰、父鏈碼和子密鑰索引派生的子公鑰和子鏈碼分別作為父公鑰和父鏈碼,將第三子密鑰索引作為子密鑰索引;
所述第一派生模塊,還用于根據所述第三獲取模塊獲取的父公鑰、父鏈碼和子密鑰索引派生預設數目的子私鑰、子公鑰和子鏈碼;
所述裝置還包括:貨幣收取地址生成模塊,用于對所述第一派生模塊根據所述第三獲取模塊獲取的父公鑰、父鏈碼和子密鑰索引派生的預設數目的子私鑰分別進行編碼,得到預設數目的數字貨幣收取地址,依次查詢各數字貨幣收取地址中是否有數字貨幣,當均沒有時將已查詢到的有數字貨幣的數字貨幣收取地址中的數據貨幣數量依次相加,得到數字貨幣賬戶的數字貨幣量。