基于指纹信息的区块链电子钱包的私钥生成方法及系统与流程

文档序号:17833634发布日期:2019-06-05 23:17阅读:353来源:国知局
基于指纹信息的区块链电子钱包的私钥生成方法及系统与流程

本申请属于信息安全技术领域,具体涉及一种基于指纹信息的区块链电子钱包的私钥生成方法及系统。



背景技术:

基于区块链的电子钱包技术中,非对称加密技术对交易的安全性、可靠性有着至关重要的影响。非对称加密技术中,公钥与私钥通过加密算法生成,公钥用于加密、私钥用于解密。一般情况下,电子钱包用户的公钥与私钥在注册时生成,且保持不变。私钥由用户自身持有,不能透露给其他人,否则其交易的安全性将受到极大地威胁。

现有技术中公钥与私钥基于加密算法的条件随机生成,并存储于某数据库或设备中。虽然私钥的存储环境可能是安全的、保密的,但是仍然不能完全避免私钥被窃取的风险。如果私钥存储在某一运营商的中心化数据库内,则还可能面临运营商违规查看用户私钥的风险。基于区块链的个人电子钱包的最大优势是去中心化的存储方式,如果私钥由运营商中心化储存,则不能充分发挥区块链的特点与优势。

实际应用过程中,运营商通过采集用户的指纹,与数据库或设备中记录的指纹数据进行比对,生成核验结果。在用户通过验证后将其指纹信息与对应的私钥直接进行关联。然而,私钥往往与用户的指纹特征信息关联性弱,一旦私钥丢失或忘记携带存储端,则无法再现,只能重新生成私钥。另外,当用户存储私钥的手机、平板电脑等设备失窃时,用户的私钥将面临被盗用的风险。

由上述可见,无论客户端进行存储还是运营商处进行存储,私钥都不能有效地避免被盗用的风险,也就无法避免交易安全受到的威胁。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种基于指纹信息的区块链电子钱包的私钥生成方法及系统。

根据本申请实施例的第一方面,本申请提供了一种基于指纹信息的区块链电子钱包的私钥生成方法,其包括以下步骤:

对用户指纹进行图像采集;

对指纹图像进行二值化处理,得到二值化指纹图像;

从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合;

根据特征点集合得到归一化后的矩阵;

利用归一化后的矩阵生成用户指纹对应的私钥。

如上所述的私钥生成方法,所述步骤从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合的具体过程为:

对二值化指纹图像中的各像素点进行扫描,选定某像素点q;

利用某像素点q的八邻域像素图中的八个像素点的像素值计算分类参数,其中,分类参数n采用以下公式计算得到:

式中,pi表示q的八邻域像素图中第i个像素点的像素值;

根据分类参数n确定该像素点为端点还是分叉点;

对二值化指纹图像进行去噪声处理,得到去噪后的端点和分叉点;

利用去噪后的端点和分叉点构建特征点集合。

进一步地,所述步骤根据分类参数n确定该像素点为端点还是分叉点的过程为:

当n=1时,该像素点q为端点;

当n=3时,该像素点q为分叉点。

进一步地,所述步骤对二值化指纹图像进行去噪声处理,得到去噪后的端点和分叉点的具体过程为:

以某个端点为起点,沿该端点所在的脊线移动z个像素,如果在z个像素之内遇到分叉点,则判定该分叉点为噪声点,并剔除该噪声点;

遍历二值化指纹图像中所有的端点和脊线,剔除所有噪声点;

其中,z为可调参数,根据指纹图像的大小和分辨率进行调整。

如上所述的私钥生成方法,所述步骤根据特征点集合得到归一化后的矩阵的具体过程为:

假设特征点集合q中有k个元素,对于k个元素中的每个元素,分别查找与该元素距离最近的两个元素,并计算该三个元素中任意两个元素之间的欧氏距离;

将某元素对应的三个欧式距离按照预设顺序进行排序,排序得到的三个欧式距离构成距离向量d;

利用k个元素中各元素对应的距离向量构成二维距离向量d0;

对于二维距离向量d0中的每个元素,计算该元素包含的三个欧式距离的和值,并将该和值按照预设顺序进行排序,排序后的和值对应的元素包含的欧式距离构成k行3列的矩阵d;

对k行3列的矩阵d中的每一列元素进行归一化处理,得到归一化后的矩阵

进一步地,所述步骤对k行3列的矩阵d中的每一列元素进行归一化处理的过程为:

式中,m=1,2,3,…,k,i=2或3;表示归一化后的元素,dm,i表示矩阵d中第m行第i列的元素,dm,1表示矩阵d中第m行第1列的元素。

如上所述的私钥生成方法,所述步骤利用归一化后的矩阵生成用户指纹对应的私钥的具体过程为:

对归一化后的矩阵中的每个元素计算其对应的四舍五入后的整数

式中,round表示按四舍五入规则取整;λ表示可调参数,其为非负整数;

按照预设顺序排列生成用户指纹对应的私钥。

根据本申请实施例的第二方面,本申请提供了一种私钥生成系统,其包括:

图像采集模块,用于采集用户的指纹信息;

二值化处理模块,用于对指纹图像进行二值化处理,得到二值化指纹图像;

集合构建模块,用于从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合;

归一化矩阵生成模块,利用特征点集合中的各个元素生成归一化矩阵;

生成模块,利用归一化后的矩阵生成用户指纹对应的私钥。

根据本申请实施例的第三方面,本申请提供了一种基于指纹信息的区块链电子钱包的私钥生成装置,其包括:

处理器,

所述处理器能够从区块链上调用智能合约,

所述智能合约包括计算机程序,

所述计算机程序在所述处理器上运行时,执行以下步骤:

对用户指纹进行图像采集;

对指纹图像进行二值化处理,得到二值化指纹图像;

从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合;

根据特征点集合得到归一化后的矩阵;

利用归一化后的矩阵生成用户指纹对应的私钥。

根据本申请实施例的第四方面,本申请提供了一种基于区块链的个人电子钱包,其包括私钥,所述私钥由上述任一项所述的私钥生成方法生成,所述私钥生成方法作为智能合约存储在区块链上。

根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请私钥生成方法基于强认证生物特征信息生成私钥,私钥与用户的指纹特征信息关联性强,能够提升私钥的安全性,使私钥不会轻易被推算出具体的取值。采用本申请基于区块链的个人电子钱包的创建方法,私钥不再需要存储,能够避免被盗用和违规使用的风险。本申请能够强化区块链个人电子钱包的去中心化特性。不需要存储介质,当私钥丢失或忘记携带存储设备时也能够依据用户的指纹特征信息进行重现。

应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。

附图说明

下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。

图1为本申请具体实施方式提供的一种基于指纹信息的区块链电子钱包的私钥生成方法的流程图。

图2为本申请具体实施方式提供的一种基于指纹信息的区块链电子钱包的私钥生成系统的结构示意图。

图3为本申请具体实施方式提供的一种基于区块链的个人电子钱包的应用状态示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。

本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。

实施例一

图1是本申请一实施例提供的一种基于指纹信息的区块链电子钱包的私钥生成方法的流程图。如图1所示,基于指纹信息的区块链电子钱包的私钥生成方法包括以下步骤:

s1、对用户指纹进行图像采集。

s2、对指纹图像进行二值化处理,得到二值化指纹图像。

s3、从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合,其具体过程为:

需要说明的是,指纹特征点包括指纹脊线的端点和分叉点。其中,端点指脊线的末梢,分叉点指三条脊线的交叉点。

s31、对二值化指纹图像中的各像素点进行扫描,选定某像素点q。

s32、利用某像素点q的八邻域像素图中的八个像素点的像素值计算分类参数n。其中,分类参数n采用以下公式计算得到:

式中,pi表示q的八邻域像素图中第i个像素点的像素值。

s33、根据分类参数n确定该像素点为端点还是分叉点,具体地,当n=1时,该像素点q为端点;当n=3时,该像素点q为分叉点。

s34、对二值化指纹图像进行去噪声处理,得到去噪后的端点和分叉点,其具体过程为:

以某个端点为起点,沿该端点所在的脊线移动z个像素,如果在z个像素之内遇到分叉点,则判定该分叉点为噪声点,并剔除该噪声点。

遍历二值化指纹图像中所有的端点和脊线,剔除所有噪声点。

其中,z为可调参数,可以根据指纹图像的大小和分辨率进行调整。

s35、利用去噪后的端点和分叉点构建特征点集合q。

s4、根据特征点集合q得到归一化后的矩阵,其具体过程为:

s41、假设特征点集合q中有k个元素,对于k个元素中的每个元素,分别查找与该元素距离最近的两个元素,并计算该三个元素中任意两个元素之间的欧氏距离。

假设k个元素中的任一元素为q0,在集合q中查找与元素q0距离最近的两个元素q1和q2,分别计算元素q0与q1之间的欧式距离d1,q1与q2之间的欧式距离d2,q2与q0之间的欧式距离d2。

s42、将元素q0对应的三个欧式距离按照预设顺序进行排序,排序得到的三个欧式距离构成距离向量d。

具体地,可以将d1、d2和d3按照从小到大的顺序进行排列。假设欧氏距离d1、d2和d3按照从小到大的顺序排序后得到的距离向量为:d=(d1,d2,d3)

s43、利用k个元素中各元素对应的距离向量构成二维距离向量d0。

s44、对于二维距离向量d0中的每个元素,计算该元素包含的三个欧式距离的和值,并将该和值按照预设顺序进行排序,排序后的和值对应的元素包含的欧式距离构成k行3列的矩阵d。

其中,例如,k行3列的矩阵d的形式可以为:

s45、对k行3列的矩阵d中的每一列元素进行归一化处理,得到归一化后的矩阵

其中,对k行3列的矩阵d中的每一列元素进行归一化处理的过程为:

式中,m=1,2,3,…,k,i=2或3;表示归一化后的元素,dm,i表示矩阵d中第m行第i列的元素,dm,1表示矩阵d中第m行第1列的元素。

例如,步骤s44中k行3列的矩阵d的归一化后的矩阵可以为:

s5、利用归一化后的矩阵生成用户指纹对应的私钥,其具体过程为:

s51、对归一化后的矩阵中的每个元素计算其对应的四舍五入后的整数具体地,可以采用以下公式得到:

式中,round表示按四舍五入规则取整;λ表示可调参数,其为非负整数,可以取值为1,2,……。

s52、按照预设顺序排列生成用户指纹对应的私钥。

例如,利用步骤s45中得到的归一化后的矩阵当λ=1时可以生成以下形式的私钥:

1252611316……11416。

本申请私钥生成方法基于强认证生物特征信息生成私钥,私钥与用户的指纹特征信息关联性强,能够提升私钥的安全性,使私钥不会轻易被推算出具体的取值。

实施例二

如图2所示,在以上基于指纹信息的区块链电子钱包的私钥生成方法的基础上,本申请还提供了一种基于指纹信息的区块链电子钱包的私钥生成系统,其包括图像采集模块1、二值化处理模块2、集合构建模块3、归一化矩阵模块4和生成模块5。

其中,图像采集模块1用于采集用户的指纹信息。

二值化处理模块2用于对指纹图像进行二值化处理,得到二值化指纹图像。

集合构建模块3用于从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合。

归一化矩阵模块4利用特征点集合中的各个元素生成归一化矩阵。

生成模块5利用归一化后的矩阵生成用户指纹对应的私钥

具体地,集合构建模块3包括像素点扫描模块、分类参数计算模块、特征点确定模块、去噪模块和集合建立模块。

像素点扫描模块用于对二值化指纹图像中的各像素点进行扫描,并确定某像素点。

分类参数计算模块利用某像素点的八邻域像素图中的八个像素点的像素值计算分类参数

特征点确定模块用于根据分类参数确定该像素点为端点还是分叉点。

去噪模块用于对二值化指纹图像进行去噪声处理,得到去噪后的端点和分叉点。

集合建立模块利用去噪后的端点和分叉点构建特征点集合。

具体地,归一化矩阵模块4包括欧式距离计算模块、排序模块、二维距离向量建立模块、矩阵建立模块和归一化模块。

其中,欧式距离计算模块用于对特征点集合中的各个元素以及与其距离最近的两个元素两两之间的欧式距离进行计算。

排序模块用于对特征点集合中的各个元素对应的三个欧式距离分别进行排序,并利用排序后得到的三个欧式距离构成距离向量。

二维距离向量建立模块利用各个元素对应的距离向量构成二维距离向量。

矩阵建立模块用于计算二维距离向量中的每个元素包含的三个欧式距离的和值,并根据和值进行排序,排序后的和值对应的元素包含的欧式距离构成多行三列的矩阵。

归一化模块用于对多行三列的矩阵中的每一列元素进行归一化处理,得到归一化后的矩阵。

具体地,生成模块5包括取整模块和排序生成模块。

其中,取整模块用于对归一化后的矩阵中的每个元素计算其四舍五入后的整数。

排序生成模块用于按照预设顺序排列生成用户指纹对应的私钥。

需要说明的是:上述实施例提供的私钥生成系统仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将私钥生成系统内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的私钥生成系统与私钥生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请私钥生成系统基于强认证生物特征信息生成私钥,私钥与用户的指纹特征信息关联性强,能够提升私钥的安全性,使私钥不会轻易被推算出具体的取值。

基于上述私钥生成系统中各模块的硬件实现,为了实现本申请实施例提供的基于指纹信息的区块链电子钱包的私钥生成方法,本申请实施例还提供了一种基于指纹信息的区块链电子钱包的私钥生成装置,其包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器。其中所述处理器用于运行所述计算机程序时,执行如下步骤:

对用户指纹进行图像采集。

对指纹图像进行二值化处理,得到二值化指纹图像。

从二值化指纹图像中提取指纹特征点,并根据提取出的所有指纹特征点构建特征点集合。

根据特征点集合得到归一化后的矩阵。

利用归一化后的矩阵生成用户指纹对应的私钥。

在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由私钥生成系统中的处理器执行,以完成上述私钥生成方法中的所述步骤。计算机可读存储介质可以是磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory)等存储器。

实施例三

如图3所示,本申请还提供了一种基于区块链的个人电子钱包,其包括私钥,私钥由上述任一私钥生成方法生成,私钥生成方法作为智能合约存储在区块链上。当用户需要获取私钥时,只需要从区块链上调用智能合约,利用私钥生成方法即可重新生成用户指纹对应的私钥。

采用本申请基于指纹信息的区块链电子钱包的私钥生成方法,私钥不再需要记录,能够避免被盗用和违规使用的风险。该方法能够强化区块链个人电子钱包的去中心化特性。不需要存储介质,当私钥丢失或忘记携带存储设备时也能够依据用户的指纹特征信息进行重现。另外,基于强认证生物特征的私钥生成方法能够有效地提升私钥的安全性,使私钥不能轻易被推算出具体的取值。

以上所述仅为本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。

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