CN116522370B - 全同态加密认证方法、存储介质及电子设备 - Google Patents

全同态加密认证方法、存储介质及电子设备 Download PDF

Info

Publication number
CN116522370B
CN116522370B CN202310804202.0A CN202310804202A CN116522370B CN 116522370 B CN116522370 B CN 116522370B CN 202310804202 A CN202310804202 A CN 202310804202A CN 116522370 B CN116522370 B CN 116522370B
Authority
CN
China
Prior art keywords
iris
authenticated
feature
registered
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310804202.0A
Other languages
English (en)
Other versions
CN116522370A (zh
Inventor
李茂林
张小亮
魏衍召
杨占金
戚纪纲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Superred Technology Co Ltd
Original Assignee
Beijing Superred Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Superred Technology Co Ltd filed Critical Beijing Superred Technology Co Ltd
Priority to CN202310804202.0A priority Critical patent/CN116522370B/zh
Publication of CN116522370A publication Critical patent/CN116522370A/zh
Application granted granted Critical
Publication of CN116522370B publication Critical patent/CN116522370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Ophthalmology & Optometry (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本申请涉及一种全同态加密认证方法、存储介质及电子设备,其中方法包括:获取待认证虹膜图像的待认证虹膜特征矩阵,以及待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵;对待认证虹膜特征矩阵进行加密得到待认证虹膜密文,将待认证虹膜密文与待认证虹膜特征掩码矩阵拼接得到待认证虹膜密态数据;获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,对注册虹膜特征矩阵进行加密得到注册虹膜密文,将注册虹膜密文与注册虹膜特征掩码矩阵拼接得到注册虹膜密态数据;基于全同态加密算法,确定注册虹膜密态数据和待认证虹膜密态数据的相似度,根据相似度确定待认证虹膜密态数据的认证结果。本申请能提升虹膜图像的加密认证速度。

Description

全同态加密认证方法、存储介质及电子设备
技术领域
本申请涉及加密认证技术领域,具体涉及一种全同态加密认证方法、存储介质及电子设备。
背景技术
随着虹膜识别技术的迅猛发展,虹膜识别技术逐渐被广泛使用,越来越多的行业开始采用虹膜识别技术进行个人身份的鉴定,即对虹膜图像的识别认证来鉴定个人身份。由于虹膜图像涉及个人敏感信息,为了避免认证过程中出现信息泄露情况,需要采用加密认证的方法对虹膜图像进行认证识别,从而使得能较好保护虹膜图像的隐私性。
目前,虹膜图像常采用的加密认证方法主要为:对虹膜图像的虹膜特征进行加密,同时也会将对应的所有有效标志位进行加密,最后再进行认证。此方式的加密部分较复杂,导致整个加密认证过程计算复杂度较高,会消耗较多的计算资源,最终导致虹膜图像在加密认证时速度较慢。
发明内容
为了提升虹膜图像的加密认证的速度,本申请提供一种全同态加密认证方法、存储介质及电子设备。
在本申请的第一方面提供了一种全同态加密认证方法,具体包括:
获取待认证虹膜图像的待认证虹膜特征矩阵,并获取所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵;
对所述待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将所述待认证虹膜密文与所述待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据;
获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,对所述注册虹膜特征矩阵进行加密得到注册虹膜密文,并将所述注册虹膜密文与所述注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据;
基于全同态加密算法,确定所述注册虹膜密态数据和所述待认证虹膜密态数据的相似度,根据所述相似度确定所述待认证虹膜密态数据的认证结果。
通过采用上述技术方案,对待认证虹膜特征矩阵进行加密,对待认证虹膜特征掩码矩阵进行明文处理,然后拼接得到待认证虹膜密态数据,即待认证虹膜图像的虹膜特征对应的加密数据。接着同理还可以得到注册虹膜密态数据,即注册虹膜图像的虹膜特征对应的加密数据。最后计算待认证虹膜密态数据和注册虹膜密态数据的相似度,通过相似度来反映两者之间的相似性程度,进而最终确定待认证虹膜图像的认证结果。由于只有虹膜图像对应的虹膜特征矩阵涉及虹膜隐私性,虹膜图像对应的虹膜特征掩码矩阵为虹膜特征的有效标志位,与虹膜隐私性关系不大,因此在避免隐私泄露情况下,只加密待认证虹膜特征矩阵、注册虹膜特征矩阵,可减少全同态加密算法的计算量,从而最终提高虹膜图像全同态加密认证的速度。
可选的,所述获取待认证虹膜图像的待认证虹膜特征矩阵,并获取所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵,具体包括:
获取待认证虹膜图像的左眼角坐标和右眼角坐标;
计算所述左眼角坐标和所述右眼角坐标之间的水平夹角,并根据所述水平夹角旋转所述待认证虹膜图像,得到矫正后虹膜图像;
对所述矫正后虹膜图像进行虹膜检测、虹膜定位、分割和生成虹膜掩码图处理,得到处理后结果,并基于所述处理后结果提取得到所述待认证虹膜图像的待认证虹膜特征矩阵;
基于所述虹膜掩码图计算得到所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
通过采用上述技术方案,将待认证虹膜图像旋转至左眼角、右眼角与水平线齐平,得到矫正后虹膜图像,接着对矫正后虹膜图像进行虹膜检测、定位、分割以及生成虹膜掩码图的预处理,得到处理后结果,从而使得更为准确地从矫正后图像中确定虹膜区域,进而使得后续提取的待认证虹膜特征矩阵和待认证虹膜特征掩码矩阵准确性较高。
可选的,所述对所述待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将所述待认证虹膜密文与所述待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据,具体包括:
将所述待认证虹膜特征矩阵中的特征向量划分为第一强特征、第一中特征和第一弱特征,其中,所述第一强特征的特征复杂度最高,所述第一中特征的特征复杂度次之,第一弱特征的特征复杂度最低;
通过预设的多项式编码公式,分别计算得到所述第一强特征、所述第一中特征和所述第一弱特征对应的第一多项式环;
对各所述第一多项式环进行加密,分别得到所述第一强特征对应的第一待认证虹膜密文、所述第一中特征对应的第二待认证虹膜密文以及所述第一弱特征对应的第三待认证虹膜密文;
将所述第一待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一强特征对应的第一待认证特征掩码矩阵进行拼接、将所述第二待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一中特征对应的第二待认证特征掩码矩阵进行拼接以及将所述第三待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一弱特征对应的第三待认证特征掩码矩阵进行拼接,分别得到第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据。
通过采用上述技术方案,将待认证虹膜特征矩阵划分第一强特征、第一中特征和第一弱特征,方便后续按照强特征、中特征和弱特征三个层级对待认证虹膜图像进行特征识别认证,加快认证速度。接着将第一强特征、第一中特征和第一弱特征进行多项式编码后分别加密,得到第一待认证虹膜密文、第二待认证虹膜密文和第三待认证虹膜密文,最后将第一强特征对应的第一待认证虹膜密文与明文处理的第一待认证特征掩码矩阵进行拼接、将第一中特征对应的第二待认证虹膜密文和明文处理的第二待认证特征掩码矩阵进行拼接、将第一弱特征对应的第三待认证虹膜密文和明文处理的第三待认证特征掩码矩阵进行拼接,得到对应的密态数据,从而在保护虹膜隐私性前提下,只加密待认证虹膜特征矩阵,减少全同态加密算法的计算量,进而加快加密认证的速度。
可选的,所述对所述注册虹膜特征矩阵进行加密得到注册虹膜密文,并将所述注册虹膜密文与所述注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据,具体包括:
将所述注册虹膜特征矩阵中的特征向量划分为第二强特征、第二中特征和第二弱特征;
通过预设的多项式编码公式,分别计算得到所述第二强特征、所述第二中特征和所述第二弱特征对应的第二多项式环;
对各所述第二多项式环进行加密,分别得到所述第二强特征对应的第一注册虹膜密文、所述第二中特征对应的第二注册虹膜密文和所述第二弱特征对应的第三注册虹膜密文;
将所述第一注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二强特征对应的第一注册特征掩码矩阵进行拼接、将所述第二注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二中特征对应的第二注册特征掩码矩阵进行拼接以及将所述第三注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二弱特征对应的第三注册特征掩码矩阵进行拼接,分别得到第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据。
通过采用上述技术方案,将注册虹膜特征矩阵划分第二强特征、第二中特征和第二弱特征,方便后续按照强特征、中特征和弱特征三个层级对注册虹膜图像进行特征识别认证,加快认证速度。接着将第二强特征、第二中特征和第二弱特征进行多项式编码后分别加密,得到第一注册虹膜密文、第二注册虹膜密文和第三注册虹膜密文,最后将第二强特征对应的第一注册虹膜密文与明文处理的第一注册特征掩码矩阵进行拼接、将第二中特征对应的第二注册虹膜密文和明文处理的第二注册特征掩码矩阵进行拼接、将第二弱特征对应的第三注册虹膜密文和明文处理的第三注册特征掩码矩阵进行拼接,得到对应的密态数据,从而在保护虹膜隐私性前提下,只加密注册虹膜特征矩阵,减少全同态加密算法的计算量,进而加快加密认证的速度。
可选的,所述预设的多项式编码公式为:
式中,表示多项式环,/>表示特征向量,X表示自变量,n表示自变量的指数,q表示参数模。
通过采用上述技术方案,将第一强特征、第一中特征和第一弱特征,或者第二强特征、第二中特征和第二弱特征中的特征向量代入到多项式编码公式中,得到对应的多项式环,最终对多项式环再加密,从而使得加密后的密文后续进行乘法运算时,计算速度较快。
可选的,所述基于全同态加密算法,确定所述注册虹膜密态数据和所述待认证虹膜密态数据的相似度,根据所述相似度确定所述待认证虹膜密态数据的认证结果,具体包括:
基于全同态加密算法,确定所述第一待认证虹膜密态数据与所述第一注册虹膜密态数据的第一汉明距离、所述第二待认证虹膜密态数据与所述第二注册虹膜密态数据的第二汉明距离以及所述第三待认证虹膜密态数据与所述第三注册虹膜密态数据的第三汉明距离;
若所述第一汉明距离、所述第二汉明距离以及所述第三汉明距离均不大于对应的预设阈值,则根据预设的汉明距离公式,计算所述注册虹膜密态数据和所述待认证虹膜密态数据的最终汉明距离,若所述最终汉明距离大于距离阈值,则确定认证结果为认证失败,若所述最终汉明距离不大于距离阈值,则确定认证结果为认证成功;
若所述第一汉明距离、所述第二汉明距离以及所述第三汉明距离中任一个大于对应的预设阈值,则确定认证结果为认证失败。
通过采用上述技术方案,按照强特征、中特征和弱特征三个层级,进行待认证虹膜图像对应的密态数据与注册虹膜图像对应的密态数据的对比认证,即,计算第一汉明距离、第二汉明距离和第三汉明距离。如果第一汉明距离、第二汉明距离和第三汉明距离中任一个大于对应的预设阈值,说明强特征、中特征和弱特征中任一个注册虹膜图像与待认证虹膜图像比对不成功,直接确定最终的认证结果为认证失败,无需再进行其他特征的比对,也无需将注册虹膜图像和待认证虹膜图像两者整体的密态数据比对,从而一定程度上加快了全同态加密认证的速度。如果第一汉明距离、第二汉明距离以及第三汉明距离均不大于对应的预设阈值,说明待认证虹膜图像和注册虹膜图像在强特征、中特征和弱特征三个层级上比对均成功,那么确定注册虹膜密态数据和待认证虹膜密态数据的最终汉明距离,进行认证结果的最终确定,使得认证结果较为准确。
可选的,所述确定所述第一待认证虹膜密态数据与所述第一注册虹膜密态数据的第一汉明距离,具体包括:
对所述第一注册虹膜密文和所述第一待认证虹膜密文进行加法运算,得到第一加法运算结果;
对所述第一注册特征掩码矩阵与所述第一待认证特征掩码矩阵的第一交集进行加密,得到第一特征掩码矩阵密文,并将所述第一加法运算结果与所述第一特征掩码矩阵密文进行乘法运算后并解密,得到第一解密结果;
将所述第一解密结果除以所述第一交集的求和结果,得到第一汉明距离。
通过采用上述技术方案,基于全同态加密算法,对第一注册虹膜密文和第一待认证虹膜密文进行加法运算得到的第一加法运算结果,与对应的明文加法运算的结果相同,接着将对应的第一注册特征掩码矩阵和第一待认证特征掩码矩阵求交集后加密,加密后与第一加法运算结果进行乘法运算,得到第一解密结果,最后将第一解密结果除以第一交集的求和结果,最终得到第一汉明距离,从而使得在加密状态进行同态运算,既能保护虹膜隐私性,还能计算得到对应的汉明距离,较为准确地进行对比认证。
可选的,所述预设的汉明距离公式为:
式中,表示最终汉明距离,/>为第一汉明距离对应的第一解密结果,/>表示第二汉明距离对应的第二解密结果,/>表示第三汉明距离对应的第三解密结果,/>表示所述第一注册特征掩码矩阵与所述第一待认证特征掩码矩阵交集的求和结果,/>表示所述第二注册特征掩码矩阵与所述第二待认证特征掩码矩阵交集的求和结果,/>表示所述第三注册特征掩码矩阵与所述第三待认证特征掩码矩阵交集的求和结果。
通过采用上述技术方案,在第一汉明距离、第二汉明距离和第三汉明距离均不大于对应的预设阈值情况下,将第一汉明距离对应的第一解密结果、第二汉明距离对应的第二解密结果以及第三汉明距离对应的第三解密结果求和,并作为分子。接着将第一注册特征掩码矩阵与第一待认证特征掩码矩阵交集的求和结果、第二注册特征掩码矩阵与第二待认证特征掩码矩阵交集的求和结果、三注册特征掩码矩阵与第三待认证特征掩码矩阵交集的求和结果三者求和作为分母,最后分子除以分母,得到最终汉明距离,从而使得对待认证虹膜图像和注册虹膜图像进行第二道比对认证,使得认证结果更加准确。
在本申请的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行如第一方面中任意一项所述的方法步骤。
在本申请的第三方面提供了一种电子设备,具体包括:
处理器、存储器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使所述电子设备执行如第一方面中任意一项所述的方法。
综上所述,本申请包括以下至少一种有益技术效果:
对待认证虹膜特征矩阵进行加密,对待认证虹膜特征掩码矩阵进行明文处理,然后拼接得到待认证虹膜密态数据,即待认证虹膜图像的虹膜特征对应的加密数据。接着同理还可以得到注册虹膜密态数据,即注册虹膜图像的虹膜特征对应的加密数据。最后计算待认证虹膜密态数据和注册虹膜密态数据的汉明距离,通过汉明距离来反映两者之间的相似性程度,进而最终确定待认证虹膜图像的认证结果。由于只有虹膜图像对应的虹膜特征矩阵涉及虹膜隐私性,虹膜图像对应的虹膜特征掩码矩阵为虹膜特征的有效标志位,与虹膜隐私性关系不大,因此在避免隐私泄露情况下,只加密待认证虹膜特征矩阵、注册虹膜特征矩阵,可减少全同态加密算法的计算量,从而最终提高虹膜图像全同态加密认证的速度。
附图说明
图1是本申请实施例提供的一种全同态加密认证系统的架构示意图;
图2是本申请实施例提供的一种全同态加密认证方法的流程示意图;
图3是本申请实施例提供的另一种全同态加密认证方法的流程示意图;
图4是本申请实施例提供的一种待认证虹膜特征矩阵划分的示意图;
图5是本申请实施例提供的一种确定认证结果的示意图;
图6是本申请实施例提供的一种确定认证结果的判断示意图;
图7是本申请实施例提供的一种全同态加密认证装置的结构示意图。
附图标记说明:11、虹膜特征获取模块;12、第一密态确定模块;13、第二密态确定模块;14、虹膜加密认证模块。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
参见图1,本申请实施例公开了一种全同态加密认证系统的架构示意图,具体包括终端和服务器,终端可以通过有线或无线网络与服务器进行直接或间接地连接。终端中安装有目标应用程序的客户端,目标应用程序可以是虹膜图像识别类应用程序,具有将采集的虹膜图像发送至服务器进行认证的功能。终端可以是如手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备、PC(PersonalComputer,个人计算机)等电子设备。服务器可以是上述目标应用程序对应的后台服务器。
另外,本申请实施例公开的一种全同态加密认证方法的应用场景为:基于传统加密算法对虹膜图像进行识别认证时,虽能避免虹膜图像在识别认证中出现隐私泄露的情况,但是由于传统加密算法的计算复杂性较高,加密认证的速度十分缓慢,导致虹膜图像识别认证效率较低。而本申请公开的全同态加密认证方法,只将虹膜图像的虹膜特征进行加密,不对虹膜特征掩码进行加密,减轻了全同态加密算法的计算量,进而提高了加密认证的速度。
需要说明的是,虹膜图像认证是一种高端人体生物识别技术,利用虹膜图像的独特性和稳定性进行身份验证,具体体现如下:虹膜认证系统通过拍摄用户的虹膜图像,将其与系统中存储的虹膜图像进行比对,以确认用户的身份。而加密认证则出于对虹膜图像这种重要隐私信息的保护,采用的是先加密再进行对比认证。
参见图2,本申请实施例公开了一种全同态加密认证方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的全同态加密认证装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S101:获取待认证虹膜图像的待认证虹膜特征矩阵,并获取待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
在一个可实现的实施方式中,获取待认证虹膜图像的左眼角坐标和右眼角坐标;
计算左眼角坐标和右眼角坐标之间的水平夹角,并根据水平夹角旋转待认证虹膜图像,得到矫正后虹膜图像;
对矫正后虹膜图像进行虹膜检测、虹膜定位、分割和生成虹膜掩码图处理,得到处理后结果,并基于处理后结果提取得到待认证虹膜图像的待认证虹膜特征矩阵;
基于虹膜掩码图计算得到待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
具体的,待认证虹膜图像为需要与服务器中存储的标准虹膜图像(用户注册时上传的注册虹膜图像)对比认证的虹膜图像。一种可行的获取待认证虹膜图像的方式为:通过预设的虹膜采集仪或虹膜摄像头进行采集。接着将待认证虹膜图像输入至预设的眼角识别模型,得到包含左眼角和右眼角的关键点的特征图,并对特征图的关键点进行坐标转换,最终得到左眼角坐标和右眼角坐标,此为现有技术,在此不再赘述。需要说明的是,眼角识别模型可以采用卷积神经网络模型训练得到,在其他实施例中,也可以在BP神经网络训练得到。
接着利用反三角函数计算左眼角坐标和右眼角坐标之间的水平夹角,一种可行的计算方式为:左眼角坐标为(),右眼角坐标为(/>),可得到/>
利用反三角函数计算出水平夹角,将待认证虹膜图像旋转水平夹角至左眼角和右眼角与水平线齐平,得到矫正后虹膜图像。由于虹膜图像中虹膜只占一部分区域,还包括瞳孔、眼睑、睫毛、眼睛以及人脸的其他部分,需要在从虹膜图像中提取虹膜特征之前,把虹膜区域从虹膜图像中分割出来,因此,矫正后虹膜图像确定后,对矫正后虹膜图像进行预处理,预处理包括虹膜检测,虹膜定位、分割以及生成虹膜掩码图,即,先检测识别出虹膜区域,接着准确定位虹膜区域的内外边界,主要通过cannny算法进行定位,然后根据定位将虹膜区域从虹膜图像中分割出来。通过OpenCV中的cv2.bitwise_and函数生成虹膜区域对应的虹膜掩码图,从而实现对虹膜区域的精准选取,进而将虹膜区域与其他区域区分开来,进而方便进行虹膜特征的提取,其中,掩码图可以理解为二值图像,只有0和255两种像素值,用0表示“不要”,255表示“要”,简言之,将要保留的图像用一种颜色来表示。预处理后得到的处理后结果其实就是虹膜区域与其他区域区分开来的矫正后虹膜图像。此外现有技术,在此不再赘述。
最后基于处理后结果,通过Gabor滤波器提取出待认证虹膜图像的虹膜特征,即待认证虹膜特征矩阵,本质上为二值特征,待认证虹膜特征矩阵中包括若干个待认证虹膜图像中虹膜的特征向量。另外,通过将虹膜掩码图转化成二进制数,将各个二进制数拼接起来,并转换为矩阵形式,得到待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。需要说明的是,待认证虹膜特征掩码矩阵是二元组,每个元素只有0或1两种取值,并且只是待认证虹膜特征的有效标志位,和虹膜隐私性关系较小,其中,待认证虹膜特征掩码矩阵中单个元素的掩码为1,表示其对应的待认证虹膜特征有效;待认证虹膜特征掩码矩阵中单个元素的掩码为0,表示其对应的待认证虹膜特征无效。另外,在其他实施例中,也可以通过深度学习模型基于处理后结果,提取待认证虹膜图像的虹膜特征。
S102:对待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将待认证虹膜密文与待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据。
具体的,待认证虹膜特征矩阵和待认证虹膜特征掩码矩阵确定后,将待认证虹膜特征矩阵按照特征强度进行分层,分为强特征、中特征和弱特征,对强特征、中特征和弱特征分别进行多项式编码,得到三个多项式环,通过预置的公钥加密算法对三个多项式环进行加密,得到对应的密文,接着分别将强特征对应的密文和强特征对应的待认证虹膜特征掩码矩阵进行拼接、中特征对应的密文和中特征对应的待认证虹膜特征掩码矩阵进行拼接、弱特征对应的密文和弱特征对应的待认证虹膜特征掩码矩阵进行拼接,最后得到强特征、中特征和弱特征对应的待认证虹膜密态数据。其中,强特征的特征强度最高,其独特性也越强,出现相同的几率极低,中特征的特征强度次之,弱特征的特征强度最低。
需要说明的是,本申请实施例中,公钥加密算法采用RSA算法,在其他实施例中,也可以采用AES加密算法。另外,本申请实施例中,只对待认证虹膜特征矩阵进行加密,待认证虹膜特征掩码矩阵做明文处理,在保护虹膜图像的隐私性的同时,还能减轻全同态加密算法的计算量,进而便于加快后续认证的速度。
其中,多项式编码(polynomial code)是一种线性码,其中码字集合是由多项式(通常是固定长度的多项式)可以被特定多项式(长度较短,称为生成多项式)整除的一种线性码。在编码理论中,多项式编码常用于数据压缩和错误检测。另外,多项式环是一个在代数学中常见的概念。它是由多项式构成的集合,其中的加法和乘法操作符遵循一定的规则。
S103:获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,对注册虹膜特征矩阵进行加密得到注册虹膜密文,并将注册虹膜密文与注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据。
具体的,可参考步骤S102,进一步地,注册虹膜图像为用户注册所保存的标准虹膜图像,一种可行的获取注册虹膜特征矩阵的方式为:通过注册虹膜图像的左眼角坐标和右眼角坐标,从而计算出左眼角和右眼角之间的水平夹角,将注册虹膜图像旋转/>至左眼角和右眼角与水平线齐平,接着对旋转后的注册虹膜图像进行预处理,得到对应的处理后结果,最后从根据处理后结果中提取注册虹膜特征矩阵和注册虹膜特征掩码矩阵,在此不再详述。
注册虹膜特征矩阵和注册虹膜特征掩码矩阵确定后,将注册虹膜特征矩阵按照特征强度进行分类,分为强特征、中特征和弱特征,对强特征、中特征和弱特征中的特征向量分别进行多项式编码,得到三个多项式环,通过预置的公钥加密算法对三个多项式环进行加密,得到对应的密文,接着分别将强特征对应的密文和强特征对应的注册虹膜特征掩码矩阵进行拼接、中特征对应的密文和中特征对应的注册虹膜特征掩码矩阵进行拼接、弱特征对应的密文和弱特征对应的注册虹膜特征掩码矩阵进行拼接,最后得到强特征、中特征和弱特征对应的注册虹膜密态数据。
S104:基于全同态加密算法,确定注册虹膜密态数据和待认证虹膜密态数据的相似度,根据所述相似度确定待认证虹膜密态数据的认证结果。
具体的,全同态加密(Fully Homomorphic Encryption,FHE)为支持对密文进行任意计算的密码系统,它允许用户通过加密保护数据的私密性,同时允许用户在加密情况下,对加密数据,即密文执行运算,而无需先进行解密。运算产生的结果还是以加密形式保留,当解密后,产生的运算结果与未加密数据执行相同运算产生的输出结果相同,因此,全同态加密对保护数据的安全具有重要意义。在本申请实施例中,可以采用BGV全同态加密算法,在其他实施例中也可以采用BFV全同态加密算法。
注册虹膜密态数据和待认证虹膜密态数据确定后,为了加快对比认证的速度,基于全同态加密算法,针对强特征、中特征和弱特征,计算对应的注册虹膜密态数据和待认证虹膜密态数据的汉明距离,进而确定两者的相似度,即相似性程度,汉明距离越大,相似度越低,汉明距离越小,相似度越高。其中,汉明距离在本申请实施例中为归一化汉明距离,主要用来度量注册虹膜图像的虹膜特征与待认证虹膜图像的虹膜特征的相似性程度,进而实现对注册虹膜图像和待认证图像的认证。一种可行的计算方式为:基于归一化汉明距离计算公式,计算强特征对应的汉明距离、中特征对应的汉明距离以及弱特征对应的汉明距离。接着如果存在任何一个汉明距离大于对应的预设阈值,说明相似性较低,则确定认证结果为认证失败;如果三个汉明距离均不大于对应的预设阈值,那么将待认证虹膜密态数据和注册虹膜密态数据进行整体上的对比认证,确定两者的相似度,一种可行的方式为:同样基于归一化汉明距离计算公式计算两者的汉明距离,如果注册虹膜密态数据和待认证虹膜密态数据的汉明距离大于对应的汉明距离阈值,说明整体的注册虹膜特征与整体的待认证虹膜特征相似度较差,那么确认认证失败,反之,确认认证成功。
其中,归一化汉明距离计算公式为:
式中,和/>为比对认证的特征矩阵的密文,/>和/>为对应各自特征矩阵的掩码矩阵,/>表示汉明距离,/>表示求和,/>表示交集。
参见图3,本申请实施例公开了另一种全同态加密认证方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的全同态加密认证装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S201:获取待认证虹膜图像的待认证虹膜特征矩阵,并获取待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
具体的,可参考步骤S101,在此不再赘述。
S202:将待认证虹膜特征矩阵中的特征向量划分为第一强特征、第一中特征和第一弱特征。
具体的,如图4所示,第一强特征的特征复杂度最高,第一中特征的特征复杂度次之,第一弱特征的特征复杂度最低,特征复杂度越高,虹膜纹理越复杂。一种可行的划分第一强特征、第一中特征和第一弱特征的方式为:计算待认证虹膜特征矩阵中的特征向量到瞳孔的距离,详细如下:通过Canny算法提取待认证虹膜图像中瞳孔边缘,接着通过欧氏距离计算方法,分别计算各个特征向量到瞳孔边缘的距离,最后将距离处在预置的第一距离区间内的特征向量确定为特征复杂度最高,即,划分为第一强特征。距离处在预置的第二距离区间内的特征向量确定为特征复杂度次之,即,划分为第一中特征。距离处在预置的第三距离区间内特征向量确定为特征复杂度最低,即,划分为第一弱特征。其中,第三距离区间所涵盖的距离数值大于第二距离区间所涵盖的距离数值,且第二距离区间所涵盖的距离数值大于第一距离区间所涵盖的距离数值。即,第一强特征到待认证虹膜图像的瞳孔的距离最近,第一中特征到待认证虹膜图像的瞳孔的距离次之,第一弱特征到待认证虹膜图像的瞳孔的距离最远。需要说明的是,距离瞳孔越近的虹膜特征,其虹膜纹理越复杂,即,特征复杂度越高,独有性越高,用来识别虹膜更加准确。
S203:通过预设的多项式编码公式,分别计算得到第一强特征、第一中特征和第一弱特征对应的第一多项式环。
S204:对各第一多项式环进行加密,分别得到第一强特征对应的第一待认证虹膜密文、第一中特征对应的第二待认证虹膜密文以及第一弱特征对应的第三待认证虹膜密文。
S205:将第一待认证虹膜密文与待认证虹膜特征掩码矩阵中第一强特征对应的第一待认证特征掩码矩阵进行拼接、将第二待认证虹膜密文与待认证虹膜特征掩码矩阵中第一中特征对应的第二待认证特征掩码矩阵进行拼接以及将第三待认证虹膜密文与待认证虹膜特征掩码矩阵中第一弱特征对应的第三待认证特征掩码矩阵进行拼接,分别得到第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据。
具体的,将待认证虹膜特征矩阵中特征向量划分为第一强特征、第一中特征和第一弱特征后,通过预设的多项式编码公式分别将第一强特征、第一中特征和第一弱特征中的特征向量编码成多项式系数,即,得到对应的第一多项式环。其中,预设的多项式编码公式为:
式中,表示多项式环,/>表示特征向量,X表示自变量,n表示自变量的指数,q表示参数模。
进一步地,分别将第一强特征、第一中特征和第一弱特征中的特征向量代入到预设的多项式编码公式,得到各自对应的第一多项式环,依次为、/>、/>。需要说明的是,n(自变量的指数)也等同于特征向量的个数减1。
接着通过公钥加密算法对三个第一多项式环进行加密,公钥密码为pk,私钥为sk,输出第一待认证虹膜密文=/>、第二待认证虹膜密文/>=/>以及第三待认证虹膜密文/>=/>。在本申请实施例中,公钥加密算法可以采用RSA算法,在其他实施例中,也可以采用AES加密算法。
需要说明的是,由于待认证虹膜特征掩码矩阵与待认证虹膜特征矩阵是对应关系,因此待认证虹膜特征掩码矩阵也对应划分为第一强特征对应的第一待认证特征掩码矩阵(用表示)、第一中特征对应的第二待认证特征掩码矩阵(用/>表示)以及第一弱特征对应的第三待认证特征掩码矩阵(用/>表示)。
最后将第一待认证虹膜密文和第一待认证特征掩码矩阵进行拼接,得到第一待认证虹膜密态数据,用表示,/>。将第二待认证虹膜密文和第二待认证特征掩码矩阵进行拼接,得到第二待认证虹膜密态数据,用/>表示,/>。将第三待认证虹膜密文与第三待认证特征掩码矩阵进行拼接,得到第三待认证虹膜密态数据,用表示,/>。需要说明的是,一种可行的拼接方式为:通过numpy库中的np.vstack函数、np.hstack函数以及np.concatenate函数中一种或多种来实现拼接。
S206:获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,将注册虹膜特征矩阵中的特征向量划分为第二强特征、第二中特征和第二弱特征。
S207:通过预设的多项式编码公式,分别计算得到第二强特征、第二中特征和第二弱特征对应的第二多项式环。
S208:对各第二多项式环进行加密,分别得到第二强特征对应的第一注册虹膜密文、第二中特征对应的第二注册虹膜密文和第二弱特征对应的第三注册虹膜密文。
S209:将第一注册虹膜密文与注册虹膜特征掩码矩阵中第二强特征对应的第一注册特征掩码矩阵进行拼接、将第二注册虹膜密文与注册虹膜特征掩码矩阵中第二中特征对应的第二注册特征掩码矩阵进行拼接以及将第三注册虹膜密文与注册虹膜特征掩码矩阵中第二弱特征对应的第三注册特征掩码矩阵进行拼接,分别得到第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据。
具体的,可参考步骤S103和S202-S205。进一步地,得到第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据的过程,与S202-S205中得到第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据的过程一致,区别在于:本步骤得到的第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据的对象为注册虹膜图像,而第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据的对象为待认证虹膜图像。在此不再赘述。
S210:基于全同态加密算法,确定第一待认证虹膜密态数据与第一注册虹膜密态数据的第一汉明距离、第二待认证虹膜密态数据与第二注册虹膜密态数据的第二汉明距离以及第三待认证虹膜密态数据与第三注册虹膜密态数据的第三汉明距离。
在一个可实现的实施方式中,所述确定第一待认证虹膜密态数据与第一注册虹膜密态数据的第一汉明距离,包括:
对第一注册虹膜密文和第一待认证虹膜密文进行加法运算,得到第一加法运算结果;
对第一注册特征掩码矩阵与第一待认证特征掩码矩阵的第一交集进行加密,得到第一特征掩码矩阵密文,并将第一加法运算结果与第一特征掩码矩阵密文进行乘法运算后并解密,得到第一解密结果;
将第一解密结果除以第一交集的求和结果,得到第一汉明距离。
具体的,基于全同态加密算法,依次按照强特征、中特征和弱特征的顺序,将待认证虹膜图像对应的虹膜特征和注册虹膜图像对应的虹膜特征进行对比认证,即,首先计算第一待认证虹膜密态数据和第一注册虹膜密态数据的第一汉明距离,一种可行的计算方式为:将第一强特征对应的第一待认证虹膜密文和第二强特征对应的第一注册虹膜密文进行加法运算,得到第一加法运算结果,用表示。由于在全同态加密算法下,加密后的密文计算结果与对应的明文计算结果相同,因此,第一强特征与第二强特征两者进行加法运算后得到的结果与第一加法运算结果相同。在其他实施例中,也就可以依次按照强特征、弱特征和中特征三者的其他组合顺序。
接着将第一强特征对应的第一待认证特征掩码矩阵和第二强特征对应的第一注册特征掩码矩阵进行求交集,得到第一交集,通过预设的编码公式:
式中,表示第一交集中的特征向量,/>表示参数模,/>是2的幂次方。将第一交集中的特征向量代入到编码公式中进行多项式编码,得到对应的多项式环,用表示,并进行加密,得到第一交集对应的第一特征掩码矩阵密文,用/>表示,其中,/>。然后在加密状态下对/>和/>进行乘法运算然后进行解密,得到第一解密结果,用/>表示。具体过程如下:先进行乘法运算=/>,再通过公钥加密算法的私钥sk对/>进行解密,即取/>的常数项系数,得到第一解密结果。最后通过公式:/>=/>计算得到第一汉明距离,式中,/>表示第一汉明距离,/>表示第一交集的求和结果。
进一步地,确定第二汉明距离时,可参照上述第一汉明距离的计算方法,在此只进行简述,即,对第二注册虹膜密文和第二待认证虹膜密文进行加法运算,得到第二加法运算结果,用表示。接着将第二待认证特征掩码矩阵和第二注册特征掩码的第二交集编码后加密,得到第二特征掩码矩阵密文,用/>表示。将=/>,然后对/>解密,得到第二解密结果/>,最后通过公式:/>=/>计算得到第二汉明距离,式中,/>表示第二汉明距离,/>表示第二交集的求和结果。
进一步地,确定第三汉明距离的方式为:对第三注册虹膜密文和第三待认证虹膜密文进行加法运算,得到第三加法运算结果,用表示。接着将第三待认证特征掩码矩阵和第三注册特征掩码的第三交集编码后加密,得到第三特征掩码矩阵密文,用/>表示。将/>
=/>,然后对/>解密,得到第三解密结果/>,最后通过公式:/>=计算得到第三汉明距离,式中,/>表示第三汉明距离,/>表示第三交集的求和结果。
需要说明的是,正常情况下,第一特征掩码矩阵密文和第一加法运算结果(密态结果)的内积计算,需要繁琐的旋转计算,但是本申请实施例中,在加密之前,均先进行多项式编码,使得内积计算的结果为的常数项系数,计算速度较快。
S211:若第一汉明距离、第二汉明距离以及第三汉明距离均不大于对应的预设阈值,则根据预设的汉明距离公式,计算注册虹膜密态数据和待认证虹膜密态数据的最终汉明距离,若最终汉明距离大于距离阈值,则确定认证结果为认证失败,若最终汉明距离不大于距离阈值,则确定认证结果为认证成功。
具体的,如图5所示,为了加快认证速度,将第一汉明距离、第二汉明距离和第三汉明距离与对应的预设阈值进行对比,如果均不大于对应的预设阈值,说明待认证虹膜图像的虹膜特征中的第一强特征、注册虹膜图像的虹膜特征中的第二强特征两者相似性程度较高,待认证虹膜图像的虹膜特征中的第一中特征、注册虹膜图像的虹膜特征中的第二中特征两者相似性程度较高,待认证虹膜图像的虹膜特征中的第一弱特征、注册虹膜图像的虹膜特征中的第二弱特征两者相似性程度较高。那么通过预设的汉明距离公式计算注册虹膜密态数据和待认证虹膜密态数据的最终汉明距离,需要说明的是,注册虹膜密态数据包括第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据。待认证虹膜密态数据包括第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据。
其中,预设的汉明距离公式为:
式中,表示最终汉明距离,/>为第一汉明距离对应的第一解密结果,/>表示第二汉明距离对应的第二解密结果,/>表示第三汉明距离对应的第三解密结果,/>表示所述第一注册特征掩码矩阵与所述第一待认证特征掩码矩阵交集的求和结果,/>表示所述第二注册特征掩码矩阵与所述第二待认证特征掩码矩阵交集的求和结果,/>表示所述第三注册特征掩码矩阵与所述第三待认证特征掩码矩阵交集的求和结果。
最后将计算得到最终汉明距离与对应的距离阈值进行对比,如果最终汉明距离大于距离阈值,说明注册虹膜密态数据和待认证虹膜密态数据两者相似性程度较低,即,待认证虹膜图像的虹膜特征与待认证虹膜图像的虹膜特征匹配度较低,那么确定认证结果为认证失败;如果最终汉明距离不大于距离阈值,说明相似性程度较高,那么确定认证结果为认证成功。
S212:若第一汉明距离、第二汉明距离以及第三汉明距离中任一个大于对应的预设阈值,则确定认证结果为认证失败。
具体的,如图6所示,如果先进行的第一汉明距离大于对应的预设阈值,说明待认证虹膜图像的虹膜特征中的第一强特征、注册虹膜图像的虹膜特征中的第二强特征两者相似性程度较低,那么直接将最终的认证结果确定为认证失败,无需再继续进行对比认证,更无需将全部的虹膜特征进行对比。一定程度上,极大地加快了全同态加密认证的速度。在其他实施例中,第一汉明距离大于对应的预设阈值时,无需再计算第二汉明距离和第三汉明距离。
如果先进行的第一汉明距离不大于对应的预设阈值,那么继续将第二汉明距离与对应的预设阈值对比,第二汉明距离大于对应的预设阈值,同样直接确定为认证失败,无需再进行第三汉明距离与对应的预设阈值的对比。在其他实施例中,无需计算第三汉明距离。如果第二汉明距离不大于对应的预设阈值,则进行对第三汉明距离执行相同操作。综上所述,第一汉明距离、第二汉明距离以及第三汉明距离中任一个大于对应的预设阈值,最后认证结果均确定为认证失败。
本申请实施例全同态加密认证方法的实施原理为:对待认证虹膜特征矩阵进行加密,对待认证虹膜特征掩码矩阵进行明文处理,然后拼接得到待认证虹膜密态数据,即待认证虹膜图像的虹膜特征对应的加密数据。接着同理还可以得到注册虹膜密态数据,即注册虹膜图像的虹膜特征对应的加密数据。最后计算待认证虹膜密态数据和注册虹膜密态数据的汉明距离,通过汉明距离来反映两者之间的相似性程度,进而最终确定待认证虹膜图像的认证结果。由于只有虹膜图像对应的虹膜特征矩阵涉及虹膜隐私性,虹膜图像对应的虹膜特征掩码矩阵为虹膜特征的有效标志位,与虹膜隐私性关系不大,因此在避免隐私泄露情况下,只加密待认证虹膜特征矩阵、注册虹膜特征矩阵,可减少全同态加密算法的计算量,从而最终提高虹膜图像全同态加密认证的速度。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图7,为本申请实施例提供的全同态加密认证装置的结构示意图。该应用于全同态加密认证装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括虹膜特征获取模块11、第一密态确定模块12、第二密态确定模块13以及虹膜加密认证模块14。
虹膜特征获取模块11,用于获取待认证虹膜图像的待认证虹膜特征矩阵,并获取待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵;
第一密态确定模块12,用于对待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将待认证虹膜密文与待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据;
第二密态确定模块13,用于获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,对注册虹膜特征矩阵进行加密得到注册虹膜密文,并将注册虹膜密文与注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据;
虹膜加密认证模块14,用于基于全同态加密算法,确定所述注册虹膜密态数据和所述待认证虹膜密态数据的相似度,根据所述相似度确定所述待认证虹膜密态数据的认证结果。
可选的,虹膜特征获取模块11,具体用于:
获取待认证虹膜图像的左眼角坐标和右眼角坐标;
计算左眼角坐标和右眼角坐标之间的水平夹角,并根据水平夹角旋转待认证虹膜图像,得到矫正后虹膜图像;
对矫正后虹膜图像进行虹膜检测、虹膜定位、分割和生成虹膜掩码图处理,得到处理后结果,并基于处理后结果提取得到待认证虹膜图像的待认证虹膜特征矩阵;
基于虹膜掩码图计算得到待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
可选的,第一密态确定模块12,具体用于:
将待认证虹膜特征矩阵中的特征向量划分为第一强特征、第一中特征和第一弱特征,其中,第一强特征的特征复杂度最高,第一中特征的特征复杂度次之,第一弱特征的特征复杂度最低;
通过预设的多项式编码公式,分别计算得到第一强特征、第一中特征和第一弱特征对应的第一多项式环;
对各第一多项式环进行加密,分别得到第一强特征对应的第一待认证虹膜密文、第一中特征对应的第二待认证虹膜密文以及第一弱特征对应的第三待认证虹膜密文;
将第一待认证虹膜密文与待认证虹膜特征掩码矩阵中第一强特征对应的第一待认证特征掩码矩阵进行拼接、将第二待认证虹膜密文与待认证虹膜特征掩码矩阵中第一中特征对应的第二待认证特征掩码矩阵进行拼接以及将第三待认证虹膜密文与待认证虹膜特征掩码矩阵中第一弱特征对应的第三待认证特征掩码矩阵进行拼接,分别得到第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据。
可选的,第二密态确定模块13,具体用于:
将注册虹膜特征矩阵中的特征向量划分为第二强特征、第二中特征和第二弱特征;
通过预设的多项式编码公式,分别计算得到第二强特征、第二中特征和第二弱特征对应的第二多项式环;
对各第二多项式环进行加密,分别得到第二强特征对应的第一注册虹膜密文、第二中特征对应的第二注册虹膜密文和第二弱特征对应的第三注册虹膜密文;
将第一注册虹膜密文与注册虹膜特征掩码矩阵中第二强特征对应的第一注册特征掩码矩阵进行拼接、将第二注册虹膜密文与注册虹膜特征掩码矩阵中第二中特征对应的第二注册特征掩码矩阵进行拼接以及将第三注册虹膜密文与注册虹膜特征掩码矩阵中第二弱特征对应的第三注册特征掩码矩阵进行拼接,分别得到第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据。
可选的,虹膜加密认证模块14,具体用于:
基于全同态加密算法,确定第一待认证虹膜密态数据与第一注册虹膜密态数据的第一汉明距离、第二待认证虹膜密态数据与第二注册虹膜密态数据的第二汉明距离以及第三待认证虹膜密态数据与第三注册虹膜密态数据的第三汉明距离;
若第一汉明距离、第二汉明距离以及第三汉明距离均不大于对应的预设阈值,则根据预设的汉明距离公式,计算注册虹膜密态数据和待认证虹膜密态数据的最终汉明距离,若最终汉明距离大于距离阈值,则确定认证结果为认证失败,若最终汉明距离不大于距离阈值,则确定认证结果为认证成功;
若第一汉明距离、第二汉明距离以及第三汉明距离中任一个大于对应的预设阈值,则确定认证结果为认证失败。
可选的,虹膜加密认证模块14,具体还用于:
对第一注册虹膜密文和第一待认证虹膜密文进行加法运算,得到第一加法运算结果;
对第一注册特征掩码矩阵与第一待认证特征掩码矩阵的第一交集进行加密,得到第一特征掩码矩阵密文,并将第一加法运算结果与第一特征掩码矩阵密文进行乘法运算后并解密,得到第一解密结果;
将第一解密结果除以第一交集的求和结果,得到第一汉明距离。
需要说明的是,上述实施例提供的一种全同态加密认证装置在执行全同态加密认证方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种全同态加密认证装置与一种全同态加密认证方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种全同态加密认证方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例的一种全同态加密认证方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
本申请实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种全同态加密认证方法。
其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本电子设备,将上述实施例的一种全同态加密认证方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (8)

1.一种全同态加密认证方法,其特征在于,所述方法包括:
获取待认证虹膜图像的待认证虹膜特征矩阵,并获取所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵;
对所述待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将所述待认证虹膜密文与所述待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据,所述对所述待认证虹膜特征矩阵进行加密得到待认证虹膜密文,并将所述待认证虹膜密文与所述待认证虹膜特征掩码矩阵进行拼接,得到待认证虹膜密态数据,具体包括:
将所述待认证虹膜特征矩阵中的特征向量划分为第一强特征、第一中特征和第一弱特征,其中,所述第一强特征的特征复杂度最高,所述第一中特征的特征复杂度次之,所述第一弱特征的特征复杂度最低;
通过预设的多项式编码公式,分别计算得到所述第一强特征、所述第一中特征和所述第一弱特征对应的第一多项式环;
对各所述第一多项式环进行加密,分别得到所述第一强特征对应的第一待认证虹膜密文、所述第一中特征对应的第二待认证虹膜密文以及所述第一弱特征对应的第三待认证虹膜密文;将所述第一待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一强特征对应的第一待认证特征掩码矩阵进行拼接、将所述第二待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一中特征对应的第二待认证特征掩码矩阵进行拼接以及将所述第三待认证虹膜密文与所述待认证虹膜特征掩码矩阵中所述第一弱特征对应的第三待认证特征掩码矩阵进行拼接,分别得到第一待认证虹膜密态数据、第二待认证虹膜密态数据和第三待认证虹膜密态数据;获取注册虹膜图像的注册虹膜特征矩阵和对应的注册虹膜特征掩码矩阵,对所述注册虹膜特征矩阵进行加密得到注册虹膜密文,并将所述注册虹膜密文与所述注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据,所述对所述注册虹膜特征矩阵进行加密得到注册虹膜密文,并将所述注册虹膜密文与所述注册虹膜特征掩码矩阵进行拼接,得到注册虹膜密态数据,具体包括:
将所述注册虹膜特征矩阵中的特征向量划分为第二强特征、第二中特征和第二弱特征;
通过预设的多项式编码公式,分别计算得到所述第二强特征、所述第二中特征和所述第二弱特征对应的第二多项式环;
对各所述第二多项式环进行加密,分别得到所述第二强特征对应的第一注册虹膜密文、所述第二中特征对应的第二注册虹膜密文和所述第二弱特征对应的第三注册虹膜密文;
将所述第一注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二强特征对应的第一注册特征掩码矩阵进行拼接、将所述第二注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二中特征对应的第二注册特征掩码矩阵进行拼接以及将所述第三注册虹膜密文与所述注册虹膜特征掩码矩阵中所述第二弱特征对应的第三注册特征掩码矩阵进行拼接,分别得到第一注册虹膜密态数据、第二注册虹膜密态数据和第三注册虹膜密态数据;
基于全同态加密算法,确定所述注册虹膜密态数据和所述待认证虹膜密态数据的相似度,根据所述相似度确定所述待认证虹膜密态数据的认证结果。
2.根据权利要求1所述的全同态加密认证方法,其特征在于,所述获取待认证虹膜图像的待认证虹膜特征矩阵,并获取所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵,具体包括:
获取待认证虹膜图像的左眼角坐标和右眼角坐标;
计算所述左眼角坐标和所述右眼角坐标之间的水平夹角,并根据所述水平夹角旋转所述待认证虹膜图像,得到矫正后虹膜图像;
对所述矫正后虹膜图像进行虹膜检测、虹膜定位、分割和生成虹膜掩码图处理,得到处理后结果,并基于所述处理后结果提取得到所述待认证虹膜图像的待认证虹膜特征矩阵;
基于所述虹膜掩码图计算得到所述待认证虹膜特征矩阵对应的待认证虹膜特征掩码矩阵。
3.根据权利要求1所述的全同态加密认证方法,其特征在于,所述预设的多项式编码公式为:
式中,表示多项式环,a0,a1,a2,...,an表示特征向量,X表示自变量,n表示自变量的指数,q表示参数模。
4.根据权利要求1所述的全同态加密认证方法,其特征在于,所述基于全同态加密算法,确定所述注册虹膜密态数据和所述待认证虹膜密态数据的相似度,根据所述相似度确定所述待认证虹膜密态数据的认证结果,具体包括:
确定所述第一待认证虹膜密态数据与所述第一注册虹膜密态数据的第一汉明距离、所述第二待认证虹膜密态数据与所述第二注册虹膜密态数据的第二汉明距离以及所述第三待认证虹膜密态数据与所述第三注册虹膜密态数据的第三汉明距离;
若所述第一汉明距离、所述第二汉明距离以及所述第三汉明距离均不大于对应的预设阈值,则根据预设的汉明距离公式,计算所述注册虹膜密态数据和所述待认证虹膜密态数据的最终汉明距离,若所述最终汉明距离大于距离阈值,则确定认证结果为认证失败,若所述最终汉明距离不大于距离阈值,则确定认证结果为认证成功;
若所述第一汉明距离、所述第二汉明距离以及所述第三汉明距离中任一个大于对应的预设阈值,则确定认证结果为认证失败。
5.根据权利要求4所述的全同态加密认证方法,其特征在于,所述确定所述第一待认证虹膜密态数据与所述第一注册虹膜密态数据的第一汉明距离,具体包括:
对所述第一注册虹膜密文和所述第一待认证虹膜密文进行加法运算,得到第一加法运算结果;对所述第一注册特征掩码矩阵与所述第一待认证特征掩码矩阵的第一交集进行加密,得到第一特征掩码矩阵密文,并将所述第一加法运算结果与所述第一特征掩码矩阵密文进行乘法运算后并解密,得到第一解密结果;
将所述第一解密结果除以所述第一交集的求和结果,得到第一汉明距离。
6.根据权利要求5所述的全同态加密认证方法,其特征在于,所述预设的汉明距离公式为:
式中,HDs表示最终汉明距离,为第一汉明距离对应的第一解密结果,/>表示第二汉明距离对应的第二解密结果,/>表示第三汉明距离对应的第三解密结果,sum1表示第一注册特征掩码矩阵与第一待认证特征掩码矩阵交集的求和结果,sum2表示第二注册特征掩码矩阵与第二待认证特征掩码矩阵交集的求和结果,sum3表示第三注册特征掩码矩阵与第三待认证特征掩码矩阵交集的求和结果。
7.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-6中任一项所述的方法。
8.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-6中任一项所述的方法。
CN202310804202.0A 2023-07-03 2023-07-03 全同态加密认证方法、存储介质及电子设备 Active CN116522370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310804202.0A CN116522370B (zh) 2023-07-03 2023-07-03 全同态加密认证方法、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310804202.0A CN116522370B (zh) 2023-07-03 2023-07-03 全同态加密认证方法、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN116522370A CN116522370A (zh) 2023-08-01
CN116522370B true CN116522370B (zh) 2023-09-12

Family

ID=87408587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310804202.0A Active CN116522370B (zh) 2023-07-03 2023-07-03 全同态加密认证方法、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116522370B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330464A (zh) * 2016-10-26 2017-01-11 上海众人网络安全技术有限公司 一种身份认证方法、设备及系统
CN112187477A (zh) * 2020-10-11 2021-01-05 桂林电子科技大学 一种虹膜保密认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2670798C9 (ru) * 2017-11-24 2018-11-26 Самсунг Электроникс Ко., Лтд. Способ аутентификации пользователя по радужной оболочке глаз и соответствующее устройство

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330464A (zh) * 2016-10-26 2017-01-11 上海众人网络安全技术有限公司 一种身份认证方法、设备及系统
CN112187477A (zh) * 2020-10-11 2021-01-05 桂林电子科技大学 一种虹膜保密认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Survey on Homomorphic Encryption for Biometrics Template Security Based on Machine Learning Models;Pavani Chitrapu et al.;《IEEE Xplore》;全文 *

Also Published As

Publication number Publication date
CN116522370A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
JP6651565B2 (ja) バイオメトリックテンプレートセキュリティおよびキー生成
JP7142778B2 (ja) アイデンティティ検証方法並びにその、装置、コンピュータプログラムおよびコンピュータ機器
Joseph et al. Retracted article: a multimodal biometric authentication scheme based on feature fusion for improving security in cloud environment
US11615176B2 (en) Registration and verification of biometric modalities using encryption techniques in a deep neural network
JP6606169B2 (ja) 情報の暗号化及び復号化
US11444774B2 (en) Method and system for biometric verification
JP2020520509A (ja) バイオメトリック識別システムおよび方法
KR102294574B1 (ko) 딥러닝 기반의 얼굴인식모델을 이용하여 실물이미지를 판단할 수 있는 안면인식시스템
CN115810208A (zh) 一种人脸识别方法、设备及系统
TW202332230A (zh) 一種圖像加密、影像處理方法、裝置、設備及介質
CN113055153B (zh) 一种基于全同态加密算法的数据加密方法、系统和介质
Jasmine et al. A privacy preserving based multi-biometric system for secure identification in cloud environment
CN116522370B (zh) 全同态加密认证方法、存储介质及电子设备
Aparna et al. An iris biometric-based dual encryption technique for medical image in e-healthcare application
CN113987446A (zh) 一种认证方法及装置
Pane et al. Biometric Cryptography
Reddy et al. Authentication using fuzzy vault based on iris textures
KR20180090733A (ko) 삼중 극좌표 특징점 구조를 이용한 지문 등록 및 인증 방법
CN117240565A (zh) 数据加密方法、数据解密方法、装置和计算机设备
WO2022172096A1 (en) Method and system for processing reference faces
Wang et al. Privacy-Preserving Authentication Scheme for 5G Cloud-Fog Hybrid with Soft Biometrics
Alhadethi et al. Improving the Transmission Security of Vein Images Using a Bezier Curve and Long Short-Term Memory.
CN117218699A (zh) 一种人脸信息处理方法和系统
CN117238009A (zh) 一种人脸图像处理方法及装置
CN114866345A (zh) 一种生物识别的处理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant