CN104821942A - 人脸识别方法和系统 - Google Patents
人脸识别方法和系统 Download PDFInfo
- Publication number
- CN104821942A CN104821942A CN201510194166.6A CN201510194166A CN104821942A CN 104821942 A CN104821942 A CN 104821942A CN 201510194166 A CN201510194166 A CN 201510194166A CN 104821942 A CN104821942 A CN 104821942A
- Authority
- CN
- China
- Prior art keywords
- face
- ciphertext
- enciphered data
- eigenface
- projection
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
Landscapes
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Collating Specific Patterns (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种人脸识别方法和系统,所述方法包括:接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,进而基于加法同态加密算法的原理和全同态加密算法的原理,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围。
Description
技术领域
本发明涉及图像识别技术领域,特别是涉及一种人脸识别方法和系统。
背景技术
生物特征测定技术在过去的几十年已经得到很大的进步,并且被应用在多个领域。人脸识别是最重要的生物特征识别之一,由于其普遍性和操作简单性,应用范围十分广泛,如公共场所监控、机场出入境或登录社交网络平台等场合。
人脸识别的广泛使用也带来了隐私泄露的风险,因为生物特征信息能被收集,误用到其他的文档,违背用户的意愿而被跟踪。与其他类型的用于认证的数据不同的是,生物特征数据不能被吊销和被新值代替,因此它需要被严格地保护。如果生物特征数据被一个不受信任的服务器处理,则生物特征数据的隐私性变得非常重要。
为了保护用户隐私性,人脸识别可在加密的情形下进行。目前的强隐私保护的人脸识别系统,使用标准的和流行的Eigenface识别算法。该系统执行在同态加密后人脸的识别运算,基于DGK(Damgard Geisler and Kroigard)密码系统使用Pailler提出的同态加密体制和其他密码学协议比较两个Pailler加密后的值。该系统原理上可以在人脸识别的同时保护用户隐私。然而,所用协议需要O(logM)轮的在线通讯,在线通讯的运行消耗极大,导致人脸识别效率低、适用性差。
发明内容
基于此,有必要针对上述人脸识别技术中在线通讯的运行消耗极大,导致人脸识别效率低、适用性差的问题,提供一种人脸识别方法和系统。
一种人脸识别方法,包括以下步骤:
接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
一种人脸识别系统,包括:
接收模块,用于接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
加法同态加密模块,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
投影脸密文模块,用于将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
距离平方密文模块,用于将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
全同态密文集模块,用于通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
识别模块,用于基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
以上所述人脸识别方法和系统,接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,进而基于加法同态加密算法的原理和全同态加密算法的原理,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围。
一种人脸识别方法,包括以下步骤:
接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
向外包服务器发送所述人脸加密数据和各个特征脸;
接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数;
将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数;
接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数;
分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
一种人脸识别系统,包括:
第一接收模块,用于接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
加法同态加密模块,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
第一发送模块,用于向外包服务器发送所述人脸加密数据和各个特征脸;
第二接收模块,用于接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数;
投影脸密文模块,用于将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
第二发送模块,用于向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数;
第三接收模块,用于接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数;
距离平方密文模块,用于分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
第三发送模块,用于向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则将所述全同态密文集转换为包括人脸标识的识别结果的全同态加密密文。
上述人脸识别方法和系统,接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,进而基于加法同态加密算法的原理和全同态加密算法的原理,通过外包服务器的辅助,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,通过具有高运算能力的外包服务器的辅助,将高消耗运算和大数据处理外包到外包服务器,可有效降低数据库端的运算量,进一步提高人脸识别效率。
一种人脸识别方法,包括以下步骤:
接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文;
以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据;
向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数;
分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据;
向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则;
通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
一种人脸识别系统,包括:
第五接收模块,用于接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文;
第一乘方用于,用于以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
第一连乘模块,用于将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据;
第五发送模块,用于向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
第六接收模块,用于接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数;
第二乘方模块,用于分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
第二连乘模块,用于将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据;
第六发送模块,用于向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
第七接收模块,用于接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则;
全同态密文集模块,用于通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
识别模块,用于基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
上述人脸识别方法和系统,生成每个特征脸对应的人脸投影加密数据并向数据库端发送,生成每个数据脸对应的连乘加密数据并向所述数据库端发送以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,进而根据加法同态加密算法的原理和全同态加密算法的原理,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,代替数据库端进行高消耗运算和大数据处理,还可有效降低数据库端的运算量,进一步提高人脸识别效率。
附图说明
图1是本发明实施例的人脸识别方法的第一实施环境的结构示意图;
图2是本发明人脸识别方法第一实施方式的流程示意图;
图3是本发明人脸识别方法中预设匹配规则和预设验证关系的示意图;
图4是本发明人脸识别系统第一实施方式的结构示意图;
图5是本发明实施例的人脸识别方法的第二实施环境的结构示意图;
图6是本发明人脸识别方法第二实施方式的流程示意图;
图7是本发明人脸识别系统第二实施方式的结构示意图;
图8是本发明人脸识别方法第三实施方式的流程示意图;
图9是本发明人脸识别系统第三实施方式的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
请参阅图1,图1是本发明实施例的人脸识别方法的第一实施环境的结构示意图。
图1所示第一实施环境用于实现本发明的部分实施例或实施方式所述的人脸识别方法,包括用户端120和数据库端140,所述用户端120与数据库端140通过无线网络或有线网络连接。
其中,用户端120可包括智能手机、台式机、笔记本、个人数字助理、平板电脑等终端设备中的至少一种,装设有用于采集待识别人脸(人脸的图像或视频流)、对所述待识别人脸进行加法同态加密的应用程序。
数据库端140,可通过网络接收用户端120发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文。
数据库端140还可基于加法同态加密算法的原理和全同态加密算法的原理,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,对所述密钥密文分别与匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文,完成人脸识别。
优选地,每个距离平方为所述待识别人脸和每个数据库脸在各个特征脸组成的特征维度中的欧式距离的平方;匹配阈值密文为预设的匹配阈值的加法同态加密数据,每个特征脸对应的平均脸投影加密数据为通过所述加法同态加密密钥对每个数据库脸在各个特征脸上的投影系数的平方和进行加密生成的数据。特征脸可为用于机器视觉领域中的人脸识别问题的一组特征向量。这些特征向量可从高维矢量空间的人脸图像的协方差矩阵计算而来。数据库脸为预存在数据库中的人脸信息,对各个数据库脸进行五官(耳朵除外)轮廓提取,然后将提取的信息求平均,即可生成平均轮廓,如一个大眼睛加一个小眼睛就是一个中等大小的眼睛。然后用对应位置的平均肤色填充平均轮廓,生成平均脸,只要拥有足够数量的样本,就可以从该群体提取出比较精确的“平均脸”。
数据库端140可预先采集存储数据库脸,对数据库脸进行处理,生成特征脸和平均脸。进一步,可假设特征脸的每个特征向量都是整数,每个特征向量都伴随一个串身份标识,它包含了特征向量属于的个人的身份信息。可假设身份被编码成一个选择加密方案中信息空间的一个非零元素。
本实施环境,可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围。
请参阅图2,图2是本发明人脸识别方法第一实施方式的流程示意图。
本实施方式所述的人脸识别方法,运行于数据库端140,可包括以下步骤:
步骤S201,接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文。
步骤S202,通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据。
步骤S203,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
步骤S204,将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
步骤S205,通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集。
步骤S206,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
本实施方式,接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,进而基于加法同态加密算法的原理和全同态加密算法的原理,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密生成全同态密文集,基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围。
其中,对于步骤S201,优选地,所接收的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,可由用户端直接发送。也可由其他中间设备中转到数据库端。用户端可通过摄像机或摄像头采集所述待识别的人脸,分别对所述加法同态解密密钥和所述待识别人脸进行加法同态加密。还可通过本领域惯用的其他采集方式采集所述待识别的人脸。
对于步骤S202,若最小的平方距离大于所述预设匹配阈值,则最小的平方距离对应的数据库脸与所述待识别的人脸不匹配,未识别到人脸,若最小的平方距离不大于所述预设匹配阈值,则最小的平方距离对应的数据库脸与所述待识别的人脸不配,识别到人脸。
其他实施方式中,可在步骤S203之前,通过所述加法同态加密密钥对每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成每个数据库脸对应的加密数据,在步骤S203之后,通过所述加法同态加密密钥分别对所述预设匹配阈值、所述平均脸与每个特征脸的向量积的相反数进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据。
对于步骤S203,在加法同态加密的加密原理基础上,根据投影脸与所述待识别人脸、所述平均脸和各个特征脸之间的对应关系(即所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据为所述投影脸),可将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文。
优选地,加法同态加密的加密原理如以下公式(1)表述:
[x+y]PE=[x]PE*[y]PE (1);
其中,[x+y]PE表示数据x与数据y的相加值的加法同态加密数据,[x]PE表示数据x的加法同态加密数据,[y]PE表示数据y的加法同态加密数据。
在一个实施例中,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文的步骤包括以下步骤:
分别以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数。
将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的连乘加密数据。
将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成所述投影脸的加法同态加密密文。
优选地,所述人脸数据的分量个数可为像素大小。
对于步骤S204,在加法同态加密的加密原理基础上,根据每个距离平方与投影脸、每个数据库脸和各个特征脸之间的对应关系(所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方,即每个距离平方),将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文。
在一个实施例中,将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文的步骤包括以下步骤:
分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数。
将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据库脸对应的连乘加密数据。
分别将相同的数据库脸对应的连乘加密数据与加密数据进行相乘,生成每个距离平方的加法同态加密密文。
本实施例,直接将相同的数据库脸对应的连乘加密数据与加密数据的乘积作为每个距离平方的加法同态加密密文,可将数据库端与用户端的交互次数降低为1次,并且有效降低数据库端的计算量。
在其他实施例中,将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文的步骤包括以下步骤:
分别以每个数据库脸在第j个特征脸的投影系数为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数。
将以相同的数据库脸的投影系数为指数的乘方运算结果进行连乘,生成每个数据库脸对应的连乘加密数据。
将每个数据库脸对应的加密数据除以所述每个数据库脸对应的连乘加密数据的平方,生成每个距离平方的加法同态加密密文。
对于步骤S206,可在全同态加密的加密原理基础上,基于所述预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。所述预设匹配规则用于从各个平方距离中选取最小的平方距离,比较最小的平方距离与所述预设匹配阈值间的大小,根据大小比较结果调取最小的平方距离对应的数据库脸的人脸标识(即最小的平方距离对应的人脸标识),或所述预设匹配阈值的人脸标识(用于标示未匹配到人脸)。
优选地,人脸标识为数据库脸的索引号,所述预设匹配阈值的人脸标识为0。
进一步地,全同态加密的加密原理如以下公式(2)和(3)所示:
[x+y]FHE=[x]FHE+[y]FHE (2);
[x*y]FHE=[x]FHE*[y]FHE (3);
其中,[x+y]FHE表示数据x与数据y的相加值的全同态加密数据,[x*y]FHE标识数据x与数据y的乘积的全同态加密数据,[x]FHE表示数据x的全同态加密数据,[y]FHE表示数据y的全同态加密数据。
在一个实施例中,所述预设匹配规则包括如下人脸匹配关系:
若各个距离平方中数值最小的距离平方不大于所述预设匹配阈值,则以数值最小的距离平方对应的人脸标识为识别结果。
若各个距离平方中数值最小的距离平方大于所述预设匹配阈值,则以用于标示未识别到人脸的人脸标识为识别结果。
基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文的步骤包括以下步骤:
根据所述预设匹配规则,将所述全同态密文集转换为各个距离平方中数值最小的距离平方对应的人脸标识的加法同态加密密文,生成识别结果的全同态加密密文。
或,
根据所述预设匹配规则,将所述全同态密文集转换为所述预设匹配阈值对应的人脸标识的加法同态加密密文,生成识别结果的全同态加密密文。
在另一个实施例中,在接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文的步骤之后,还包括以下步骤:
接收至少三个随机数中每个随机数的加法同态加密数据。
在基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文的步骤之后,还包括以下步骤:
通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文。
根据所述至少三个随机数与识别结果间的预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
优选地,可由用户端分别对至少三个随机数中每个随机数进行加法同态加密,生成每个随机数的加法同态加密数据。所述预设验证关系可由数据库端与用户端预先设定,也可由用户端单方预先设定,然后向数据库端发送所述预设验证关系。
更进一步地,所述预设匹配规则和所述预设验证关系如图3所示。
在图3中,a、b、c表示三个随机数,D1至DM对应每个距离平方,τ表示相互匹配的征待识别人脸与数据库脸之间的距离平方的最大值(预设匹配阈值),表示投影脸的各个分量,τ'表示预设匹配阈值与投影脸的各个分量的平方和之间的差值,Dmin表示各个距离平方中的最小值,Idmin表示与各个距离平方中的最小值对应的人脸标识,Δ1表示随机数a和c与识别结果的对应关系,Δ2表示随机数c与识别结果的对应关系。若各个距离平方中数值最小的距离平方不大于所述预设匹配阈值,则以数值最小的距离平方对应的人脸标识为识别结果。若各个距离平方中数值最小的距离平方大于所述预设匹配阈值,则以所述预设匹配阈值对应的人脸标识为识别结果。所述待验证的全同态加密密文为Δ1和Δ1的全同态加密数据。
在其他实施例中,在基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文的步骤之后,还包括以下步骤:
将所述识别结果的全同态加密密文向用户端发送,以使用于端通过全同态解密密钥对所述识别结果的全同态加密密文进行解密,生成识别结果。
或,
将所述待验证的全同态加密密文向用户端发送,以使用于端通过全同态解密密钥对所述待验证的全同态加密密文进行解密,生成待验证的识别结果。
若所述待验证的识别结果与所述预设匹配规则一致,则根据所述预设匹配规则将所述待验证的识别结果转换为识别结果。
若所述待验证的识别结果与所述预设匹配规则一致,则舍弃所述待验证的识别结果。表征人脸识别错误。
请参阅图4,图4是本发明人脸识别系统第一实施方式的结构示意图。
本实施方式所述的人脸识别系统,部署于数据库端140,可包括接收模块410、加法同态加密模块420、投影脸密文模块430、距离平方密文模块440、全同态密文集模块450和识别模块460,其中:
接收模块410,用于接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文。
加法同态加密模块420,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据。
投影脸密文模块430,用于将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
距离平方密文模块440,用于将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
全同态密文集模块450,用于通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集。
识别模块460,用于基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
图4所示的人脸识别系统与图2所示的人脸识别方法一一对应,各技术特征与图2所示的人脸识别方法中所述一致。
优选地,投影脸密文模块430还可包括第一乘方模块、第一连乘模块和第一加密数据转换模块,其中:
所述第一乘方模块用于分别以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数。
所述第一连乘模块用于将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的连乘加密数据。
所述第一加密数据转换模块用于将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,构成所述投影脸的加法同态加密密文。
在一个实施例中,所述距离平方密文模块440还可包括第二乘方模块、第二连乘模块和第二加密数据转换模块,其中:
所述第一乘方模块,用于分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数。
所述第二连乘模块,用于将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据库脸对应的连乘加密数据。
所述第二加密数据转换模块,用于分别将相同的数据库脸对应的连乘加密数据与加密数据进行相乘,生成每个距离平方的加法同态加密密文。
在另一个实施例中,所述人脸识别系统还可包括随机加密数据接收模块、随机数全同态加密模块和加密验证模块,其中:
所述随机加密数据接收模块用于接收至少三个随机数中每个随机数的加法同态加密数据。
所述随机数全同态加密模块用于通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文。
所述加密验证模块用于根据所述至少三个随机数与识别结果间的预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
请参阅图5,图5是本发明实施例的人脸识别方法的第二实施环境的结构示意图。
图5所示第二实施环境用于实现本发明的部分实施例或实施方式所述的人脸识别方法,包括用户端520、数据库端540和外包服务器560,用户端520、数据库端540和外包服务器560可互相通过无线网络或有线网络连接。
其中,用户端520可包括智能手机、台式机、笔记本、个人数字助理、平板电脑等终端设备中的至少一种,装设有用于采集待识别人脸(人脸的图像或视频流)、对所述待识别人脸进行加法同态加密的应用程序。
数据库端540,可通过网络接收用户端520发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文。
数据库端540,可生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文;分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文。
外包服务器560,可生成每个特征脸对应的连乘加密数据,还可接收数据库端发送的所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
外包服务器560,进一步还可将所述识别结果的全同态加密密文向用户端520发送。用户端520可通过全同态解密密钥对所述识别结果的全同态加密密文解密,提取出所述识别结果,获知所述待识别人脸是否与数据库脸匹配。
优选地,外包服务器560可为云服务器,通过云服务器的处理大数据的能力和执行并行计算的能力,可有效降低数据库端540的计算量。
本实施环境,通过用户端520、数据库端540和外包服务器560间的交互协作,可在用户端520和数据库端540的计算能力有限或较弱的同时,通过外包服务器560的辅助,减少用户端520与数据库端540的交互次数、降低数据库端540的运算消耗、快速高效的完成人脸识别,且无论外包服务器560是否可信,均可有效降低待识别人脸的泄密风险。
请参阅图6,图6是本发明人脸识别方法第二实施方式的流程示意图。
本实施方式所述的人脸识别方法,运行数据库端540,可包括以下步骤:
步骤S601,接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文。
步骤S602,通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据。
步骤S603,向外包服务器发送所述人脸加密数据和各个特征脸。
步骤S604,接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数。
步骤S605,将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
步骤S606,向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数。
步骤S607,接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数。
步骤S608,分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
步骤S609,向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
本实施方式,可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,通过具有高运算能力的外包服务器的辅助,将高消耗运算和大数据处理外包到外包服务器,可有效降低数据库端的运算量,进一步提高人脸识别效率。
在一个实施例中,在接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文的步骤之后,还包括以下步骤:
接收所述用户端发送的至少三个随机数中每个随机数的加法同态加密数据。
向所述外包服务器发送每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系,以使所述外包服务器通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文,并根据所述预设验证关系将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
对于步骤S608,优选地可直接将相同的数据库脸对应的连乘加密数据与加密数据的乘积作为每个距离平方的加法同态加密密文。
在一个实施例中,l=1,2,…,M,欧式距离的平方的加密形式为公式(4)至(7):
其中,Dl表示,欧式距离的平方的加法同态加密数据,Ωl表示数据库脸,表示投影脸,ωl,j表示第l个数据库脸在第j个特征脸的投影系数,表示投影脸对应第j个特征脸的投影系数。而是一个常量。可不计算,将与的乘积作为每个数据库脸对应的距离平方的加法同态密文,不影响人脸识别。
图6所示的人脸识别方法与图2所示的人脸识别方法相应,各技术特征与图2所示的人脸识别方法中所述一致,在此不再赘述。
请参阅图7,图7是本发明人脸系统第二实施方式的结构示意图。
本实施方式所述的人脸识别系统,部署于数据库端540,可包括第一接收模块710、加法同态加密模块720、第一发送模块730、第二接收模块740、投影脸密文模块750、第二发送模块760、第三接收模块770、距离平方密文模块780和第三发送模块790,其中:
第一接收模块710,用于接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文。
加法同态加密模块720,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据。
第一发送模块730,用于向外包服务器发送所述人脸加密数据和各个特征脸。
第二接收模块740,用于接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数。
投影脸密文模块750,用于将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
第二发送模块760,用于向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数。
第三接收模块770,用于接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数。
距离平方密文模块780,用于分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
第三发送模块790,用于向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则将所述全同态密文集转换为包括人脸标识的识别结果的全同态加密密文。
本实施方式,可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,通过具有高运算能力的外包服务器的辅助,将高消耗运算和大数据处理外包到外包服务器,可有效降低数据库端的运算量,进一步提高人脸识别效率。
在一个实施例中,所述人脸识别系统还可包括第四接收模块和第四发送模块,其中:
所述第四接收模块用于接收所述用户端发送的至少三个随机数中每个随机数的加法同态加密数据。
所述第四发送模块用于向所述外包服务器发送每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系,以使所述外包服务器通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文,并根据所述预设验证关系将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
图7所示的人脸识别系统与图4所示的人脸识别系统相应,各技术特征与图4所示的人脸识别系统中所述一致,在此不再赘述。
请参阅图8,图8是本发明人脸识别方法第三实施方式的流程示意图。
本实施方式所述的人脸识别方法,运行外包服务器560,可包括以下步骤:
步骤S801,接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文。
步骤S802,以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数。
步骤S803,将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据。
步骤S804,向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
步骤S805,接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数。
步骤S806,分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数。
步骤S807,将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据。
步骤S808,向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
步骤S809,接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则。
步骤S810,通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集。
步骤S811,基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
本实施方式,可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,代替数据库端进行高消耗运算和大数据处理,还可有效降低数据库端的运算量,进一步提高人脸识别效率。
在一个实施例中,在接收数据库端发送的人脸加密数据和各个特征脸的步骤之后,还包括以下步骤:
接收所述数据库端发送的至少三个随机数中每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系;
通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文;
根据所述预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文;
向用户端发送所述待验证的全同态加密密文,以使所述用户端通过全同态解密密钥对所述待验证的全同态加密密文进行解密,并验证解密结果是否与所述预设验证关系一致。
优选地,若解密结果中人脸识别结果与所述至少三个随机数的对应关系为所述预设验证关系,则判定所述解密结果与所述预设验证关系一致,表示人脸识别未发生误操作,识别结果正确。
图8所示的人脸识别方法与图2所示的人脸识别方法相应,各技术特征与图2所示的人脸识别方法中所述一致,在此不再赘述。
请参阅图9,图9是本发明人脸系统第三实施方式的结构示意图。
本实施方式所述的人脸识别系统,部署于外包服务器560,可包括第五接收模块9010、第一乘方模块9020、第一连乘模块9030、第五发送模块9040、第六接收模块9050、第二乘方模块9060、第二连乘模块9070、第六发送模块9080、第七接收模块9090、全同态密文集模块9100和识别模块9110,其中:
第五接收模块9010,用于接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文。
第一乘方用于9020,用于以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数。
第一连乘模块9030,用于将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据。
第五发送模块9040,用于向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据。
第六接收模块9050,用于接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数。
第二乘方模块9060,用于分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数。
第二连乘模块9070,用于将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据。
第六发送模块9080,用于向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方。
第七接收模块9090,用于接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则。
全同态密文集模块9100,用于通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集。
识别模块9110,用于基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
本实施方式,可在降低用户人脸数据的泄密风险的同时提高人脸识别的效率和适用范围,代替数据库端进行高消耗运算和大数据处理,还可有效降低数据库端的运算量,进一步提高人脸识别效率。
图9所示的人脸识别系统与图4所示的人脸识别系统相应,各技术特征与图4所示的人脸识别系统中所述一致,在此不再赘述。
在一个实施例中,所述人脸识别系统还可包括第八接收模块、随机数全同态加密模块、加密验证模块和第七发送模块,其中:
所述第八接收模块,用于接收所述数据库端发送的至少三个随机数中每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系。
所述随机数全同态加密模块用于通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文。
所述加密验证模块用于根据所述预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文;
所述第七发送模块用于向用户端发送所述待验证的全同态加密密文,以使所述用户端通过全同态解密密钥对所述待验证的全同态加密密文进行解密,并验证解密结果是否与所述预设验证关系一致。
优选地,若解密结果中人脸识别结果与所述至少三个随机数的对应关系为所述预设验证关系,则判定所述解密结果与所述预设验证关系一致,表示人脸识别未发生误操作,识别结果正确。解密运算的复杂度与数据库脸的个数无关,大概为O(1)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (17)
1.一种人脸识别方法,其特征在于,包括以下步骤:
接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
2.根据权利要求1所述的人脸识别方法,其特征在于,将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文的步骤包括以下步骤:
分别以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的连乘加密数据;
将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成所述投影脸的加法同态加密密文。
3.根据权利要求2所述的人脸识别方法,其特征在于,将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文的步骤包括以下步骤:
分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据库脸对应的连乘加密数据;
分别将相同的数据库脸对应的连乘加密数据与加密数据进行相乘,生成每个距离平方的加法同态加密密文。
4.根据权利要求1所述的人脸识别方法,其特征在于:
所述预设匹配规则包括如下人脸匹配关系:
若各个距离平方中数值最小的距离平方不大于所述预设匹配阈值,则以数值最小的距离平方对应的人脸标识为识别结果;
若各个距离平方中数值最小的距离平方大于所述预设匹配阈值,则以用于标示未识别到人脸的人脸标识为识别结果;
基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文的步骤包括以下步骤:
根据所述预设匹配规则,将所述全同态密文集转换为各个距离平方中数值最小的距离平方对应的人脸标识的加法同态加密密文,生成识别结果的全同态加密密文;
或,
根据所述预设匹配规则,将所述全同态密文集转换为所述预设匹配阈值对应的人脸标识的加法同态加密密文,生成识别结果的全同态加密密文。
5.根据权利要求1至4中任意一项所述的人脸识别方法,其特征在于:
在接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文的步骤之后,还包括以下步骤:
接收至少三个随机数中每个随机数的加法同态加密数据;
在基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文的步骤之后,还包括以下步骤:
通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文;
根据所述至少三个随机数与识别结果间的预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
6.一种人脸识别系统,其特征在于,包括:
接收模块,用于接收人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
加法同态加密模块,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
投影脸密文模块,用于将每个特征脸对应的平均脸投影加密数据、所述人脸加密数据和各个特征脸转换为投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
距离平方密文模块,用于将每个数据库脸对应的加密数据、所述投影脸的加法同态加密密文和所述投影系数转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
全同态密文集模块,用于通过所述全同态加密密钥,对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
识别模块,用于基于所述预设匹配阈值、每个距离平方以及各人脸标识间的预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
7.根据权利要求6所述的人脸识别系统,其特征在于,所述投影脸密文模块还包括第一乘方模块、第一连乘模块和第一加密数据转换模块,其中:
所述第一乘方模块用于分别以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
所述第一连乘模块用于将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的连乘加密数据;
所述第一加密数据转换模块用于将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成所述投影脸的加法同态加密密文。
8.根据权利要求7所述的人脸识别系统,其特征在于,所述距离平方密文模块还包括第二乘方模块、第二连乘模块和第二加密数据转换模块,其中:
所述第一乘方模块,用于分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
所述第二连乘模块,用于将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据库脸对应的连乘加密数据;
所述第二加密数据转换模块,用于分别将相同的数据库脸对应的连乘加密数据与加密数据进行相乘,生成每个距离平方的加法同态加密密文。
9.根据权利要求6至8中任意一项所述的人脸识别系统,其特征在于,还包括随机加密数据接收模块、随机数全同态加密模块和加密验证模块,其中:
所述随机加密数据接收模块用于接收至少三个随机数中每个随机数的加法同态加密数据;
所述随机数全同态加密模块用于通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文;
所述加密验证模块用于根据所述至少三个随机数与识别结果间的预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
10.一种人脸识别方法,其特征在于,包括以下步骤:
接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
向外包服务器发送所述人脸加密数据和各个特征脸;
接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数;
将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数;
接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数;
分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则,将所述全同态密文集转换为含有人脸标识的识别结果的全同态加密密文。
11.根据权利要求10所述的人脸识别方法,其特征在于:
在接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文的步骤之后,还包括以下步骤:
接收所述用户端发送的至少三个随机数中每个随机数的加法同态加密数据;
向所述外包服务器发送每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系,以使所述外包服务器通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文,并根据所述预设验证关系将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
12.一种人脸识别系统,其特征在于,包括:
第一接收模块,用于接收用户端发送的人脸加密数据、全同态加密密钥、加法同态加密密钥以及密钥密文,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文,所述密钥密文为对加法同态解密密钥进行全同态加密所得的密文;
加法同态加密模块,用于通过所述加法同态加密密钥分别对预设匹配阈值、平均脸与每个特征脸的向量积的相反数、以及用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数的平方和进行加密,生成匹配阈值密文、每个特征脸对应的平均脸投影加密数据、以及每个数据库脸对应的加密数据;
第一发送模块,用于向外包服务器发送所述人脸加密数据和各个特征脸;
第二接收模块,用于接收所述外包服务器发送的每个特征脸对应的连乘加密数据,其中,所述每个特征脸对应的连乘加密数据为所述外包服务器以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,并将以相同的特征脸的分量为指数的乘方运算结果进行连乘所得的数据,i为1到N中的任意一个整数,N为人脸数据的分量个数;
投影脸密文模块,用于将相同的特征脸对应的连乘加密数据和平均脸投影加密数据相乘,生成每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
第二发送模块,用于向所述外包服务器发送所述投影脸的加法同态加密密文和每个数据库脸在各个特征脸上的投影系数;
第三接收模块,用于接收所述外包服务器发送的每个数据脸对应的连乘加密数据,其中,所述每个数据脸对应的连乘加密数据为所述外包服务器分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,并将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘所得的数据,其中,j为1到K中的任意一个整数,K为特征脸的个数;
距离平方密文模块,用于分别将相同的数据库脸对应的连乘加密数据与加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
第三发送模块,用于向所述外包服务器发送所述匹配阈值密文、所述全同态加密密钥、所述密钥密文、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则,以使所述外包服务器通过所述全同态加密密钥对所述密钥密文分别与所述匹配阈值密文、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集,并基于所述预设匹配规则将所述全同态密文集转换为包括人脸标识的识别结果的全同态加密密文。
13.根据权利要求12所述的人脸识别系统,其特征在于,还包括第四接收模块和第四发送模块,其中:
所述第四接收模块用于接收所述用户端发送的至少三个随机数中每个随机数的加法同态加密数据;
所述第四发送模块用于向所述外包服务器发送每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系,以使所述外包服务器通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文,并根据所述预设验证关系将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文。
14.一种人脸识别方法,其特征在于,包括以下步骤:
接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文;
以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据;
向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数;
分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据;
向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则;
通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
15.根据权利要求14所述的人脸识别方法,其特征在于:
在接收数据库端发送的人脸加密数据和各个特征脸的步骤之后,还包括以下步骤:
接收所述数据库端发送的至少三个随机数中每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系;
通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文;
根据所述预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文;
向用户端发送所述待验证的全同态加密密文,以使所述用户端通过全同态解密密钥对所述待验证的全同态加密密文进行解密,并验证解密结果是否与所述预设验证关系一致。
16.一种人脸识别系统,其特征在于,包括:
第五接收模块,用于接收数据库端发送的人脸加密数据和各个特征脸,其中,所述人脸加密数据为对待识别人脸进行加法同态加密所得密文;
第一乘方用于,用于以每个特征脸的第i个分量为所述人脸加密数据的第i个分量的指数,进行乘方运算,其中,i为1到N中的任意一个整数,N为人脸数据的分量个数;
第一连乘模块,用于将以相同的特征脸的分量为指数的乘方运算结果进行连乘,生成每个特征脸对应的人脸投影加密数据;
第五发送模块,用于向所述数据库端发送每个特征脸对应的人脸投影加密数据,以使所述数据库端将每个特征脸对应的人脸投影加密数据转换为每个特征脸对应的人脸投影加密数据,以构成投影脸的加法同态加密密文,其中,所述投影脸为所述待识别人脸与所述平均脸的差值在各个特征脸组成的特征维度中的投影数据;
第六接收模块,用于接收所述数据库端发送的所述投影脸的加法同态加密密文和用于提取出所述平均脸的每个数据库脸在各个特征脸上的投影系数;
第二乘方模块,用于分别以每个数据库脸在第j个特征脸的投影系数的负二倍为所述第j个特征脸对应的人脸投影加密数据的指数,进行乘方运算,其中,j为1到K中的任意一个整数,K为特征脸的个数;
第二连乘模块,用于将以相同的数据库脸的投影系数的负二倍为指数的乘方运算结果进行连乘,生成每个数据脸对应的连乘加密数据;
第六发送模块,用于向所述数据库端发送每个数据脸对应的连乘加密数据,以使所述数据库端将每个数据库脸对应的连乘加密数据转换为每个距离平方的加法同态加密密文,其中,每个距离平方为所述待识别人脸和每个数据库脸在所述特征维度中的欧式距离的平方;
第七接收模块,用于接收所述数据库端发送的全同态加密密钥、加法同态加密密钥、对加法同态解密密钥进行全同态加密所得的密钥密文、预设匹配阈值的加法同态加密数据、每个距离平方的加法同态加密密文、投影脸的加法同态加密密文、以及所述预设匹配阈值、每个距离平方与各人脸标识间的预设匹配规则;
全同态密文集模块,用于通过所述全同态加密密钥,对所述密钥密文分别与所述预设匹配阈值的加法同态加密数据、所述投影脸的加法同态加密密文以及每个距离平方的加法同态加密密文的相加值进行加密,生成包括所述预设匹配阈值的全同态加密密文、所述投影脸的全同态加密密文以及每个距离平方的全同态加密密文的全同态密文集;
识别模块,用于基于所述预设匹配规则,将所述全同态密文集转换为识别结果的全同态加密密文。
17.根据权利要求16所述的人脸识别系统,其特征在于,还包括第八接收模块、随机数全同态加密模块、加密验证模块和第七发送模块,其中:
所述第八接收模块,用于接收所述数据库端发送的至少三个随机数中每个随机数的加法同态加密数据、以及所述至少三个随机数与识别结果间的预设验证关系;
所述随机数全同态加密模块用于通过所述全同态加密密钥,对所述密钥密文与每个随机数的加法同态加密数据的相加值进行加密,生成每个随机数的全同态加密密文;
所述加密验证模块用于根据所述预设验证关系,将每个随机数的全同态加密密文和所述识别结果的全同态加密密文转换为待验证的全同态加密密文;
所述第七发送模块用于向用户端发送所述待验证的全同态加密密文,以使所述用户端通过全同态解密密钥对所述待验证的全同态加密密文进行解密,并验证解密结果是否与所述预设验证关系一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510194166.6A CN104821942B (zh) | 2015-04-22 | 2015-04-22 | 人脸识别方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510194166.6A CN104821942B (zh) | 2015-04-22 | 2015-04-22 | 人脸识别方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104821942A true CN104821942A (zh) | 2015-08-05 |
CN104821942B CN104821942B (zh) | 2017-11-14 |
Family
ID=53732105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510194166.6A Active CN104821942B (zh) | 2015-04-22 | 2015-04-22 | 人脸识别方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104821942B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619229A (zh) * | 2019-09-25 | 2019-12-27 | 南开大学 | 基于神经网络拆分的数据加密传输方法及系统 |
CN111241514A (zh) * | 2020-01-14 | 2020-06-05 | 浙江理工大学 | 一种基于人脸验证系统的安全人脸验证方法 |
CN111372023A (zh) * | 2018-12-25 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种码流加密、解密方法及装置 |
CN111738238A (zh) * | 2020-08-14 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 人脸识别方法和装置 |
WO2021068445A1 (zh) * | 2019-10-11 | 2021-04-15 | 云图技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113672890A (zh) * | 2020-05-15 | 2021-11-19 | 中移(上海)信息通信科技有限公司 | 身份认证方法、装置、电子设备及计算机存储介质 |
CN114978623A (zh) * | 2022-05-06 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的人脸比对方法及装置 |
CN114973373A (zh) * | 2022-05-30 | 2022-08-30 | 福州大学 | 一种融合欧氏距离和同态加密的人脸识别方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886953B1 (en) * | 2012-09-14 | 2014-11-11 | Google Inc. | Image processing |
-
2015
- 2015-04-22 CN CN201510194166.6A patent/CN104821942B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886953B1 (en) * | 2012-09-14 | 2014-11-11 | Google Inc. | Image processing |
Non-Patent Citations (2)
Title |
---|
BHATTACHARJEE D: ""Human face recognition using fuzzy multilayer preceptron"", 《SOFT COMPUT》 * |
PASCAL PAILLIER: ""Public-Key Cryptosystems Based on Composite Degree Residuosity Classes"", 《IN ADVANCES IN CRYPTOLOGY》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111372023A (zh) * | 2018-12-25 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种码流加密、解密方法及装置 |
CN110619229A (zh) * | 2019-09-25 | 2019-12-27 | 南开大学 | 基于神经网络拆分的数据加密传输方法及系统 |
WO2021068445A1 (zh) * | 2019-10-11 | 2021-04-15 | 云图技术有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111241514A (zh) * | 2020-01-14 | 2020-06-05 | 浙江理工大学 | 一种基于人脸验证系统的安全人脸验证方法 |
CN113672890A (zh) * | 2020-05-15 | 2021-11-19 | 中移(上海)信息通信科技有限公司 | 身份认证方法、装置、电子设备及计算机存储介质 |
CN111738238A (zh) * | 2020-08-14 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 人脸识别方法和装置 |
CN111738238B (zh) * | 2020-08-14 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 人脸识别方法和装置 |
US11256900B1 (en) | 2020-08-14 | 2022-02-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Facial recognition methods and apparatuses |
CN114978623A (zh) * | 2022-05-06 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的人脸比对方法及装置 |
CN114978623B (zh) * | 2022-05-06 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的人脸比对方法及装置 |
CN114973373A (zh) * | 2022-05-30 | 2022-08-30 | 福州大学 | 一种融合欧氏距离和同态加密的人脸识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104821942B (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104821942A (zh) | 人脸识别方法和系统 | |
Zhang et al. | A review of compressive sensing in information security field | |
CN103124269B (zh) | 云环境下基于动态口令与生物特征的双向身份认证方法 | |
CN109145829A (zh) | 一种基于深度学习和同态加密的安全高效的人脸识别方法 | |
He et al. | Security flaws in a smart card based authentication scheme for multi-server environment | |
CN110969431B (zh) | 区块链数字币私钥的安全托管方法、设备和系统 | |
CN105046234B (zh) | 基于稀疏表示的云环境中人脸图像隐秘识别方法 | |
Au et al. | Privacy-preserving personal data operation on mobile cloud—Chances and challenges over advanced persistent threat | |
CN107196926A (zh) | 一种云外包隐私集合比较方法与装置 | |
CN106533697B (zh) | 随机数生成与提取方法及其在身份认证上的应用 | |
CN101420301A (zh) | 人脸识别身份认证系统 | |
CN102664898A (zh) | 一种基于指纹识别的加密传输方法、装置及系统 | |
CN108737115A (zh) | 一种具有隐私保护的高效私有属性集交集求解方法 | |
CN102594551B (zh) | Rfid标签隐私数据可靠统计方法 | |
CN105553980A (zh) | 基于云计算的安全指纹识别系统和方法 | |
CN103297237B (zh) | 身份注册和认证方法、系统、个人认证设备和认证服务器 | |
CN105808998A (zh) | 一种指纹识别装置 | |
CN106357397A (zh) | 发送者可认证的非对称群密钥协商方法 | |
Huang et al. | Efficient privacy-preserving face verification scheme | |
CN112380404B (zh) | 数据过滤方法、装置及系统 | |
CN106411813A (zh) | 一种生物特征的传输方法、装置及移动终端 | |
CN103327363B (zh) | 实现基于语义粒度进行视频信息加密控制的系统及其方法 | |
CN113965310B (zh) | 基于可控去标识化的标签实现混合隐私计算处理的方法 | |
JP7294437B2 (ja) | 情報照合システム及び情報照合方法 | |
CN108111307A (zh) | 一种安全信息传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510006 Guangdong City, Guangzhou Province University, West Ring Road, No. 230 Applicant after: Guangzhou University Applicant after: Age of security Polytron Technologies Inc Address before: 510006 Guangdong City, Guangzhou Province University, West Ring Road, No. 230 Applicant before: Guangzhou University Applicant before: Guangdong Certificate Authority Center Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |