密钥生成方法、装置及离线密钥生成设备与流程

文档序号:15566979发布日期:2018-09-29 03:34阅读:348来源:国知局

本申请涉及区块链虚拟代币技术领域,具体而言,涉及一种密钥生成方法、装置及离线密钥生成设备。



背景技术:

随着去中心化和区块链技术的发展,如比特币的虚拟代币使用越来越广泛,虚拟代币安全使用和资产管理越来越受到重视。在一些资产管理场景中,例如在多个层级部门的公司的资产管理中,需要分层级地对资产进行管理,上级部门需要可以了解并掌控下级部门的资产使用。但是在现有技术中的区块链虚拟代币中,用户通过自己的私钥生成对应的公钥进而生成资产地址,并通过私钥对交易过程加密,仅能做到对自己的资产进行管理,不适用于具有多层级的资产管理场景。



技术实现要素:

为了克服现有技术中的上述不足,本申请的目的在于提供一种密钥生成方法,应用于离线密钥生成设备,所述方法包括:

在离线状态下通过所述离线密钥生成设备随机生成种子密码,并接收用户输入的支付密码;

根据所述种子密码及所述支付密码生成预设长度的第1级私钥;

随机生成一个第k级随机数,针对每个第k级私钥,根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥,其中,k大于等于1。

可选地,在上述方法中,

在所述根据所述种子密码及所述支付密码生成预设长度的第1级私钥的步骤之后,所述方法包括:

根据所述第1级私钥生成第1级公钥;

在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥的步骤之后,所述方法还包括:

根据所述第k+1级私钥生成第k+1级公钥。

可选地,在上述方法中,在所述根据所述第1级私钥生成第1级公钥的步骤之后,所述方法还包括:

根据所述第1级公钥生成第1级虚拟代币资产地址;

在所述根据所述第k+1级私钥生成第k+1级公钥的步骤之后,所述方法还包括:

根据所述第k+1级公钥生成第k+1级虚拟代币资产地址。

可选地,在上述方法中,在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥的步骤之后,所述方法还包括:

记录所述第k+1级随机数与所述k+1级私钥的对应关系。

本申请的另一目的在于提供一种密钥生成装置,应用于离线密钥生成设备;所述装置包括:

接收模块,用于在离线状态下通过所述离线密钥生成设备随机生成种子密码,并接收用户输入的支付密码;

第一私钥生成模块,用于根据所述种子密码及所述支付密码生成预设长度的第1级私钥;

第二私钥生成模块,用于随机生成一个第k级随机数,针对每个第k级私钥,根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥,其中,k大于等于1。

可选地,在上述装置中,所述装置还包括:

第一公钥生成模块,用于在所述根据所述种子密码及所述支付密码生成预设长度的第1级私钥之后,根据所述第1级私钥生成第1级公钥;

第二公钥生成模块,用于在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,根据所述第k+1级私钥生成第k+1级公钥。

可选地,在上述装置中,所述装置还包括:

第一地址生成模块,用于在根据所述第1级私钥生成第1级公钥之后,根据所述第1级公钥生成第1级虚拟代币资产地址;

第二地址生成模块,用于在根据所述第k+1级私钥生成第k+1级公钥之后,根据所述第k+1级公钥生成第k+1级虚拟代币资产地址。

可选地,在上述装置中,所述装置还包括:

记录模块,用于在根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,记录所述第k+1级随机数与所述k+1级私钥的对应关系。

本申请的另一目的在于提供一种离线密钥生成设备,包括arm处理单元、机器可读存储介质,所述机器可读存储介质存储有能够被所述arm处理单元执行的机器可执行指令,所述arm处理单元执行所述机器可执行指令以实现本申请提供的密钥生成方法。

本申请的另一目的在于提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现本申请提供的密钥生成方法。

相对于现有技术而言,本申请具有以下有益效果:

本申请提供的密钥生成方法、装置及离线密钥生成设备,通过离线密钥生成设备根据用户输入的支付密码和随机生成的种子密码,迭代自动生成多个层级的私钥。如此,通过上述方法生成的多个层级的私钥中,私钥分发后,拥有上一级私钥的部门也可以独立生成下级的私钥,以实现对下级部门资产的支配管理。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的离线密钥生成设备的示意图;

图2为本申请实施例提供的密钥生成方法的流程示意图;

图3为本申请实施例提供的密钥生成装置的功能模块示意图之一;

图4为本申请实施例提供的密钥生成装置的功能模块示意图之二。

图标:100-离线密钥生成设备;110-密钥生成装置;111-接收模块;112-加密模块;113-第一私钥生成模块;114-第二私钥生成模块;115-第一公钥生成模块;116-第二公钥生成模块;117-第一地址生成模块;118-第二地址生成模块;119-记录模块;120-机器可读存储介质;130-arm处理单元;140-输入单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参照图1,图1是本申请较佳实施例提供的离线密钥生成设备100的方框示意图。所述离线密钥生成设备100至少包括密钥生成装置110、机器可读存储介质120、arm处理单元130及输入单元140。

所述机器可读存储介质120、arm处理单元130以及输入单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述密钥生成装置110包括至少一个可以软件或固件(firmware)的形式存储于所述机器可读存储介质120中或固化在所述离线密钥生成设备100的操作系统(operatingsystem,os)中的软件功能模块。所述arm处理单元130用于执行所述机器可读存储介质120中存储的可执行模块,例如所述密钥生成装置110所包括的软件功能模块及计算机程序等。

其中,所述机器可读存储介质120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,机器可读存储介质120用于存储程序,所述arm处理单元130在接收到执行指令后,执行所述程序。所述输入单元140用于接收用户的输入。

请参照图2,图2为应用于图1所示的离线密钥生成设备100的一种密钥生成方法的流程图,以下将对所述方法包括各个步骤进行详细阐述。

步骤s110,在离线状态下通过所述离线密钥生成设备随机生成种子密码,并接收用户输入的支付密码。

在本实施例中,所述离线密钥生成设备在离线状态下通过输入单元接收用户输入的支付密码,并自动随机的生成种子密码。其中,所述种子密码可以包括英文、中文或数字中的任意一种或其之间的组合。

步骤s120,通过加密芯片,根据所述支付密码对所述种子密码进行加密储存。

在本实施例中,所述离线密钥生成设备中设置有专门的加密芯片,所述种子密码并非直接明文保存于离线密钥生成设备,而是根据支付密码通过加密芯片对所述种子密码加密后保存如果丢失种子密码或者忘记支付密码,将永远无法恢复虚拟代币钱包。如此,大大提高密码种子存储的安全性。

步骤s130,根据所述种子密码及所述支付密码生成预设长度的第1级私钥。

在本实施例中,生成所述种子密码及所述支付密码后,可以根据所述种子密码及所述支付密码生成所述第1级私钥。

进一步地,在本实施例中,在根据所述种子密码及所述支付密码生成所述第1级私钥之后,可以根据所述第1级私钥生成第1级公钥。

进一步地,在本实施例中,在根据所述第1级私钥生成第1级公钥之后,根据所述第1级公钥生成第1级虚拟代币资产地址。

基于上述步骤,所述第1级私钥可以由权限最高的用户持有,以对之后生成的下级私钥进行支配管理。

步骤s140,随机生成一个第k级随机数,针对每个第k级私钥,根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥,其中,k大于等于1。

例如,根据第1级私钥及第1级随机数可以生城2^32个第2级私钥,针对每个第2级私钥,根据该第2级私钥及随机生成的第2级随机数,可以生成2^32个第3级私钥,以此类推,形成多个层级的私钥。

进一步地,在本实施例中,在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,根据所述第k+1级私钥生成第k+1级公钥。

进一步地,在本实施例中,在所述根据所述第k+1级私钥生成第k+1级公钥之后,根据所述第k+1级公钥生成第k+1级虚拟代币资产地址。

进一步地,在本实施例中,在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,记录所述第k+1级随机数与所述k+1级私钥的对应关系。如此,各级管理者可以根据该第k级私钥及所述第k级随机数独立地生成下一级私钥,而不需要依赖上一级私钥,即管理者可以对下一级私钥进行支配管理。

请参照图3,本实施例还提供一种密钥生成装置,应用于图1所示的离线密钥生成设备,所述装置包括接收模块、加密模块、第一私钥生成模块及第二私钥生成模块。

所述接收模块,用于通过所述离线密钥生成设备随机生成种子密码,并接收用户输入的支付密码。

本实施例中,所述接收模块可用于执行图2所示的步骤s110,关于所述接收模块的具体描述可参对所述步骤s110的描述。

所述加密模块,用于通过加密芯片,根据所述支付密码对所述种子密码进行加密储存。

本实施例中,所述加密模块可用于执行图2所示的步骤s120,关于所述加密模块的具体描述可参对所述步骤s120的描述。

所述第一私钥生成模块,用于根据所述种子密码及所述支付密码生成预设长度的第1级私钥。

本实施例中,所述第一私钥生成模块可用于执行图2所示的步骤s130,关于所述第一私钥生成模块的具体描述可参对所述步骤s130的描述。

所述第二私钥生成模块,用于随机生成一个第k级随机数,针对每个第k级私钥,根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥,其中,k大于等于1。

本实施例中,所述第二私钥生成模块可用于执行图2所示的步骤s140,关于所述第二私钥生成模块的具体描述可参对所述步骤s140的描述。

进一步地,请参照图4,在本实施例中,所述密钥生成装置还包括第一公钥生成模块及第二公钥生成模块。

所述第一公钥生成模块,用于在所述根据所述种子密码及所述支付密码生成预设长度的第1级私钥之后,根据所述第1级私钥生成第1级公钥。

所述第二公钥生成模块,用于在所述根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,根据所述第k+1级私钥生成第k+1级公钥。

进一步地,请再次参照图4,在本实施例中,所述密钥生成装置还包括第一地址生成模块及第二地址生成模块。

所述第一地址生成模块,用于在根据所述第1级私钥生成第1级公钥之后,根据所述第1级公钥生成第1级虚拟代币资产地址;

所述第二地址生成模块,用于在根据所述第k+1级私钥生成第k+1级公钥之后,根据所述第k+1级公钥生成第k+1级虚拟代币资产地址。

进一步地,请再次参照图4,在本实施例中,所述密钥生成装置还包括记录模块。

所述记录模块,用于在根据该第k级私钥及所述第k级随机数生成预设数量的第k+1级私钥之后,记录所述第k+1级随机数与所述k+1级私钥的对应关系。

综上所述,本申请提供的密钥生成方法、装置及离线密钥生成设备,通过离线密钥生成设备根据用户输入的支付密码和随机生成的种子密码,迭代自动生成多个层级的私钥。如此,通过上述方法生成的多个层级的私钥中,私钥分发后,拥有上一级私钥的部门也可以独立生成下级的私钥,以实现对下级部门资产的支配管理。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1