一种计算机网络身份验证系统及方法、计算机程序与流程

文档序号:16630090发布日期:2019-01-16 06:29阅读:363来源:国知局
一种计算机网络身份验证系统及方法、计算机程序与流程

本发明属于信息技术领域,尤其涉及一种计算机网络身份验证系统及方法、计算机程序。



背景技术:

目前,将帐号(有些情况称为用户名)和密码直接通过用户终端输入并传送到服务器,服务器对比预存的帐号和密码,是否相同,决定用户身份的真伪。这种认证方法在认证过程中会暴露密码,密码容易被偷窥和盗取,并且密码也不容易被记住,会存在混乱而无法登录等现象。有些地方通过刷卡进行认证登录,会存在丢失、遗忘等现象,安全性差。同时,这些技术渐渐的将会被淘汰,不能对用户身份信息妥善保管,就很有可能造成大规模用户隐私泄露甚至被不法分子盗用的危险,由此给用户带来了严重的影响。

综上所述,现有技术存在的问题是:

认证过程中会暴露密码,密码容易被偷窥和盗取,刷卡进行认证登录,会存在丢失、遗忘等现象,安全性较差。

现有技术中,用户注册基本信息中,基本信息的加密,保密性差。没有对用户的虹膜信息进行切实可行加解密,不能有效保护用户的利益。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种计算机网络身份验证系统及方法、计算机程序。

本发明是这样实现的,一种计算机网络身份验证方法,包括:

用户注册,填写基本信息之后进行人脸面部识别、虹膜上传、指纹录入;再进行手机号绑定注册;

用户注册基本信息中,需进行基本信息的加密,包括:

第一步,初始化建立算法:首先输入包含所有属性的属性集合u,属性在不同的分层中;然后选择一个阶为n=p1p2p3双线性复合群g,p1、p2、p3为不相同的素数,令表示阶为pi的子群,i=1,2,3;然后选择随机指数a和α、随机群元素其中,a,α∈zn,zn表示1至n-1的整数;对于u中的|u|个属性元素,选择对应的群元素则公共参数pk和主密钥msk分别为:

pk={n,g,gα,e(g,g)a,h1,......,h|u|};

msk={α,x3};

其中,e(g,g)a表示双线性对;

第二步,令属性集合s为属性集合u的分层子集,根据属性集合s、公共参数pk、消息m和一个提前生成的分层门限访问结构(mv,ρ)将属性集合u所有层次的属性均用一个表达式进行加密得到密文ct,其中,函数ρ表示分层访问结构mv中的行到属性的映射;令属性集合s的每一层的属性数量超过该层门限,使s满足分层的访问结构;

第三步,通过主密钥msk和属性集合s,结合步骤s1中的子群生成密钥sk;

第四步,通过访问结构mv对应的密文ct和属性集合s对应的密钥sk恢复出消息。

所述分层门限访问结构(mv,ρ)的生成方法具体如下:

1)系统初始化

定义函数f的运算规则如下:每进行一次f运算,就将多项式的常数项变为0,自变量的系数不变,次数减1,设a、b、c、d为确定的常实数,则有:

f(a+bx+cxd)=0+b+cxd-1

f(1+2x+3x4)=0+2+3x3

设(k,n)是一个分层的秘密共享系统,主要由一个秘密分发者d和n个参与者组成,属性集合u是n个参与者的集合,且包含m个层次,即其中对于i≠j,ui∩uj=φ;令是一个单调递增的整数序列0<k0<k1<...<km,并且km-1<km-1,ki是每一层的门限值,则(k,n)分层的门限访问结构就是要为属性集合u中每个参与者u分配秘密信息s的一个秘密份额σ(u),使其满足以下访问结构:

满足上式所描述的访问结构的分层的参与者子集s称为授权子集,可以恢复主秘密,而不满足上述访问结构的任何用户子集将无法获得关于主秘密的任何信息;

2)子秘密分发

秘密分发者d任意选取t-1个随机数a1,...,at-1和一个大素数q,然后构造多项式p(x)=s+a1x+...+at-1xt-1,其中s是需要被共享的主秘密;系统中的每个参与者u对应域里面的一个元素表示其身份,用uj表示,d根据参与者所处的层次i计算参与者的秘密份额其中:

p0(x)=p(x);

p1(x)=f1(p(x))=f(p(x));

pi(u)=f(pi-1(u));

表示多项式p(x)经过ki-1次f运算后在域元素uj处的值;ki-1是第i-1层的门限值且令k-1=0,d公开lm表示第m层中拥有属性集合s的元素数量;

3)秘密恢复

|s|表示s所具有的元素数量,设定满足:

其中,u0,…,um表示集合u的第0至m层,0≤l0≤l1≤...≤lm=|s|,当且仅当对于所有的0≤i≤m,li≥ki,s为一个授权子集,即符合访问结构,则s中所有的参与者合作时,可以组成系数矩阵mv,其中系数矩阵按行编写为:

s中的所有参与者可以合作解出如下的方程组:

即:

可以看出,若s满足访问结构,就可以重构出多项式p(x),从而恢复出秘密s;这个访问结构可以等价于分层矩阵的lsss的访问结构,即令被定义为i={j:(j)∈s},如果令是秘密s的一个子秘密,则存在常数{ωj∈zn}使得∑j∈iωjλj=s,其中,zn表示1到n的整数集合;ωj在秘密共享生成矩阵mv大小的多项式时间内总可以被找到,就可以恢复出来主秘密;

登录时通过扫描动态二维码,产生验证码进行输入进入虹膜验证,根据虹膜验证判断登录是否成功;

验证码进行虹膜验证中,需进行虹膜信息的解密,包括:

在得到密文z′=(z1′,…,z2l′)后,首先计算:

y′=l2-1(z′)=(y1′,…,y2l′);

对于点集p中的每一点(μ,λ),计算:

然后验证z(y1″,…,y2l″)=μ,如果不成立,则丢弃这组值;否则进行下一步;

最后计算:

m′=l1-1(y1″,…,y2l″)=(m1′,…,m2l′),

如果只有唯一的一组(m1′,…,m2l′),那么m′就一定是对应的明文,如果得到超过一组的(m1′,…,m2l′),则用hash函数或者增加验证方程的方式来确定唯一明文;

进一步,解密前,需先进行虹膜的加密,包括:

公钥生成:公钥由有限域k,以及它的加法和乘法结构和n个二次多元多项式组成;

私钥生成:私钥由映射随机选取的r个线性独立的z1,…,zr∈k[x1,…,x2l]、一个点集p、两个可逆仿射变换l1和l2以及它们的逆组成;

加密过程即给定明文m′=(x1′,…,xn′),用选取的公钥进行加密,形成密文z′=(z1′,…,zn′);

中心映射重新构造的过程包括以下步骤:

首先,选择r是一个比较小的整数,随机选择r个线性独立方程

映射z:k2l→kr如下确定:

z(x1,…,x2l)=(z1(x1,…,x2l),…,zr(x1,…,x2l)),

其次,随机选取2l个总次数为2的多项式

映射kr→k2l如下确定:

然后,定义扰动映射f*:k2l→k2l和z的复合:

其中f1*,…,f2l*∈k[x1,…,x2l],

最后,用内部扰动映射f*扰动原来的中心映射新的公钥映射为:

公钥生成包括以下步骤:

选取有限域k,以及它的加法和乘法结构;

选取2l个二次多元多项式组:

f1(x1,…,x2l),…,f2l(x1,…,x2l)∈k[x1,…,x2l];

私钥生成包括以下步骤:

选取映射即两个随机数α1,α2;

随机选取r个线性独立的z1,…,zr∈k[x1,…,xn];

选取一个点集p,p是所有映射kr→k2l的像和原像的集合,即:

点集p由随机选取的2l个二次多项式确定;

选取两个可逆仿射变换l1和l2以及它们的逆;

第二步中具体包括如下步骤:

2.1)令访问结构mv是一个j×t矩阵;

2.2)选择一个随机向量表示1到n的整数集合中的任意t个,其中,s表示秘密值,y1,......,yt-1为秘密值s的分享;

2.3)令|s|表示s所具有的元素数量,设定满足:

其中,u0,…,um表示集合u的第0至m层,0≤l0≤l1≤...≤lm=|s|,当且仅当对于所有的0≤i≤m,有li≥ki,li表示第i层中拥有集合s的元素数量,ki表示第i层中集合s的元素数量门限;

然后对于所有的j=1,...,l0,...,lm,计算mj表示mv中的第j行;

2.4)对于属性集合u的层次数i∈{0,...,m},设定j=li-1+c,l-1=0,c为常数,表示第i层的第c个属性,即属性集合u中的第j个属性对应于第i层的第c个属性;

2.5)选择随机数

2.6)将所有层次的属性通过以下表达式进行加密得出密文ct:

其中,hρ(j)表示与属性集合u中的第ρ(j)个属性元素对应的群元素,ρ(j)表示属性集合u中第j层的属性到访问结构mv的第j行的映射。

进一步,验证模块对于虹膜识别的算法为:

(1)提取边缘

用ccd获取的眼睛图像,包括巩膜、虹膜、瞳孔和上眼皮部分,将虹膜从整幅图像中分割出来,首先找出虹膜的内外边缘;

选用高斯—拉普拉斯二阶微分滤波器为二维高斯平滑滤波器g(x,y)与拉普拉斯算子的组合:

二阶微分滤波器为:

该滤波器虽不是可分离的,但可写成:

g1、g2均为可分离滤波器,采用分离算法,可以大大减少计算的复杂性;

2g与图像进行卷积:g(x,y)表示图像上对应点的强度,“*”表示卷积,卷积后获得边缘;

(2)定位虹膜

设虹膜的外圆、内圆方程为:

(x-x1)2+(y-y1)2=r12

(x-x2)2+(y-y2)2=r22

用hough变换可获得(x1,y1,r1)、(x2,y2,r2)两组参数值,一般情况下(x1,y1)≠(x2,y2),即不是同心圆,因为瞳孔并不位于虹膜的中心,总是有所偏离,两个圆之间的部分,定义为虹膜部分;定义外边界圆的圆心(x1,y1)为虹膜的中心;定义外边界圆的半径r1为虹膜的半径,获得了中心坐标(x1,y1),即获得了实时图像相对参考图像的平移量,中心为(p,q);获得了虹膜半径r1,即获得了比例变化因子r1/r,r为参考虹膜的标准半径;根据平移量和比例变化因子对实时图像进行平移和比例校正,用双线性插值法插补,就消除了平移和比例变化;

(3)图像匹配

上一步两个边界圆之间区域还包括眼皮部分,需去除该部分,以虹膜的中心为两坐标系的共同原点,将原直角坐标系转化为极坐标系,在极坐标系中,{(ρ,θ)70°<θ<110°}为含眼皮部分,去除;其余为只含有虹膜的部分,保留;保留下来可用于匹配、识别的虹膜部分约占全部虹膜面积的85%;

一般情形下,虹膜的旋转变化较小,约在±5°左右,而虹膜图像相关性较强,有较长的相关长度,因此,将旋转变化等效为噪声即可,这样也可以简化计算;图像的匹配采用相关系数测度:

其中,

g′(x,y)为参考图像强度值,|d|为d的面积。

进一步,指纹录入中,对于指纹采集的图像识别进行优化,具体方法如下:

(1)提取脊线

将指纹图像分割成足够小的子块,以满足块中纹理近似平行的条件;

对每个子块的每一个点p(s,t)利用sobel算子分别计算x方向梯度gx和y方向梯度gy,s,t=0,1,……w-1;

每个子块方向θ(m,n)的计算公式如下:

s′=s+mwt′=t+nw

(2)脊线频率

脊线频率被定义为两条脊线之间间距的倒数,采用gabor滤波器函数的实部作为模板,以与子块纹线方向垂直的方向作为滤波器方向,以脊线频率作为滤波器频率来构建滤波器,滤波过程如下式所示:

其中,g(s,t)为原始灰度图像,ge(s,t)是garbor滤波后的图像灰度,w为滤波器模板的大小,s为模板系数和,θ为子块的域方向值,garbor滤波器的θ与指纹纹理方向垂直,对σx和σy的取值进行折中,取值σx=4和σy=4。

进一步,人脸面部识别算法为:

(1)对原始数据进行标准化采集,该集合x的维度为p,

x=(x1,x2,x3,…,xp)t

其中,n个样品的集合xi为xi=(x1i,x2i,x3i,…,xpi)t,i=1,2,3,…,n,n>p,

针对样本阵元进行标准化变换:

称为z标准化阵;

(2)标准化阵z的矩阵系数:

其中,

(3)求解r的特征方程

|r-λip|p=0,

按照确定m的值,对其中每一个λj,得到单位特征向量

(4)将指标变量转化为主成分:

式中:u1为第一主成分;u2为第二主成分;u3为第三主成分;up为第p主成分;

(5)对载入的人脸图像进行几何归一化处理,假设载入的人脸图像的像素点为m×n,则将像素储存在列向量(x1,x2,x3,…)t中;

(6)求的平均人脸:

训练样本的协方差矩阵为:

取差值向量:

wi=xi-μx,

令w=(w1,w2,w3,…,wn);

(7)投射到待检测空间,则每幅图像在特征空间的坐标函数为:

yi=ut(xi-μx)=utwi,

其中,

同样可以将待测图像xtest投射到特征子空间之中,

ytest=ut(xtest-μx)

(8)利用距离分离器进行辨识,目标函数为:

mindist=min||yi-ytest||。

本发明的另一目的在于提供一种实现所述计算机网络身份验证方法的计算机程序。

本发明的另一目的在于提供一种实现所述计算机网络身份验证方法的信息数据处理终端。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的计算机网络身份验证方法。

本发明的另一目的在于提供一种实现所述计算机网络身份验证方法的计算机网络身份验证系统,包括:

ip终端;

ip终端包括登录单元与注册单元,注册单元包括基本信息界面和验证模块,基本信息界面读取信息成功进入验证模块;

所述验证模块包括人脸面部识别界面、虹膜上传界面、指纹录入界面;

所述人脸面部识别界面进入眼睛虹膜上传界面,所述眼睛虹膜上传界面进入指纹录入界面;

所述指纹录入界面进入手机号绑定界面;

登录单元包括认定模块,所述认定模块包括动态二维码界面、验证码验证界面、虹膜验证界面;

所述扫描动态二维码界面信息进入验证码验证界面,验证码验证界面信息进入虹膜验证界面;

基本信息认证通过身份证读卡器进行读取;

验证码是由文字、数字、字母构成。

本发明的另一目的在于提供一种计算机网络平台,所述计算机网络平台至少搭载所述的计算机网络身份验证系统。

本发明的优点及积极效果为:

该计算机网络身份验证系统用户需要先进行注册,填写基本信息,成功之后进行人脸面部识别、虹膜上传、指纹录入,最后进行手机号绑定注册成功,登录时通过扫描动态二维码,产生验证码进行输入进入虹膜验证(用户也可以同时选择人脸面部验证、指纹验证),根据虹膜验证判断登录是否成功。实名认证、人脸面部识别认证、眼睛虹膜认证和指纹认证结合为一体,避免保护个人身份和隐私信息遭到泄露。通过采用优化算法进行虹膜识别,大大提高了虹膜识别的准确性,提高匹配速率;通过对指纹采集图像识别的优化,改善了图像的质量,提高了指纹采集的精准度;优化人脸面部识别算法,降低计算维度,简化计算过程,加快了对人脸识别的速度;扫描二维码的方式,提高系统登录的便捷性。

登录时通过扫描动态二维码,产生验证码进行输入进入虹膜验证,根据虹膜验证判断登录是否成功;

本发明验证码进行虹膜验证中,需进行虹膜信息的解密,包括:

在得到密文z′=(z1′,…,z2l′)后,首先计算:

y′=l2-1(z′)=(y1′,…,y2l′);

对于点集p中的每一点(μ,λ),计算:

然后验证z(y1″,…,y2l″)=μ,如果不成立,则丢弃这组值;否则进行下一步;

最后计算:

m′=l1-1(y1″,…,y2l″)=(m1′,…,m2l′),

如果只有唯一的一组(m1′,…,m2l′),那么m′就一定是对应的明文,如果得到超过一组的(m1′,…,m2l′),则用hash函数或者增加验证方程的方式来确定唯一明文;

解密前,需先进行虹膜的加密,包括:

公钥生成:公钥由有限域k,以及它的加法和乘法结构和n个二次多元多项式组成;

私钥生成:私钥由映射随机选取的r个线性独立的z1,…,zr∈k[x1,…,x2l]、一个点集p、两个可逆仿射变换l1和l2以及它们的逆组成;

加密过程即给定明文m′=(x1′,…,xn′),用选取的公钥进行加密,形成密文z′=(z1′,…,zn′);切实保证了个人身份和隐私信息不遭到泄露。

用户注册,填写基本信息之后进行人脸面部识别、虹膜上传、指纹录入;再进行手机号绑定注册;

本发明用户注册基本信息中,需进行基本信息的加密,包括:初始化建立算法:首先输入包含所有属性的属性集合u,属性在不同的分层中;然后选择一个阶为n=p1p2p3双线性复合群g,p1、p2、p3为不相同的素数,令gpi表示阶为pi的子群,i=1,2,3;然后选择随机指数a和α、随机群元素其中,a,α∈zn,zn表示1至n-1的整数;对于u中的|u|个属性元素,选择对应的群元素则公共参数pk和主密钥msk分别为:

pk={n,g,gα,e(g,g)a,h1,......,h|u|};

msk={α,x3};

其中,e(g,g)a表示双线性对;

令属性集合s为属性集合u的分层子集,根据属性集合s、公共参数pk、消息m和一个提前生成的分层门限访问结构(mv,ρ)将属性集合u所有层次的属性均用一个表达式进行加密得到密文ct,其中,函数ρ表示分层访问结构mv中的行到属性的映射;令属性集合s的每一层的属性数量超过该层门限,使s满足分层的访问结构;

通过主密钥msk和属性集合s,结合步骤s1中的子群生成密钥sk;

通过访问结构mv对应的密文ct和属性集合s对应的密钥sk恢复出消息。切实保证了用户的信息,具有很强的保密性和安全性。

附图说明

图1是本发明实施例提供的计算机网络身份验证系统的结构示意图;

图2是本发明实施例提供的基本信息界面的结构示意图;

具体实施方式

为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下。

下面结合附图对本发明的结构作详细的描述。

图1,本发明实施例提供的计算机网络身份验证系统,包括:

ip终端;

ip终端包括登录单元与注册单元,注册单元包括基本信息界面和验证模块,基本信息界面读取信息成功进入验证模块;

所述验证模块包括人脸面部识别界面、虹膜上传界面、指纹录入界面;

所述人脸面部识别界面进入眼睛虹膜上传界面,所述眼睛虹膜上传界面进入指纹录入界面;

所述指纹录入界面进入手机号绑定界面;

登录单元包括认定模块,所述认定模块包括动态二维码界面、验证码验证界面、虹膜验证界面;

所述扫描动态二维码界面信息进入验证码验证界面,验证码验证界面信息进入虹膜验证界面;

基本信息认证通过身份证读卡器进行读取;

验证码是由文字、数字、字母构成。

本发明的工作原理是:

用户需要先进行注册,填写基本信息,成功之后进行人脸面部识别、虹膜上传、指纹录入,最后进行手机号绑定注册成功,登录时通过扫描动态二维码,产生验证码进行输入进入虹膜验证(用户也可以同时选择人脸面部验证、指纹验证),根据虹膜验证判断登录是否成功。

该计算机网络身份验证系统实名认证、人脸面部识别认证、眼睛虹膜认证和指纹认证结合为一体,避免保护个人身份和隐私信息遭到泄露。扫描二维码的方式,提高系统登录的便捷性。

下面结合具体分析对本发明作进一步描述。

本发明实施例提供的计算机网络身份验证方法,包括:

用户注册,填写基本信息之后进行人脸面部识别、虹膜上传、指纹录入;再进行手机号绑定注册;

用户注册基本信息中,需进行基本信息的加密,包括:

第一步,初始化建立算法:首先输入包含所有属性的属性集合u,属性在不同的分层中;然后选择一个阶为n=p1p2p3双线性复合群g,p1、p2、p3为不相同的素数,令表示阶为pi的子群,i=1,2,3;然后选择随机指数a和α、随机群元素其中,a,α∈zn,zn表示1至n-1的整数;对于u中的|u|个属性元素,选择对应的群元素则公共参数pk和主密钥msk分别为:

pk={n,g,gα,e(g,g)a,h1,......,h|u|};

msk={α,x3};

其中,e(g,g)a表示双线性对;

第二步,令属性集合s为属性集合u的分层子集,根据属性集合s、公共参数pk、消息m和一个提前生成的分层门限访问结构(mv,ρ)将属性集合u所有层次的属性均用一个表达式进行加密得到密文ct,其中,函数ρ表示分层访问结构mv中的行到属性的映射;令属性集合s的每一层的属性数量超过该层门限,使s满足分层的访问结构;

第三步,通过主密钥msk和属性集合s,结合步骤s1中的子群生成密钥sk;

第四步,通过访问结构mv对应的密文ct和属性集合s对应的密钥sk恢复出消息。

所述分层门限访问结构(mv,ρ)的生成方法具体如下:

1)系统初始化

定义函数f的运算规则如下:每进行一次f运算,就将多项式的常数项变为0,自变量的系数不变,次数减1,设a、b、c、d为确定的常实数,则有:

f(a+bx+cxd)=0+b+cxd-1

f(1+2x+3x4)=0+2+3x3

设(k,n)是一个分层的秘密共享系统,主要由一个秘密分发者d和n个参与者组成,属性集合u是n个参与者的集合,且包含m个层次,即其中对于i≠j,ui∩uj=φ;令是一个单调递增的整数序列0<k0<k1<...<km,并且km-1<km-1,ki是每一层的门限值,则(k,n)分层的门限访问结构就是要为属性集合u中每个参与者u分配秘密信息s的一个秘密份额σ(u),使其满足以下访问结构:

满足上式所描述的访问结构的分层的参与者子集s称为授权子集,可以恢复主秘密,而不满足上述访问结构的任何用户子集将无法获得关于主秘密的任何信息;

2)子秘密分发

秘密分发者d任意选取t-1个随机数a1,...,at-1和一个大素数q,然后构造多项式p(x)=s+a1x+...+at-1xt-1,其中s是需要被共享的主秘密;系统中的每个参与者u对应域里面的一个元素表示其身份,用uj表示,d根据参与者所处的层次i计算参与者的秘密份额其中:

p0(x)=p(x);

p1(x)=f1(p(x))=f(p(x));

pi(u)=f(pi-1(u));

表示多项式p(x)经过ki-1次f运算后在域元素uj处的值;ki-1是第i-1层的门限值且令k-1=0,d公开lm表示第m层中拥有属性集合s的元素数量;

3)秘密恢复

|s|表示s所具有的元素数量,设定满足:

其中,u0,…,um表示集合u的第0至m层,0≤l0≤l1≤...≤lm=|s|,当且仅当对于所有的0≤i≤m,li≥ki,s为一个授权子集,即符合访问结构,则s中所有的参与者合作时,可以组成系数矩阵mv,其中系数矩阵按行编写为:

s中的所有参与者可以合作解出如下的方程组:

即:

可以看出,若s满足访问结构,就可以重构出多项式p(x),从而恢复出秘密s;这个访问结构可以等价于分层矩阵的lsss的访问结构,即令被定义为i={j:ρ(j)∈s},如果令是秘密s的一个子秘密,则存在常数{ωj∈zn}使得∑j∈iωjλj=s,其中,zn表示1到n的整数集合;ωj在秘密共享生成矩阵mv大小的多项式时间内总可以被找到,就可以恢复出来主秘密;

登录时通过扫描动态二维码,产生验证码进行输入进入虹膜验证,根据虹膜验证判断登录是否成功;

