【技术实现步骤摘要】
一种基于特征脸的隐私身份认证方法
[0001]本专利技术属于人脸识别领域,尤其涉及一种基于特征脸的隐私身份认证方法。
技术介绍
[0002]特征脸法是一种较为“古老”的人脸识别算法。该算法的核心技术是PCA算法,它是一种线性降维方法,主要是将图像数据、文本数据等非结构化数据进行降维处理。特征脸法被用在人脸识别上,是由Sirovich and Kirby提出的。随后Matthew Turk和Alex Pentland提出了较为成熟的特征脸识别方法。
[0003]零知识证明是由S.Gold Wasser,S.Micali及C.Rackoff在20世纪80年代初提出的。零知识证明指的是证明者能够在不对验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明主要分为交互式与非交互式两种证明方式。由于交互式零知识证明中双方存在作弊的可能,通常采用非交互式零知识证明。
[0004]在传统的人脸识别场景中,验证者通过设备实时地获取证明者的人脸信息,随后通过人工智能相关技术,计算出证明者的人脸特征,最后采用 ...
【技术保护点】
【技术特征摘要】
1.一种基于特征脸的隐私身份认证方法,其特征在于,包括如下步骤:步骤1:可信第三方计算特征模板;步骤2:构造加密系统;步骤3:发送Statement(陈述);步骤4:发送加密图像与公钥;步骤5:计算人脸特征值;步骤6:求线性等式;步骤7:计算中间值;步骤8:返回密文Witness;步骤9:生成CRS;步骤10:解密Witness;步骤11、步骤12:发送CRS;步骤13:发送证明;步骤14:验证证明;步骤15:返回验证结果。2.根据权利要求1所述的基于特征脸的隐私身份认证方法,其特征在于,所述步骤1包括如下具体步骤:步骤1.1:将人脸图像进行预处理操作;步骤1.2:将人脸图像转换为一个列向量:经过灰度化处理的图片是一个矩阵,将这个矩阵的每一个行连接到一起,变成一个向量,将该向量转换为列向量;步骤1.3:将数据集中的所有图片转换为向量后,得到一个矩阵,在此基础上进行零均值化处理,将所有的人脸在对应的维度求平均,得到一个平均脸向量;每个人脸向量,减去该向量完成零均值化处理;步骤1.4:将经过零均值化处理的图像组合在一起,得到一个矩阵,通过该矩阵得到PCA算法的协方差矩阵;计算协方差矩阵的特征值与特征向量,选取最大的n个特征向量,作为特征脸模板;3.根据权利要求2所述的基于特征脸的隐私身份认证方法,其特征在于,所述的步骤2包括:步骤2.1:首先对图像进行预处理操作;步骤2.2:将图像预处理阶段的输出图像A,求其逆元素,生成新的图像矩阵A';步骤2.3:求图像哈希;步骤2.4:构造用户的公私钥;步骤2.5:加密个人图像;所述步骤2.1的具体步骤如下:步骤2.1.1:首先获取人脸图像;步骤2.1.2:将人脸图像进行灰度化处理;步骤2.1.3:随后将人脸图像进行重置大小,转化为固定大小的图像;步骤2.1.4:将图像进行降噪处理;排除获取图像时,因为周围环境或设备原因产生的噪声干扰;
步骤2.1.5:对图像进行直方图均衡化处理;所述步骤2.2的具体步骤如下:根据公式f'(x,y)=255
‑
f(x,y)求其图像对应逆元素,生成新的图像A'。其中f(x,y)为坐标(x,y)在原始图像上的像素值;f'(x,y)为新的图像在坐标(x,y)上的像素值;所述步骤2.3的具体步骤如下:对原始图像和新生成的图像进行哈希运算;根据Y=Hash(X)公式,对图像X求哈希值,Y为哈希函数的输出;对A与A'分别做哈希运算,生成Y1=Hash(A),Y2=Hash(A');所述步骤2.4的具体步骤如下:根据Paillier算法与步骤2.3的图像哈希值,构造出用户的公私钥;其中大素数p为大于A且与A最近的素数,大素数q为大于A'且与A'最近的素数,并且满足gcd(pq,(p
‑
1)(q
‑
1))=1;根据公式λ=lcm(p
‑
1,q
‑
1),计算出p
‑
1与q
‑
1的最小公倍数λ;根据公式N=p
·
q,计算出N;随机选取整数g,且满足gcd(L(g
λ
modN2),N)=1其中mod表示为取模运算,gcd表示求最大公倍数操作;G表示集合{0,1,2,3,
…
,N2‑
1}内的元素,L(u)=u
‑
1/N;最后得出公钥为(g,N),私钥为(p,q);所述步骤2.5包括如下具体步骤:根据Paillier算法产生的公钥对(g,N)对图像的每个像素值进行加密处理:G(x,y)=g
f(x,y)
r
N
modN2f(x,y)表示预处理后的图像在坐标(x,y)下的像素值;r是一个随机数,表示集合{0,1,2,
…
,N}的一个与N互素的元素;G(x,y)表示为原图像在坐标(x,y)下的加密值;将加密后的图像转换为向量形式,加密的图像是一个矩阵,将这个矩阵的每一个行连接到一起,变成一个向量,将该向量转换为列向量。4.根据权利要求3所述的基于特征脸的隐私身份认证方法,其特征在于,所述的步骤3包括如下具体步骤:服务器根据步骤1计算出前n个最大特征模板(X1,X2,X3,
…
,X
n
)(特征向量),其中每一个参数X
i
均为一个m维特征脸模板;将每个特征模板内的值进行相加,再进行取整操作,转化为整数值,从而得到将n个整数(Y1,Y2,Y3,
…
,Y
n
);将n个整数(Y1,Y2,Y3,
…
,Y
n
)作为零知识证明中的Statement(陈述)以秘密的方式发给验证者;所述步骤4包括如下具体步骤:用户将加密后的列向量与Paillier算法产生的公钥对(g,N)发给可信第三方;所述步骤5包括如下具体步骤:可信第三方收到用户加密图像的列向量与用户的公钥后,进行计算用户人脸密文特征值(θ
′1,θ
′2,θ
′3,
…
,θ
′
n
);按照如下公式计算用户的特征向量:
其中Γ表示为人脸向量的数据,Ψ表示PCA算法计算初期时,由人脸向量的维度的均值构成的向量,也就是平均脸;给定加密的人脸图像密文与用户的公钥,根据Paillier算法的加法同态性即求出密文形式的人脸特征值(θ
′1,θ
′2,θ
′3,
…
,θ
′
n
)。5.根据权利要求4所述的基于特征脸的隐私身份认证方法,其特征在于,所述的步骤6包括如下具体步骤:根据特征脸算法的特性,将输入的人脸图像用如下公式表示:θ1·
X1+θ2·
X3+θ3·
X3+
…
+θ
n
·
X
n
≈Y其中(θ1,θ2,θ3,
…
,θ
n
)为明文人脸特征值,(X1,X2,X3,
…
,X
n
)中每一个参数X
i
均为一个m维特征脸模板,Y为m维输入明文人脸向量;随后将本地n个m维特征脸模板(X1,X2,X3,
…
,X
n
)内每一个特征模板X
i
的所有值相加后取整数,向量Y内的所有值相加后取整数得到整数Y',从而将等...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。