指纹识别方法及装置与流程

未命名 10-19 阅读:52 评论:0


1.本发明涉及生物识别技术领域,尤其涉及指纹识别方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.指纹图像匹配是指纹识别的重要环节之一,现阶段,指纹图像匹配方法一般是将当前获得的指纹特征值与存储的指纹特征值模板进行匹配,通过相似度计算和比较得到匹配结果。
4.而常见的匹配模式有1:1的验证模式和1:n的辨识模式,验证模式是根据已知的所有者身份标识得到指纹特征数据库中对应的指纹特征模板,与现场采集的指纹特征进行对比;辨识模式则是根据现场采集的指纹特征与数据库中存储的指纹特征逐一比较的结果,得到该指纹特征对应的所有者身份。相比验证模式,辨识模式下线性匹配的指纹识别效率更受指纹数据量的影响。
5.基于指纹的身份识别,作为应用范围最广泛的生物识别技术,常见使用于国家安全、公共安全、电子商务以及个人信息安全领域,具有所采集、存储的指纹特征数据量庞大的特点,而面对大规模指纹库的指纹识别需要克服的重点就是如何在数据量不断攀升的指纹特征库中尽可能地提升指纹识别的速度和准确性。
6.常见用于提升大规模指纹库识别速度的方法是对所存储的指纹图像进行分类,通过对设备采集的指纹图像进行分类,进而与特定类别下的指纹模板进行匹配,来缩小原线性查找方法的范围,提高识别效率和响应速度。对指纹分类方法的研究旨在通过提出不同的指纹分类标准,划分出区分性更好、准确性更高的指纹分类类别,降低误分类率和分类后需要线性匹配的指纹图像范围。
7.但是,即使采用了多样的指纹分类方法来加快指纹识别数据库,但是对于大规模指纹库来说,分类后同类的指纹数据量也仍然较大,而如果只是通过更准确更细致的指纹分类标准来划分子类,则随着分类精度的上升,子类数目就会相应增加,导致入库指纹特征分类的难度会上升,相应的效率就会降低。因此需要考虑在一定的指纹分类范围下,提升图像匹配的速度,满足应用场景不断外扩下指纹实时识别的需求。


技术实现要素:

8.本发明实施例提供一种指纹识别方法,用以提升指纹识别的效率和准确性,该方法包括:
9.基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;
10.基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;
11.将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;
12.根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;
13.将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;
14.根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
15.本发明实施例还提供一种指纹识别装置,用以提升指纹识别的效率和准确性,该装置包括:
16.第一感知哈希值确定模块,用于基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;
17.陷门生成模块,用于基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;
18.索引匹配模块,用于将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;
19.指纹图像相似度模块,用于根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;
20.目标指纹数据确定模块,用于将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;
21.身份识别模块,用于根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
22.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述指纹识别方法。
23.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述指纹识别方法。
24.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述指纹识别方法。
25.本发明实施例中,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈
希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果,从而基于可搜索加密算法,以索引和感应哈希值进行指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了指纹识别的效率,避免了现有技术下单纯靠指纹分类方法对缩小指纹分类范围反而导致指纹匹配速度变慢的问题,提升了指纹识别的效率和准确性。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
27.图1为本发明实施例中一种指纹识别方法的流程示意图;
28.图2为本发明实施例中一种指纹识别方法的具体示例图;
29.图3为本发明实施例中一种指纹识别方法的具体示例图;
30.图4为本发明实施例中一种指纹识别方法的具体示例图;
31.图5为本发明实施例中一种指纹识别方法的具体示例图;
32.图6为本发明实施例中一种指纹识别方法的具体示例图;
33.图7为本发明实施例中一种指纹识别方法的具体示例图;
34.图8为本发明实施例中一种指纹识别装置的结构示意图;
35.图9为本发明实施例中一种指纹识别装置的具体示例图;
36.图10为本发明实施例中用于指纹识别的计算机设备示意图。
具体实施方式
37.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
38.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至
少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
39.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
40.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
41.本发明实施例涉及下列名词,如下进行解释:
42.可搜索加密:可搜索加密实现了密文数据库中的数据可搜索性,允许数据以密文的形式进行查询处理。一个可搜索加密系统一般包括数据拥有者、数据使用者和云服务器。数据拥有者加密所持有数据,并将密文及其索引商送到云服务器中;数据使用者持关键词在云服务器上对加密数据进行查询,从云服务器获得搜索结果后解密得到原始数据;云服务器提供数据文件的存储、能根据搜索关键词匹配对应的密文文件并返回给数据使用者。
43.哈希函数:给定任意长度的原数据,能输出固定长度的数据,一般用于数据压缩并保证数据的完整性。
44.感知哈希:一种针对多媒体数据(图像、音频)的信息加工理论。将具有相同感知的多媒体内容唯一映射为一段数字摘要。与传统哈希的本质区别在于首先传统哈希函数只具有数据压缩性,不能消除多媒体内容本身的冗余,而感知哈希可以对多媒体内容进行感知层面上的抽象,在保留内容的同时得到精简的摘要;其次传统哈希函数对多媒体内容的任何不同否是敏感的,而感知哈希允许一定程度的失真,即相同感知的多媒体内容仍可以获得相近的哈希值,保证了多媒体内容的鲁棒性。因此,感知哈希既保有传统哈希所具有的数据压缩性,又具备适应多媒体内容的鲁棒性。
45.指纹图像匹配是指纹识别的重要环节之一,现阶段,指纹图像匹配方法一般是将当前获得的指纹特征值与存储的指纹特征值模板进行匹配,通过相似度计算和比较得到匹配结果。
46.而常见的匹配模式有1:1的验证模式和1:n的辨识模式,验证模式是根据已知的所有者身份标识得到指纹特征数据库中对应的指纹特征模板,与现场采集的指纹特征进行对比;辨识模式则是根据现场采集的指纹特征与数据库中存储的指纹特征逐一比较的结果,得到该指纹特征对应的所有者身份。相比验证模式,辨识模式下线性匹配的指纹识别效率更受指纹数据量的影响。
47.基于指纹的身份识别,作为应用范围最广泛的生物识别技术,常见使用于国家安全、公共安全、电子商务以及个人信息安全领域,具有所采集、存储的指纹特征数据量庞大的特点,而面对大规模指纹库的指纹识别需要克服的重点就是如何在数据量不断攀升的指纹特征库中尽可能地提升指纹识别的速度和准确性。
48.常见用于提升大规模指纹库识别速度的方法是对所存储的指纹图像进行分类,通过对设备采集的指纹图像进行分类,进而与特定类别下的指纹模板进行匹配,来缩小原线
性查找方法的范围,提高识别效率和响应速度。对指纹分类方法的研究旨在通过提出不同的指纹分类标准,划分出区分性更好、准确性更高的指纹分类类别,降低误分类率和分类后需要线性匹配的指纹图像范围。
49.但是,即使采用了多样的指纹分类方法来加快指纹识别数据库,但是对于大规模指纹库来说,分类后同类的指纹数据量也仍然较大,而如果只是通过更准确更细致的指纹分类标准来划分子类,则随着分类精度的上升,子类数目就会相应增加,导致入库指纹特征分类的难度会上升,相应的效率就会降低。因此需要考虑在一定的指纹分类范围下,提升图像匹配的速度,满足应用场景不断外扩下指纹实时识别的需求。
50.同时由于生物特征具有唯一性和不可变性,作为人类身份识别的重要标识,其的安全性需求十分重要,即使是云下数据库也要求指纹特征以密文的形式存储,进一步增加了当前指纹分类方法研究和应用的难度。
51.为了解决上述问题,本发明实施例提供了一种指纹识别方法,用以提升指纹识别的效率和准确性,参见图1,该方法可以包括:
52.步骤101:基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;
53.步骤102:基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;
54.步骤103:将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;
55.步骤104:根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;
56.步骤105:将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;
57.步骤106:根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
58.本发明实施例中,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指
纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果,从而基于可搜索加密算法,以索引和感应哈希值进行指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了指纹识别的效率;同时,使用感知哈希指代指纹数据,在保证指纹图像这一多媒体内容的数据完整性的基础上,对指纹图像进行了数据压缩,降低了数据库存储指纹数据的压力,避免了现有技术下因指纹数据库进行密文存储导致数据量更大和响应速度慢的问题,也避免了现有技术下单纯靠指纹分类方法对缩小指纹分类范围反而导致指纹匹配速度变慢的问题,提升了指纹识别的效率和准确性。
59.具体实施时,首先基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值。
60.在一个实施例中,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值,包括:
61.基于采用离散余弦变换的感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值。
62.在上述实施例中,上述输入的指纹数据即为用户输入的指纹数据,目的在于确定该输入的指纹数据对应的身份标识,从而确定输入的指纹数据的用户身份。
63.举一实例,基于采用离散余弦变换的感知哈希算法对指纹原始图像进行特征提取并得到待存储指纹数据的感知哈希序列δ={ω1,ω2,...,ωn}。
64.在一个实施例中,还包括:
65.基于对称密码算法,根据输入的安全参数,计算安全密钥以及生成第一安全哈希函数和第二安全哈希函数;所述安全参数为随机二进制串,且与所述指纹密文云数据库一一对应;所述第一安全哈希函数和第二安全哈希函数之间为抗碰撞关系;
66.建立所述指纹密文云数据库与安全参数、第一安全哈希函数和第二安全哈希函数之间的关联关系;
67.将所述安全密钥发送给用户;所述安全密钥用于在用户输入的安全密钥正确时,对从指纹密文云数据库中确定的目标指纹密文数据进行解密。
68.在上述实施例中,可随机选择一个256位的二进制串k

{0,1}
256
,作为安全参数,从而可根据该安全参数基于对称密码算法,生成安全密钥k’,并生成两个抗碰撞的哈希函数h1:{01}
*

{0,1}
256
,h2:{01}
*

{0,1}
256
。其中,每一建立的指纹密文云数据库与对应的安全参数、第一安全哈希函数和第二安全哈希函数之间相关联。
69.具体实施时,在基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值后,基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门。
70.在一个实施例中,基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门,包括:
71.获取指纹密文云数据库携带的安全密钥、第一安全哈希函数和第二安全哈希函数;
72.按如下公式基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一
感知哈希值的陷门:
73.ki=h1(k||ωi)
74.r=h2(ki||1)
75.t
ω
=(i1,r)
76.其中,r为中间值;ki为第一密钥;h1为第一安全哈希函数,h1:{01}
*

{0,1}
256
;ωi为第i个输入的关键词;k为安全参数;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;t
ω
为第i个输入的关键词对应的陷门。
77.实施例中,ωi为第i个输入的关键词,此处第i个用于区分不同的指纹数据。
78.实施例中,可基于对应所述第一感知哈希值的陷门,实现指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了识别的效率。
79.具体实施时,在基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门后,将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到。
80.实施例中,可搜索加密主要包含加密、陷门生成和检索三个部分,涉及明文数据f={f1,f2,...,fn},关键词δ={ω1,ω2,...,ωn},在指纹图像识别中以指纹图像的感知哈希和对应身份标识为明文数据,以上述构造的感知哈希值序列作为关键词集合。
81.在上述实施例中,指纹密文云数据库中与对应的安全参数、第一安全哈希函数和第二安全哈希函数之间相关联,在指纹密文云数据库中还存储了与索引集合中每一索引对应的预存感知哈希值,而预存感知哈希值与不同身份标识的指纹密文数据关联。
82.在一个实施例中,还包括:
83.如图2所示,可按如下步骤建立所述索引集合:
84.步骤201:根据不同身份标识的不同指纹数据,建立指纹明文数据集合;
85.步骤202:基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列;所述感知哈希序列包括:指纹明文数据集合中不同身份标识的指纹数据所对应的预存感知哈希值;
86.步骤203:基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合。
87.实施例中,可基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列,即实现了建立指纹密文云数据库的过程,完成了数据库中指纹数据的采集和数据关联操作,其中,感知哈希序列包括:指纹明文数据集合中不同身份标识的指纹数据所对应的预存感知哈希值;进一步地,可基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合。
88.在一个具体实施例中,基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列,如图3所示,包括:
89.步骤301:对所述指纹明文数据集合进行特征提取,得到特征集合;
90.步骤302:基于采用离散余弦变换的感知哈希算法,对所述特征集合中每一特征进行感知哈希值计算,得到对应每一指纹数据的预存感知哈希值;
91.步骤303:基于所述对应每一指纹数据的预存感知哈希值、和对应的指纹数据所关联的身份标识,建立对应指纹明文数据集合的感知哈希值序列。
92.实施例中,基于采用离散余弦变换的感知哈希算法,对所述特征集合中每一特征进行感知哈希值计算,得到对应每一指纹数据的预存感知哈希值;基于所述对应每一指纹数据的预存感知哈希值、和对应的指纹数据所关联的身份标识,建立对应指纹明文数据集合的感知哈希值序列,实现了建立指纹密文云数据库的过程,完成了数据库中指纹数据的采集和数据关联操作,有助于在后续步骤中完成对索引集合的匹配操作。
93.在一个具体实施例中,基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合,如图4所示,包括:
94.步骤401:针对关键词组合中每一关键词,确定是否已存在对应该关键词的密钥;若存在,将该存在的密钥确定为第一密钥;若不存在,则基于第一安全哈希函数、安全参数和该关键字,生成第一密钥;
95.步骤402:随机生成第二密钥;
96.步骤403:基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引;
97.步骤404:根据关键词组合中每一关键词的索引,得到对应所述关键词组合的索引集合。
98.实施例中,上述基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合的操作,均可预先建立,从而可对输入的指纹数据完成匹配搜索操作。
99.举一实施例,如可按如下公式基于第一安全哈希函数、安全参数和该关键字,生成第一密钥:
100.ki=h1(k||ωi)
101.其中,ki为第一密钥;h1为第一安全哈希函数,h1:{01}
*

{0,1}
256
;ωi为第i个关键词;k为安全参数。
102.举一实施例,基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引,如图5所示,包括:
103.步骤501:基于第二安全哈希函数和第一密钥,生成对应该关键词的索引的第一分量;
104.步骤502:基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引的第二分量;
105.步骤503:对所述第一分量和所述第二分量进行组合,生成对应该关键词的索引。
106.举一实施例,按如下公式生成对应该关键词的索引的第一分量和第二分量、以及生成对应该关键词的索引:
107.i
i1
=h2(ki||0)
108.109.i=(i
i1
,i
i2
)
110.其中,i
i1
为对应第i个关键词的索引的第一分量;i
i2
为对应第i个关键词的索引的第二分量;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;ki为第一密钥;k
′i为第二密钥;i为对应第i个关键词的索引。
111.在一个具体实施例中,还包括:
112.在针对关键词组合中每一关键词,确定不存在对应该关键词的密钥时,将生成的第一密钥确定为对应该关键词的密钥。
113.在一个实施例中,将所述陷门与预建立的索引集合进行匹配,如图6所示,包括:
114.步骤601:从索引集合中确定第一分量与所述陷门相同的第一目标索引;
115.步骤602:根据第一目标索引的第二分量、所述陷门和第二安全哈希函数,计算目标索引分量;
116.步骤603:从索引集合中确定第一分量与所述目标索引分量相同的第二目标索引;
117.步骤604:并根据第二目标索引的第二分量、所述陷门和第二安全哈希函数,对所述目标索引分量进行更新,重复执行上述步骤,直到确定出索引集合中第一分量与所述更新后的目标索引分量相同的每一目标索引;
118.步骤605:将所述每一目标索引,确定为与所述陷门匹配的索引。
119.在一个具体实施例中,按如下公式计算目标索引分量:
[0120][0121]i′i=h2(k
′i||0)
[0122]
其中,i
i2
为对应第i个关键词的索引的第二分量;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;k
′i为第二密钥;i
′i为目标索引分量;t
ω
为第i个输入的关键词对应的陷门;r为中间值。
[0123]
举一实例,根据搜索陷门t
ω
=(i1,r),从索引中查找与第一个分量相同的i
i1
,并找到对应的密文文件ci,并计算出随机密钥后计算i
′i=h2(k
′i||0),继续从索引中查找和i
′i相同的第一个分量i
j1
。重复以上步骤,直到再查不到存在相同的第一变量的情况。
[0124]
具体实施时,在将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据后,根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度。
[0125]
在一个实施例中,还包括:
[0126]
基于对称加密算法,根据所述安全密钥,对索引集合中每一索引对应的预存感知哈希值所关联的身份标识对应的指纹数据,进行加密,得到对应每一索引的指纹密文数据。
[0127]
实施例中,可对于指纹图像模板,按如下公式经对称加密算法和对称密钥生成密文:
[0128]ci

ε(fi,k’)
[0129]
其中,ci为指纹密文数据;fi为明文指纹数据;k’为安全密钥。
[0130]
在一个实施例中,还包括:
[0131]
按如下方式预建立指纹密文云数据库:
[0132]
以指纹数据的身份标识为基础,将该身份标识的指纹数据对应的指纹密文数据、索引和索引对应的关键词,进行对应存储,建立指纹密文云数据库。
[0133]
在一个实施例中,从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据,包括:
[0134]
根据指纹密文云数据库中包括的与索引集合中每一索引对应的预存感知哈希值,确定与所述陷门匹配的索引对应的:多个第二感知哈希值;
[0135]
根据预存感知哈希值与不同身份标识的指纹密文数据的关联关系,确定每一第二感知哈希值对应的目标指纹密文数据。
[0136]
举一实例,可按如下步骤建立索引集合和指纹密文云数据库:
[0137]
1、对于指纹图像模板,经对称加密算法和对称密钥生成密文ci←
ε(fi,k’);
[0138]
2、对于当前指纹数据对应的感知哈希值ωi,查找是否有已存在的(ωi,ki),若存在则取第一密钥为ki,否则计算ki=h1(k||ωi),并随机生成一个第二密钥k
′i←
{0,1}
256
,计算对应第i个关键词的索引的第一分量:i
i1
=h2(ki||0)、和对应第i个关键词的索引的第二分量:从而得到ωi对应的安全索引i=(i
i1
,i
i2
),并更新(ωi,ki)为(ωi,k
′i)。
[0139]
3、以指纹数据的身份标识为基础,将该身份标识的指纹数据对应的指纹密文数据、索引和索引对应的关键词,进行对应存储,建立指纹密文云数据库。
[0140]
具体实施时,在根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度后,将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据。
[0141]
在一个实施例中,还包括:
[0142]
在接收输入的指纹数据时,接收用户输入的安全密钥;
[0143]
基于对称加密算法,以输入的安全密钥,对目标指纹密文数据进行解密,得到和输出对应目标指纹密文数据的指纹明文数据。
[0144]
举一实例,输入搜索得到的指纹密文数据c={c1,c2,...,ck},可输出解密后的明文指纹数据。密文数据经对称解密算法得到对应的明文数据fi←
d(ci,k’)。
[0145]
具体实施时,在将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据后,根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
[0146]
实施例中,基于离散余弦变换得到的感知哈希序列本质是图像整体特征的描述,因此可以用信息论中的汉明距离来获得图像相似度。按如下公式计算两个感知哈希值之间的汉明距离:
[0147][0148]
从而可设置相似度阈值δ,进而通过比较δ和dis来得到由数据库中搜索到的多个指纹模板中最接近待匹配指纹的图像,并获得对应的身份标识,完成指纹识别。
[0149]
下面给出一个具体实施例,来说明本发明的方法的具体应用,该实施例中,可以包
括如下步骤:
[0150]
本实施例由指纹图像感知哈希构造、可搜索加密、指纹图像相似度比较三个步骤组成,流程图如图7所示,可以包括如下步骤:
[0151]
1、指纹图像感知哈希构造
[0152]
本方案拟基于采用离散余弦变换的感知哈希算法对指纹原始图像进行特征提取并得到待存储指纹数据的感知哈希序列δ={ω1,ω2,...,ωn}。
[0153]
2、可搜索加密
[0154]
主要包含加密、陷门生成和检索三个部分,涉及明文数据f={f1,f2,...,fn},关键词δ={ω1,ω2,...,ωn},在指纹图像识别中以指纹图像的感知哈希和对应身份标识为明文数据,以第一步构造的感知哈希作为关键词集合。
[0155]
1)密钥生成
[0156]
输入一个安全参数,输出安全密钥和安全哈希函数。
[0157]
随机选择一个256位的二进制串k

{0,1}
256
和一个对称密码算法的密钥k

,并生成两个抗碰撞的哈希函数h1:{01}
*

{0,1}
256
,h2:{01}
*

{0,1}
256
[0158]
2)加密
[0159]
输入关键词ωi,输出安全索引ii;输入明文指纹数据fi,输出密文ci。
[0160]
对于指纹图像模板,经对称加密算法和对称密钥生成密文ci←
e(fi,k

);
[0161]
对于当前指纹数据对应的感知哈希ωi,查找是否有已存在的ωi,ki),若存在则取密钥为ki,否则则计算ki=h1(k||ωi),并随机生成一个新密钥k
′i←
{0,1}
256
,计算i
i1
=h2(ki||0)和得到ωi对应的安全索引i=(i
i1
,i
i2
),并更新(ωi,ki)为(ωi,k
′i)。
[0162]
3)陷门生成
[0163]
输入关键词ωi,输出陷门t
ω

[0164]
计算r=h2(ki||1),得到陷门t
ω
=(i1,r)。
[0165]
4)搜索
[0166]
输入陷门t
ω
,输出所匹配的密文文件c。
[0167]
根据搜索陷门t
ω
=(i1,r),从索引中查找与第一个分量相同的i
i1
,并找到对应的密文文件ci,并计算出随机密钥后计算i
′i=h2(k
′i||0),继续从索引中查找和i
′i相同的第一个分量i
j1
。重复以上步骤,直到再查不到存在相同的第一变量的情况
[0168]
5)解密
[0169]
输入搜索得到的c={c1,c2,...,ck},输出解密后的明文指纹数据。密文数据经对称解密算法得到对应的明文数据fi←
d(ci,k

)。
[0170]
3、指纹图像相似度比较
[0171]
基于离散余弦变换得到的感知哈希序列本质是图像整体特征的描述,因此可以用信息论中的汉明距离来获得图像相似度。计算并设置相似度阈值δ,通过比较δ和dis来得到由数据库中搜索到的多个指纹模板中最接近待匹配指纹的图像,并获得对应的身份标识,完成指纹识别。
[0172]
综上,本实施例实现了指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了识别的效率;同时,使用感知哈希作为指纹数据的摘
要,在保证指纹图像这一多媒体内容的数据完整性的基础上对指纹图像进行了数据压缩,降低了数据库存储的压力;克服了指纹数据库密文存储、数据量更大,响应速度要求更快的指纹识别应用现状下,单纯靠指纹分类方法对缩小指纹分类范围,加快指纹匹配速度,提高指纹识别速度的提升效果有限的技术不足,提出了一种基于可搜索加密的图像匹配方法,在行之有效的指纹分类方法的基础上实现一种指纹数据密文搜索方法,提升指纹识别的效率和准确性,并为后续指纹识别的进一步发展提供参考思路。
[0173]
当然,可以理解的是,上述详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
[0174]
本发明实施例中,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果,从而基于可搜索加密算法,以索引和感应哈希值进行指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了指纹识别的效率;同时,使用感知哈希指代指纹数据,在保证指纹图像这一多媒体内容的数据完整性的基础上,对指纹图像进行了数据压缩,降低了数据库存储指纹数据的压力,避免了现有技术下因指纹数据库进行密文存储导致数据量更大和响应速度慢的问题,也避免了现有技术下单纯靠指纹分类方法对缩小指纹分类范围反而导致指纹匹配速度变慢的问题,提升了指纹识别的效率和准确性。
[0175]
本发明实施例中还提供了一种指纹识别装置,如下面的实施例所表述的。由于该装置解决问题的原理与指纹识别方法相似,因此该装置的实施可以参见指纹识别方法的实施,重复之处不再赘述。
[0176]
本发明实施例还提供一种指纹识别装置,用以提升指纹识别的效率和准确性,如图8所示,该装置包括:
[0177]
第一感知哈希值确定模块801,用于基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;
[0178]
陷门生成模块802,用于基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;
[0179]
索引匹配模块803,用于将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每
一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;
[0180]
指纹图像相似度模块804,用于根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;
[0181]
目标指纹数据确定模块805,用于将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;
[0182]
身份识别模块806,用于根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
[0183]
在一个实施例中,第一感知哈希值确定模块,具体用于:
[0184]
基于采用离散余弦变换的感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值。
[0185]
在一个实施例中,如图9所示,还包括:
[0186]
安全参数计算模块901,用于:
[0187]
基于对称密码算法,根据输入的安全参数,计算安全密钥以及生成第一安全哈希函数和第二安全哈希函数;所述安全参数为随机二进制串,且与所述指纹密文云数据库一一对应;所述第一安全哈希函数和第二安全哈希函数之间为抗碰撞关系;
[0188]
建立所述指纹密文云数据库与安全参数、第一安全哈希函数和第二安全哈希函数之间的关联关系;
[0189]
将所述安全密钥发送给用户;所述安全密钥用于在用户输入的安全密钥正确时,对从指纹密文云数据库中确定的目标指纹密文数据进行解密。
[0190]
在一个实施例中,还包括:
[0191]
索引集合建立模块,用于:
[0192]
按如下方式建立所述索引集合:
[0193]
根据不同身份标识的不同指纹数据,建立指纹明文数据集合;
[0194]
基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列;所述感知哈希序列包括:指纹明文数据集合中不同身份标识的指纹数据所对应的预存感知哈希值;
[0195]
基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合。
[0196]
在一个实施例中,索引集合建立模块,具体用于:
[0197]
对所述指纹明文数据集合进行特征提取,得到特征集合;
[0198]
基于采用离散余弦变换的感知哈希算法,对所述特征集合中每一特征进行感知哈希值计算,得到对应每一指纹数据的预存感知哈希值;
[0199]
基于所述对应每一指纹数据的预存感知哈希值、和对应的指纹数据所关联的身份标识,建立对应指纹明文数据集合的感知哈希值序列。
[0200]
在一个实施例中,索引集合建立模块,具体用于:
[0201]
针对关键词组合中每一关键词,确定是否已存在对应该关键词的密钥;若存在,将
该存在的密钥确定为第一密钥;若不存在,则基于第一安全哈希函数、安全参数和该关键字,生成第一密钥;
[0202]
随机生成第二密钥;
[0203]
基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引;
[0204]
根据关键词组合中每一关键词的索引,得到对应所述关键词组合的索引集合。
[0205]
在一个实施例中,还包括:
[0206]
对应关键词的密钥确定模块,用于:
[0207]
在针对关键词组合中每一关键词,确定不存在对应该关键词的密钥时,将生成的第一密钥确定为对应该关键词的密钥。
[0208]
在一个实施例中,索引集合建立模块,具体用于:
[0209]
按如下公式基于第一安全哈希函数、安全参数和该关键字,生成第一密钥:
[0210]ki
=h1(k||ωi)
[0211]
其中,ki为第一密钥;h1为第一安全哈希函数,h1:{01}
*

{0,1}
256
;ωi为第i个关键词;k为安全参数。
[0212]
在一个实施例中,索引集合建立模块,具体用于:
[0213]
基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引,包括:
[0214]
基于第二安全哈希函数和第一密钥,生成对应该关键词的索引的第一分量;
[0215]
基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引的第二分量;
[0216]
对所述第一分量和所述第二分量进行组合,生成对应该关键词的索引。
[0217]
在一个实施例中,索引集合建立模块,具体用于:
[0218]
按如下公式生成对应该关键词的索引的第一分量和第二分量、以及生成对应该关键词的索引:
[0219]ii1
=h2(ki||0)
[0220][0221]
i=(i
i1
,i
i2
)
[0222]
其中,i
i1
为对应第i个关键词的索引的第一分量;i
i2
为对应第i个关键词的索引的第二分量;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;ki为第一密钥;k
′i为第二密钥;i为对应第i个关键词的索引。
[0223]
在一个实施例中,还包括:
[0224]
指纹数据加密模块,用于:
[0225]
基于对称加密算法,根据所述安全密钥,对索引集合中每一索引对应的预存感知哈希值所关联的身份标识对应的指纹数据,进行加密,得到对应每一索引的指纹密文数据。
[0226]
在一个实施例中,还包括:
[0227]
指纹密文云数据库建立模块,用于:
[0228]
按如下方式预建立指纹密文云数据库:
[0229]
以指纹数据的身份标识为基础,将该身份标识的指纹数据对应的指纹密文数据、索引和索引对应的关键词,进行对应存储,建立指纹密文云数据库。
[0230]
在一个实施例中,陷门生成模块,具体用于:
[0231]
获取指纹密文云数据库携带的安全密钥、第一安全哈希函数和第二安全哈希函数;
[0232]
按如下公式基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门:
[0233]ki
=h1(k||ωi)
[0234]
r=h2(ki||1)
[0235]
t
ω
=(i1,r)
[0236]
其中,r为中间值;ki为第一密钥;h1为第一安全哈希函数,h1:{01}
*

{0,1}
256
;ωi为第i个输入的关键词;k为安全参数;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;t
ω
为第i个输入的关键词对应的陷门。
[0237]
在一个实施例中,索引匹配模块,具体用于:
[0238]
从索引集合中确定第一分量与所述陷门相同的第一目标索引;
[0239]
根据第一目标索引的第二分量、所述陷门和第二安全哈希函数,计算目标索引分量;
[0240]
从索引集合中确定第一分量与所述目标索引分量相同的第二目标索引;
[0241]
并根据第二目标索引的第二分量、所述陷门和第二安全哈希函数,对所述目标索引分量进行更新,重复执行上述步骤,直到确定出索引集合中第一分量与所述更新后的目标索引分量相同的每一目标索引;
[0242]
将所述每一目标索引,确定为与所述陷门匹配的索引。
[0243]
在一个实施例中,索引匹配模块,具体用于:
[0244]
按如下公式计算目标索引分量:
[0245][0246]i′i=h2(k
′i||0)
[0247]
其中,i
i2
为对应第i个关键词的索引的第二分量;h2为第二安全哈希函数,h2:{01}
*

{0,1}
256
;k
′i为第二密钥;i
′i为目标索引分量;t
ω
为第i个输入的关键词对应的陷门;r为中间值。
[0248]
在一个实施例中,索引匹配模块,具体用于:
[0249]
根据指纹密文云数据库中包括的与索引集合中每一索引对应的预存感知哈希值,确定与所述陷门匹配的索引对应的:多个第二感知哈希值;
[0250]
根据预存感知哈希值与不同身份标识的指纹密文数据的关联关系,确定每一第二感知哈希值对应的目标指纹密文数据。
[0251]
在一个实施例中,还包括:
[0252]
指纹数据解密模块,用于:
[0253]
在接收输入的指纹数据时,接收用户输入的安全密钥;
[0254]
基于对称加密算法,以输入的安全密钥,对目标指纹密文数据进行解密,得到和输出对应目标指纹密文数据的指纹明文数据。
[0255]
本发明实施例提供一种用于实现上述指纹识别方法中的全部或部分内容的计算机设备的实施例所述计算机设备具体包含有如下内容:
[0256]
处理器(processor)、存储器(memory)、通信接口(communications interface)和
总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该计算机设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该计算机设备可以参照实施例用于实现指纹识别方法的实施例及用于实现指纹识别装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
[0257]
图10为本技术实施例的计算机设备1000的系统构成的示意框图。如图10所示,该计算机设备1000可以包括中央处理器1001和存储器1002;存储器1002耦合到中央处理器1001。值得注意的是,该图10是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
[0258]
一实施例中,指纹识别功能可以被集成到中央处理器1001中。其中,中央处理器1001可以被配置为进行如下控制:
[0259]
基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;
[0260]
基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;
[0261]
将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;
[0262]
根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;
[0263]
将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;
[0264]
根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。
[0265]
在另一个实施方式中,指纹识别装置可以与中央处理器1001分开配置,例如可以将指纹识别装置配置为与中央处理器1001连接的芯片,通过中央处理器的控制来实现指纹识别功能。
[0266]
如图10所示,该计算机设备1000还可以包括:通信模块1003、输入单元1004、音频处理器1005、显示器1006、电源1007。值得注意的是,计算机设备1000也并不是必须要包括图10中所示的所有部件;此外,计算机设备1000还可以包括图10中没有示出的部件,可以参考现有技术。
[0267]
如图10所示,中央处理器1001有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器1001接收输入并控制计算机设备1000的各个部件的操作。
[0268]
其中,存储器1002,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还
可存储执行有关信息的程序。并且中央处理器1001可执行该存储器1002存储的该程序,以实现信息存储或处理等。
[0269]
输入单元1004向中央处理器1001提供输入。该输入单元1004例如为按键或触摸输入装置。电源1007用于向计算机设备1000提供电力。显示器1006用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
[0270]
该存储器1002可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器1002还可以是某种其它类型的装置。存储器1002包括缓冲存储器1021(有时被称为缓冲器)。存储器1002可以包括应用/功能存储部1022,该应用/功能存储部1022用于存储应用程序和功能程序或用于通过中央处理器1001执行计算机设备1000的操作的流程。
[0271]
存储器1002还可以包括数据存储部1023,该数据存储部1023用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由计算机设备使用的数据。存储器1002的驱动程序存储部1024可以包括计算机设备的用于通信功能和/或用于执行计算机设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
[0272]
通信模块1003即为经由天线1008发送和接收信号的发送机/接收机1003。通信模块(发送机/接收机)1003耦合到中央处理器1001,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
[0273]
基于不同的通信技术,在同一计算机设备中,可以设置有多个通信模块1003,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)1003还经由音频处理器1005耦合到扬声器1009和麦克风1010,以经由扬声器1009提供音频输出,并接收来自麦克风1010的音频输入,从而实现通常的电信功能。音频处理器1005可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器1005还耦合到中央处理器1001,从而使得可以通过麦克风1010能够在本机上录音,且使得可以通过扬声器1009来播放本机上存储的声音。
[0274]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述指纹识别方法。
[0275]
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述指纹识别方法。
[0276]
本发明实施例中,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指
纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果,从而基于可搜索加密算法,以索引和感应哈希值进行指纹密文云数据库的搜索匹配,增强了指纹存储的安全性,并保证了指纹识别的可用性,提升了指纹识别的效率;同时,使用感知哈希指代指纹数据,在保证指纹图像这一多媒体内容的数据完整性的基础上,对指纹图像进行了数据压缩,降低了数据库存储指纹数据的压力,避免了现有技术下因指纹数据库进行密文存储导致数据量更大和响应速度慢的问题,也避免了现有技术下单纯靠指纹分类方法对缩小指纹分类范围反而导致指纹匹配速度变慢的问题,提升了指纹识别的效率和准确性。
[0277]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0278]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0279]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0280]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0281]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种指纹识别方法,其特征在于,包括:基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。2.如权利要求1所述的方法,其特征在于,基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值,包括:基于采用离散余弦变换的感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值。3.如权利要求1所述的方法,其特征在于,还包括:基于对称密码算法,根据输入的安全参数,计算安全密钥以及生成第一安全哈希函数和第二安全哈希函数;所述安全参数为随机二进制串,且与所述指纹密文云数据库一一对应;所述第一安全哈希函数和第二安全哈希函数之间为抗碰撞关系;建立所述指纹密文云数据库与安全参数、第一安全哈希函数和第二安全哈希函数之间的关联关系;将所述安全密钥发送给用户;所述安全密钥用于在用户输入的安全密钥正确时,对从指纹密文云数据库中确定的目标指纹密文数据进行解密。4.如权利要求1所述的方法,其特征在于,还包括:按如下方式建立所述索引集合:根据不同身份标识的不同指纹数据,建立指纹明文数据集合;基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列;所述感知哈希序列包括:指纹明文数据集合中不同身份标识的指纹数据所对应的预存感知哈希值;基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合。5.如权利要求4所述的方法,其特征在于,基于感知哈希算法,对所述指纹明文数据集合进行特征提取和感知哈希值计算,得到对应指纹明文数据集合的感知哈希值序列,包括:
对所述指纹明文数据集合进行特征提取,得到特征集合;基于采用离散余弦变换的感知哈希算法,对所述特征集合中每一特征进行感知哈希值计算,得到对应每一指纹数据的预存感知哈希值;基于所述对应每一指纹数据的预存感知哈希值、和对应的指纹数据所关联的身份标识,建立对应指纹明文数据集合的感知哈希值序列。6.如权利要求4所述的方法,其特征在于,基于可搜索加密算法,通过将所述感知哈希序列作为关键词组合,得到对应所述关键词组合的索引集合,包括:针对关键词组合中每一关键词,确定是否已存在对应该关键词的密钥;若存在,将该存在的密钥确定为第一密钥;若不存在,则基于第一安全哈希函数、安全参数和该关键字,生成第一密钥;随机生成第二密钥;基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引;根据关键词组合中每一关键词的索引,得到对应所述关键词组合的索引集合。7.如权利要求6所述的方法,其特征在于,还包括:在针对关键词组合中每一关键词,确定不存在对应该关键词的密钥时,将生成的第一密钥确定为对应该关键词的密钥。8.如权利要求6所述的方法,其特征在于,基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引,包括:基于第二安全哈希函数和第一密钥,生成对应该关键词的索引的第一分量;基于第二安全哈希函数、第一密钥和第二密钥,生成对应该关键词的索引的第二分量;对所述第一分量和所述第二分量进行组合,生成对应该关键词的索引。9.如权利要求3所述的方法,其特征在于,还包括:基于对称加密算法,根据所述安全密钥,对索引集合中每一索引对应的预存感知哈希值所关联的身份标识对应的指纹数据,进行加密,得到对应每一索引的指纹密文数据。10.如权利要求9所述的方法,其特征在于,还包括:按如下方式预建立指纹密文云数据库:以指纹数据的身份标识为基础,将该身份标识的指纹数据对应的指纹密文数据、索引和索引对应的关键词,进行对应存储,建立指纹密文云数据库。11.如权利要求3所述的方法,其特征在于,基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门,包括:获取指纹密文云数据库携带的安全密钥、第一安全哈希函数和第二安全哈希函数;基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门。12.如权利要求8所述的方法,其特征在于,将所述陷门与预建立的索引集合进行匹配,包括:从索引集合中确定第一分量与所述陷门相同的第一目标索引;根据第一目标索引的第二分量、所述陷门和第二安全哈希函数,计算目标索引分量;从索引集合中确定第一分量与所述目标索引分量相同的第二目标索引;并根据第二目标索引的第二分量、所述陷门和第二安全哈希函数,对所述目标索引分
量进行更新,重复执行上述步骤,直到确定出索引集合中第一分量与所述更新后的目标索引分量相同的每一目标索引;将所述每一目标索引,确定为与所述陷门匹配的索引。13.如权利要求12所述的方法,其特征在于,从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的指纹密文数据,包括:根据指纹密文云数据库中包括的与索引集合中每一索引对应的预存感知哈希值,确定与所述陷门匹配的索引对应的:多个第二感知哈希值;根据预存感知哈希值与不同身份标识的指纹密文数据的关联关系,确定每一第二感知哈希值对应的目标指纹密文数据。14.如权利要求3所述的方法,其特征在于,还包括:在接收输入的指纹数据时,接收用户输入的安全密钥;基于对称加密算法,以输入的安全密钥,对目标指纹密文数据进行解密,得到和输出对应目标指纹密文数据的指纹明文数据。15.一种指纹识别装置,其特征在于,包括:第一感知哈希值确定模块,用于基于感知哈希算法,对输入的指纹数据进行特征提取和感知哈希值计算,得到对应输入的指纹数据的特征的第一感知哈希值;陷门生成模块,用于基于可搜索加密算法,根据所述第一感知哈希值,生成对应所述第一感知哈希值的陷门;索引匹配模块,用于将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的:多个第二感知哈希值、以及每一第二感知哈希值对应的目标指纹密文数据;所述指纹密文云数据库包括:与索引集合中每一索引对应的预存感知哈希值;所述预存感知哈希值与不同身份标识的指纹密文数据关联;所述索引通过可搜索加密算法对该索引对应的指纹数据的特征的预存感知哈希值进行计算得到;指纹图像相似度模块,用于根据所述第一感知哈希值、输入的指纹数据、多个第二感知哈希序列值、和每一第二感知哈希值对应的目标指纹密文数据,计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;目标指纹数据确定模块,用于将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据;身份识别模块,用于根据预建立的指纹密文云数据库,将确定的与所述目标指纹数据关联的身份标识,确定为对输入的指纹数据的身份识别结果。16.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14任一所述方法。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至14任一所述方法。18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至14任一所述方法。

技术总结
本发明公开了一种指纹识别方法及装置,涉及生物识别技术领域,该方法包括:根据输入的指纹数据的特征的第一感知哈希值;基于可搜索加密算法,生成对应所述第一感知哈希值的陷门;将所述陷门与预建立的索引集合进行匹配,并从预建立的指纹密文云数据库中,确定与所述陷门匹配的索引对应的多个第二感知哈希值、以及对应的目标指纹密文数据;计算所述输入的指纹数据和每一第二感知哈希值对应的目标指纹密文数据之间的指纹图像相似度;将所述指纹图像相似度小于预设范围的目标指纹密文数据,确定为与输入的指纹数据匹配的目标指纹数据,进而确定输入的指纹数据的身份识别结果。本发明用以提升指纹识别的效率和准确性。用以提升指纹识别的效率和准确性。用以提升指纹识别的效率和准确性。


技术研发人员:廖馨
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.07.12
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