验证码进行虹膜验证中,需进行虹膜信息的解密,包括:

在得到密文z′=(z1′,…,z2l′)后,首先计算:

y′=l2-1(z′)=(y1′,…,y2l′);

对于点集p中的每一点(μ,λ),计算:

然后验证z(y1″,…,y2l″)=μ,如果不成立,则丢弃这组值;否则进行下一步;

最后计算:

m′=l1-1(y1″,…,y2l″)=(m1′,…,m2l′),

如果只有唯一的一组(m1′,…,m2l′),那么m′就一定是对应的明文,如果得到超过一组的(m1′,…,m2l′),则用hash函数或者增加验证方程的方式来确定唯一明文;

解密前,需先进行虹膜的加密,包括:

公钥生成:公钥由有限域k,以及它的加法和乘法结构和n个二次多元多项式组成;

私钥生成:私钥由映射随机选取的r个线性独立的z1,…,zr∈k[x1,…,x2l]、一个点集p、两个可逆仿射变换l1和l2以及它们的逆组成;

加密过程即给定明文m′=(x1′,…,xn′),用选取的公钥进行加密,形成密文z′=(z1′,…,zn′);

中心映射重新构造的过程包括以下步骤:

首先,选择r是一个比较小的整数,随机选择r个线性独立方程

映射z:k2l→kr如下确定:

z(x1,…,x2l)=(z1(x1,…,x2l),…,zr(x1,…,x2l)),

其次,随机选取2l个总次数为2的多项式

映射kr→k2l如下确定:

然后,定义扰动映射f*:k2l→k2l和z的复合:

其中f1*,…,f2l*∈k[x1,…,x2l],

最后,用内部扰动映射f*扰动原来的中心映射新的公钥映射为:

公钥生成包括以下步骤:

选取有限域k,以及它的加法和乘法结构;

选取2l个二次多元多项式组:

f1(x1,…,x2l),…,f2l(x1,…,x2l)∈k[x1,…,x2l];

私钥生成包括以下步骤:

选取映射即两个随机数α1,α2;

随机选取r个线性独立的z1,…,zr∈k[x1,…,xn];

选取一个点集p,p是所有映射kr→k2l的像和原像的集合,即:

点集p由随机选取的2l个二次多项式确定;

选取两个可逆仿射变换l1和l2以及它们的逆;

第二步中具体包括如下步骤:

2.1)令访问结构mv是一个j×t矩阵;

2.2)选择一个随机向量表示1到n的整数集合中的任意t个,其中,s表示秘密值,y1,......,yt-1为秘密值s的分享;

2.3)令|s|表示s所具有的元素数量,设定满足:

其中,u0,…,um表示集合u的第0至m层,0≤l0≤l1≤...≤lm=|s|,当且仅当对于所有的0≤i≤m,有li≥ki,li表示第i层中拥有集合s的元素数量,ki表示第i层中集合s的元素数量门限;

然后对于所有的j=1,...,l0,...,lm,计算mj表示mv中的第j行;

2.4)对于属性集合u的层次数i∈{0,...,m},设定j=li-1+c,l-1=0,c为常数,表示第i层的第c个属性,即属性集合u中的第j个属性对应于第i层的第c个属性;

2.5)选择随机数

2.6)将所有层次的属性通过以下表达式进行加密得出密文ct:

其中,hρ(j)表示与属性集合u中的第ρ(j)个属性元素对应的群元素,ρ(j)表示属性集合u中第j层的属性到访问结构mv的第j行的映射。

验证模块对于虹膜识别的算法为:

(1)提取边缘

用ccd获取的眼睛图像,包括巩膜、虹膜、瞳孔和上眼皮部分,将虹膜从整幅图像中分割出来,首先找出虹膜的内外边缘;

选用高斯—拉普拉斯二阶微分滤波器为二维高斯平滑滤波器g(x,y)与拉普拉斯算子的组合:

二阶微分滤波器为:

该滤波器虽不是可分离的,但可写成:

g1、g2均为可分离滤波器,采用分离算法,可以大大减少计算的复杂性;

2g与图像进行卷积:g(x,y)表示图像上对应点的强度,“*”表示卷积,卷积后获得边缘;

(2)定位虹膜

设虹膜的外圆、内圆方程为:

(x-x1)2+(y-y1)2=r12

(x-x2)2+(y-y2)2=r22

用hough变换可获得(x1,y1,r1)、(x2,y2,r2)两组参数值,一般情况下(x1,y1)≠(x2,y2),即不是同心圆,因为瞳孔并不位于虹膜的中心,总是有所偏离,两个圆之间的部分,定义为虹膜部分;定义外边界圆的圆心(x1,y1)为虹膜的中心;定义外边界圆的半径r1为虹膜的半径,获得了中心坐标(x1,y1),即获得了实时图像相对参考图像的平移量,中心为(p,q);获得了虹膜半径r1,即获得了比例变化因子r1/r,r为参考虹膜的标准半径;根据平移量和比例变化因子对实时图像进行平移和比例校正,用双线性插值法插补,就消除了平移和比例变化;

(3)图像匹配

上一步两个边界圆之间区域还包括眼皮部分,需去除该部分,以虹膜的中心为两坐标系的共同原点,将原直角坐标系转化为极坐标系,在极坐标系中,{(ρ,θ)70°<θ<110°}为含眼皮部分,去除;其余为只含有虹膜的部分,保留;保留下来可用于匹配、识别的虹膜部分约占全部虹膜面积的85%;

一般情形下,虹膜的旋转变化较小,约在±5°左右,而虹膜图像相关性较强,有较长的相关长度,因此,将旋转变化等效为噪声即可,这样也可以简化计算;图像的匹配采用相关系数测度:

其中,

g′(x,y)为参考图像强度值,|d|为d的面积。

指纹录入中,对于指纹采集的图像识别进行优化,具体方法如下:

(1)提取脊线

将指纹图像分割成足够小的子块,以满足块中纹理近似平行的条件;

对每个子块的每一个点p(s,t)利用sobel算子分别计算x方向梯度gx和y方向梯度gy,s,t=0,1,……w-1;

每个子块方向θ(m,n)的计算公式如下:

s′=s+mwt′=t+nw

(2)脊线频率

脊线频率被定义为两条脊线之间间距的倒数,采用gabor滤波器函数的实部作为模板,以与子块纹线方向垂直的方向作为滤波器方向,以脊线频率作为滤波器频率来构建滤波器,滤波过程如下式所示:

其中,g(s,t)为原始灰度图像,ge(s,t)是garbor滤波后的图像灰度,w为滤波器模板的大小,s为模板系数和,θ为子块的域方向值,garbor滤波器的θ与指纹纹理方向垂直,对σx和σy的取值进行折中,取值σx=4和σy=4。

人脸面部识别算法为:

(1)对原始数据进行标准化采集,该集合x的维度为p,

x=(x1,x2,x3,…,xp)t

其中,n个样品的集合xi为xi=(x1i,x2i,x3i,…,xpi)t,i=1,2,3,…,n,n>p,

针对样本阵元进行标准化变换:

称为z标准化阵;

(2)标准化阵z的矩阵系数:

其中,

(3)求解r的特征方程

|r-λip|p=0,

按照确定m的值,对其中每一个λj,得到单位特征向量

(4)将指标变量转化为主成分:

式中:u1为第一主成分;u2为第二主成分;u3为第三主成分;up为第p主成分;

(5)对载入的人脸图像进行几何归一化处理,假设载入的人脸图像的像素点为m×n,则将像素储存在列向量(x1,x2,x3,…)t中;

(6)求的平均人脸:

训练样本的协方差矩阵为:

取差值向量:

wi=xi-μx,

令ω=(ω1,ω2,ω3,…,ωn);

(7)投射到待检测空间,则每幅图像在特征空间的坐标函数为:

yi=ut(xi-μx)=utωi,

其中,

同样可以将待测图像xtest投射到特征子空间之中,

ytest=ut(xtest-μx)

(8)利用距离分离器进行辨识,目标函数为:

mindist=min||yi-ytest||。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

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