CN114329421A - 一种匿名认证方法、装置、系统、介质和设备 - Google Patents
一种匿名认证方法、装置、系统、介质和设备 Download PDFInfo
- Publication number
- CN114329421A CN114329421A CN202111474579.1A CN202111474579A CN114329421A CN 114329421 A CN114329421 A CN 114329421A CN 202111474579 A CN202111474579 A CN 202111474579A CN 114329421 A CN114329421 A CN 114329421A
- Authority
- CN
- China
- Prior art keywords
- vector
- matrix
- server
- encryption
- authentication
- 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
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本公开涉及一种匿名认证方法、装置、系统、介质和设备。根据本公开提供的方案,服务端接收注册客户端发送的认证请求,认证请求中携带第一加密向量Q,注册客户端采用全同态加密算法E,利用服务端公钥P对服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并与服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;利用服务端私钥d对第一加密向量Q采用全同态解密算法E‑1进行解密获得解密值E‑1 d(Q),并根据解密值E‑1 d(Q)确定对注册客户端的认证是否通过。注册客户端从服务端得到的是EP(A),由于不知道服务端私钥d,从而无法得到认证矩阵A;利用全同态加密算法进行密文空间的矩阵向量乘积运算获得第一加密向量Q,从而保证两方计算的安全。
Description
技术领域
本公开涉及信息安全技术领域,特别涉及一种匿名认证方法、装置、系统、介质和设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
身份认证在信息安全领域处于非常重要的地位,是其他安全机制的基础。在各种身份认证技术中,匿名认证已成为重要的研究方向。所谓匿名认证,就是在保护用户身份隐私的同时,还能够对用户或终端进行认证。匿名认证在移动通信、电子商务、车联网、远程登录以及其他要求保护用户隐私的场景中有着非常重要的应用。例如,用户或终端访问应用服务器时,先要进行匿名认证,只有合法的用户才能访问或享受应用服务器提供的资源或服务。
近年来,匿名认证已成为密码学领域突出的研究热点之一。目前的匿名认证实现方式难度大,效率低,目前尚未发现解决计算复杂和效率低的方法。
发明内容
本公开实施例提供一种匿名认证方法、装置、系统、介质和设备,用于解决匿名认证的实现难度大和效率低的问题。
第一方面,本公开提供了一种匿名认证方法,应用于服务端,所述方法包括:
接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得;
利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
可选的,所述方法还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
可选的,接收注册客户端发送的认证请求之前,所述方法还包括:
向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
可选的,根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过,所述方法还包括:
若确定所述解密值E-1 d(Q)与所述常数向量b相等,确定对所述注册客户端的认证通过。
可选的,所述方法还包括:所述矩阵方程组Ax=b的解的个数为k,且k不小于设定值。
可选的,所述方法还包括:所述认证矩阵A的列数n不小于设定值。
第二方面,本公开提供了一种匿名认证方法,应用于注册客户端,所述方法包括:
采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
可选的,所述方法还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
可选的,向所述服务端发送认证请求之前,所述方法还包括:
接收所述服务端发送的认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
第三方面,本公开还提供了一种匿名认证装置,所述装置包括:
接收模块,接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得;
解密验证模块,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
可选的,所述装置还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
可选的,所述装置还包括发送模块:
所述发送模块,用于向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
可选的,所述解密验证模块根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过,包括:
若确定所述解密值E-1 d(Q)与所述常数向量b相等,确定对所述注册客户端的认证通过。
可选的,所述装置还包括:所述矩阵方程组Ax=b的解的个数为k,且k不小于设定值。
可选的,所述装置还包括:所述认证矩阵A的列数n不小于设定值。
第四方面,本公开还提供了一种匿名认证装置,所述装置包括:
第二加密向量生成模块,采用全同态加密算法E利用服务端发送的公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
第一加密向量生成模块,对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
发送请求模块,向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
可选的,所述装置还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
可选的,所述装置还包括接收模块:
所述接收模块,用于接收所述服务端发送的认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
第五方面,本公开还提供了一种匿名认证系统,包括服务端和注册客户端,其中:
所述注册客户端,用于采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q;
所述服务端,用于接收所述注册客户端发送的认证请求,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
可选的,所述系统还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给注册客户端;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
可选的,所述系统还包括:
所述服务端还用于接收注册客户端发送的认证请求之前,向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
可选的,所述服务端根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过,包括:
若确定所述解密值E-1 d(Q)与常数向量b相等,确定对所述注册客户端验证通过。
可选的,所述系统还包括:所述矩阵方程组Ax=b的解的个数为k,且k不小于设定值。
可选的,所述系统还包括:所述认证矩阵A的列数n不小于设定值。
第六方面,本公开还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
第七方面,本公开还提供了一种匿名认证设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
根据本公开提供的方案,服务端接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述注册客户端采用全同态加密算法E,利用所述服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并与服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;利用所述服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对注册客户端的认证是否通过。所述注册客户端从所述服务端得到的是EP(A),由于不知道服务端私钥d,从而无法得到认证矩阵A;利用全同态加密算法进行密文空间的矩阵向量乘积运算获得所述第一加密向量Q,从而保证两方计算的安全。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种匿名认证方法流程示意图;
图2为本公开实施例提供的一种匿名认证方法流程示意图;
图3为本公开实施例提供的服务端构造系统方程组流程示意图;
图4为本公开实施例提供的匿名认证装置结构示意图;
图5为本公开实施例提供的匿名认证装置结构示意图。
图6为本公开实施例提供的匿名认证系统结构示意图。
图7为本公开实施例提供的匿名认证设备结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
基于以上说明,本公开实施例提供一种匿名认证方法,应用于服务端,该方法的步骤流程可以如图1所示,包括:
步骤101、接收注册客户端发送的认证请求。
所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得。
具体实施时,
注册客户端可以利用服务端的公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),所述第二加密向量EP(u)是对凭证向量u中的每个元素采用全同态加密算法E加密所得,即EP(u)=(EP(u1),EP(u2)…EP(un)),记E(uj)=γj,则EP(u)=(γ1,γ2,…γn)。
注册客户端获得EP(u)之后,可以进一步计算第一加密向量Q=EP(A)°EP(u)=(q1,q2,…,qm),其中°为基于密文空间的矩阵向量乘积运算。具体地,qi的计算方法是:其中i=1,2…,m,为基于密文空间的乘法运算,为基于密文空间的加法运算,将第一加密向量Q发送给服务端。
需要说明的是,服务端可以采用全同态加密算法E利用自己的公钥P对矩阵A进行加密生成加密矩阵EP(A)。服务端可以在获得EP(A)之后,将自己的公钥P和EP(A)发送给注册客户端。
在一种可能的实现方式中,服务端可以在本步骤之前,向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
加密矩阵EP(A)是对矩阵A中的每个元素采用全同态加密算法E加密所得,即EP(A)=(EP(aij))m*n,记EP(aij)=βij,则EP(A)=(βij)m*n,其中i=1,2…m,j=1,2…n。其中,所述认证矩阵A可以为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;所述凭证向量u可以为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。步骤102、利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。具体实施时,服务端采用自己的私钥d用全同态解密算法E-1对第一加密向量Q进行解密得到E-1 d(Q)=(E-1 d(q1)……E-1 d(qm));检验E-1 d(Q)=b是否成立,若成立,则匿名认证成功,否则匿名认证失败。
根据本公开提供的方案,服务端接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述注册客户端采用全同态加密算法E,利用所述服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并与服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;利用所述服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对注册客户端的认证是否通过。所述注册客户端从所述服务端得到的是EP(A),由于不知道服务端私钥d,从而无法得到认证矩阵A;利用全同态加密算法进行密文空间的矩阵向量乘积运算获得所述第一加密向量Q,从而保证两方计算的安全。
进一步的,在可能的实现方式中,服务端接收注册客户端发送的认证请求之前,本实施例还可以包括:
服务端预先构造矩阵方程组。
具体实施时,服务端预先构造矩阵方程组Ax=b,其中认证矩阵A=(aij)m*n,常数向量b=(b1,b2,…bm),解向量x=(x1,x2,…xn),i=1,2,…m,j=1,2,…n,m≥n>128。
服务端获得凭证向量u并提供给所述注册客户端。
具体实施时,服务端可以获得矩阵方程组Ax=b的解作为凭证向量u,并发送给所述注册客户端秘密保存,所述凭证向量u为n维向量。
进一步的,在可能的实现方式中,所述矩阵方程组Ax=b的解的个数解的个数为k,且k不小于设定值。
具体实施时,在矩阵方程组Ax=b的构造中,设置矩阵方程组Ax=b的解的个数为大于2128,这样设置,矩阵方程组Ax=b解数量足够多;另一方面,由于方程组Ax=b解的多样性,服务端也无法得知注册客户端所拥有的具体凭证向量u,从而保证两方计算的安全。
另外,在可能的实现方式中,所述认证矩阵A的列数n不小于设定值。
具体实施时,设置认证矩阵A列数数n大于128,可以使得矩阵方程组Ax=b的解向量维数足够大,进一步加强匿名认证的安全。
根据本公开提供的方案,服务端预先构造一个矩阵方程组Ax=b,注册客户端访问服务端时,注册客户端提供的秘密数据为凭证向量u,服务端提供的秘密数据为认证矩阵A。注册客户端根据服务端提供的认证矩阵A,通过安全计算方法计算A*u,并将计算结果发送给服务端,服务端检验A*u与保存的秘密数据b是否成立等式A*u=b,若成立,匿名认证成功,否则,匿名认证失败。因此,匿名认证时,只有合法的注册客户端才能访问或享受服务端提供的资源或服务。
基于以上说明,本公开实施例提供一种服务端构造系统方程组的流程,如图2所示:
构造一个域F上的m*n的矩阵A=(aij)m*n,和m维向量b=(b1,b2,…bm),aij,bi为F中的数,i=1,2,…m,j=1,2,…n,并使得矩阵A和增广矩阵(A,b)的秩相同,均为r,A和b为服务端所秘密拥有。域F可以是素域FP={0,1,2…p-1}(其中p为素数),也可是其他域,这里不做限制。方程组Ax=b具体构造方法如下:
步骤201,先设定m,n,要求满足m≥n>128;再确定秩r,如果n为偶数,则r=n/2,如果n为奇数,则r=(n+1)/2;
步骤202,随机选取域F上的r个线性无关的n+1维向量A1、A2…Ar;
步骤203,随机选取域F上的m-r个互不相同的r维向量Vk=(vk,1,vk,2…,vk,r),k=1,2,…,m-r;
步骤204,计算Ar+k=A1*vk,1+A2*vk,2+…Ar*vk,r,k=1,2…,m-r,得到Ar+1,Ar+2,…Am。
步骤205,令A1、A2…Ar,Ar+1,Ar+2,…Am为增广矩阵(A,b)的行向量(行次序随机排列)得到矩阵A和向量b,其中矩阵A为增广矩阵的最左边的m*n矩阵,向量b为增广矩阵的最右边列向量。
根据本公开提供的方案,在构造方程组Ax=b时,设置所述认证矩阵A为m*n维矩阵和所述增广矩阵(A,b)的秩r相同,且不为满秩,这样设置可以使得Ax=b有解;为了保证r为整数,因此设置n为偶数时,则r=n/2;n为奇数时,则r=(n+1)/2,这样设置可以使得Ax=b的解数量足够多,解向量维数足够大,也加强了匿名认证的安全。
基于以上说明,本公开实施例还提供一种匿名认证方法,应用于客户端,该方法的步骤流程可以如图3所示,包括:
步骤301,采用全同态加密算法E利用服务端发送的公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
步骤302,对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
步骤303,向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
具体实施时,第二加密向量EP(u)和第一加密向量Q的生成方式,已在步骤101中描述,这里不再赘述。
进一步的,在一种可能实现的方式中,所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
具体实施时,注册客户端向服务端注册时,服务端随机生成一个n维凭证向量u=(u1,u2,…un),使得A*u=b成立,并将凭证向量u发送给注册用户端秘密保存。凭证向量u作为注册用户的访问服务端的凭证。
进一步的,在一种可能实现的方式中,所述客户端向所述服务端发送认证请求之前,还包括:
接收所述服务端发送的认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
根据本公开提供的方案,注册客户端从服务端得到的是加密后的矩阵EP(A),由于不知道解密私钥,从而无法得到认证矩阵A;由方程组Ax=b解的多样性,服务端也无法得知注册客户端所拥有的具体凭证向量u,从而保证两方计算的安全。
与提供的方法对应的,进一步提供以下的装置。
本公开实施例提供一种匿名认证装置,该装置的结构可以如图4所示,包括:
接收模块41,接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得;
解密验证模块42,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
在一种可能的实现方式中,所述装置还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
在一种可能的实现方式中,所述装置还包括发送模块:
所述发送模块,向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
在一种可能的实现方式中,所述解密验证模块42根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过,包括:
若确定所述解密值E-1 d(Q)与所述常数向量b相等,确定对所述注册客户端的认证通过。
在一种可能的实现方式中,所述装置还包括:所述矩阵方程组Ax=b的解的个数为k,且k不小于设定值。
在一种可能的实现方式中,所述装置还包括:所述认证矩阵A的列数n不小于设定值。
本公开实施例提供一种匿名认证装置,该装置的结构可以如图5所示,包括:
第二加密向量生成模块51,采用全同态加密算法E利用服务端发送的公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
第一加密向量生成模块52,对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
发送请求模块53,向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
在一种可能的实现方式中,所述装置还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
在一种可能的实现方式中,所述装置还包括接收模块:
所述接收模块,接收所述服务端发送的认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
本公开实施例提供一种匿名认证系统,包括服务端和注册客户端,该系统的结构如图6所示:
所述注册客户端61,用于采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q;
所述服务端62,用于接收所述注册客户端发送的认证请求,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
在一种可能的实现方式中,所述系统还包括:
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给注册客户端;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
在一种可能的实现方式中,所述系统还包括:
所述服务端还用于接收注册客户端发送的认证请求之前,向所述注册客户端发送认证触发请求,所述认证触发请求中携带所述服务端公钥P和所述加密矩阵EP(A)。
在一种可能的实现方式中,所述服务端根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过,包括:
若确定所述解密值E-1 d(Q)与常数向量b相等,确定对所述注册客户端验证通过。
在一种可能的实现方式中,所述系统还包括:所述矩阵方程组Ax=b的解的个数为k,且k不小于设定值。
在一种可能的实现方式中,所述系统还包括:所述认证矩阵A的列数n不小于设定值。
基于同一发明构思,本公开实施例提供以下的设备和介质。
本公开实施例提供一种匿名认证设备,该设备的结构可以如图7所示,包括处理器71、通信接口72、存储器73和通信总线74,其中,所述处理器71,所述通信接口72,所述存储器73通过所述通信总线74完成相互间的通信;
所述存储器73,用于存放计算机程序;
所述处理器71,用于执行所述存储器上所存储的程序时,实现本公开上述方法实施例所述的步骤。
可选的,所述处理器71可以包括中央处理器(CPU)、特定应用集成电路(ASIC,Application Specific Integrated Circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,Field Programmable Gate Array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器71可以包括至少一个处理核心。
可选的,所述存储器73可以包括只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)和磁盘存储器。存储器73用于存储至少一个处理器71运行时所需的数据。存储器73的数量可以为一个或多个。
本公开实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本公开上述方法实施例提供的方法。
在可能的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本公开实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本公开实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus Flash Drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (10)
1.一种匿名认证方法,其特征在于,应用于服务端,包括:
接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得;
利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
2.如权利要求1所述的方法,其特征在于,
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
3.一种匿名认证方法,其特征在于,应用于注册客户端,包括:
采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
4.如权利要求3所述的方法,其特征在于,所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
5.一种匿名认证装置,其特征在于,所述装置包括:
接收模块,接收注册客户端发送的认证请求,所述认证请求中携带第一加密向量Q,所述第一加密向量Q为所述注册客户端采用全同态加密算法E,利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u),并对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得;
解密验证模块,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
6.如权利要求5所述的装置,其特征在于,
所述加密矩阵EP(A)为所述服务端采用全同态加密算法E,利用所述服务端公钥P对获得的认证矩阵A进行加密生成并发送给所述注册客户端的;其中,所述认证矩阵A为所述服务端预先构造的矩阵方程组Ax=b的系数矩阵,所述认证矩阵A为m行n列矩阵;所述b为常数向量,所述常数向量b为m维向量;
所述凭证向量u为所述服务端获得的所述矩阵方程组Ax=b的解,并提供给所述注册客户端的,所述凭证向量u为n维向量。
7.一种匿名认证装置,其特征在于,所述装置包括:
第二加密向量生成模块,采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);
第一加密向量生成模块,对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;
发送请求模块,向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q。
8.一种匿名认证系统,其特征在于,包括服务端和注册客户端,其中:
所述注册客户端,用于采用全同态加密算法E利用服务端公钥P对所述服务端提供的凭证向量u进行加密生成第二加密向量EP(u);对所述第二加密向量EP(u)和所述服务端提供的加密矩阵EP(A)进行密文空间的矩阵向量乘积运算获得第一加密向量Q;向所述服务端发送认证请求,所述认证请求中携带所述第一加密向量Q;
所述服务端,用于接收所述注册客户端发送的认证请求,利用服务端私钥d对所述第一加密向量Q采用全同态解密算法E-1进行解密,所述全同态解密算法E-1为所述全同态加密算法E对应的解密算法,获得解密值E-1 d(Q),并根据所述解密值E-1 d(Q)确定对所述注册客户端的认证是否通过。
9.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~2或3~4任一所述的方法。
10.一种数据处理设备,其特征在于,所述设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现权利要求1~2或3~4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111474579.1A CN114329421B (zh) | 2021-12-03 | 2021-12-03 | 一种匿名认证方法、装置、系统、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111474579.1A CN114329421B (zh) | 2021-12-03 | 2021-12-03 | 一种匿名认证方法、装置、系统、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114329421A true CN114329421A (zh) | 2022-04-12 |
CN114329421B CN114329421B (zh) | 2022-11-18 |
Family
ID=81049213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111474579.1A Active CN114329421B (zh) | 2021-12-03 | 2021-12-03 | 一种匿名认证方法、装置、系统、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329421B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171772A (zh) * | 2023-09-13 | 2023-12-05 | 北京海泰方圆科技股份有限公司 | 一种数据交集的确定方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947913A (zh) * | 2017-11-15 | 2018-04-20 | 武汉大学 | 一种基于身份的匿名认证方法与系统 |
US20210058229A1 (en) * | 2019-08-19 | 2021-02-25 | The Board Of Regents Of The University Of Texas System | Performing computations on sensitive data while guaranteeing privacy |
CN113037461A (zh) * | 2021-03-04 | 2021-06-25 | 西安电子科技大学 | 基于全同态加密的多候选人匿名电子投票方法 |
-
2021
- 2021-12-03 CN CN202111474579.1A patent/CN114329421B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947913A (zh) * | 2017-11-15 | 2018-04-20 | 武汉大学 | 一种基于身份的匿名认证方法与系统 |
US20210058229A1 (en) * | 2019-08-19 | 2021-02-25 | The Board Of Regents Of The University Of Texas System | Performing computations on sensitive data while guaranteeing privacy |
CN113037461A (zh) * | 2021-03-04 | 2021-06-25 | 西安电子科技大学 | 基于全同态加密的多候选人匿名电子投票方法 |
Non-Patent Citations (1)
Title |
---|
周素芳 等: "安全多方向量计算", 《计算机学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171772A (zh) * | 2023-09-13 | 2023-12-05 | 北京海泰方圆科技股份有限公司 | 一种数据交集的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114329421B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756500B (zh) | 基于多个非对称密钥池的抗量子计算https通信方法和系统 | |
CN108111301B (zh) | 基于后量子密钥交换实现ssh协议的方法及其系统 | |
CN112822014B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107404461B (zh) | 数据安全传输方法、客户端及服务端方法、装置及系统 | |
Wang et al. | Cryptanalysis and improvement of a biometric-based multi-server authentication and key agreement scheme | |
US9853816B2 (en) | Credential validation | |
Amin et al. | Design and analysis of bilinear pairing based mutual authentication and key agreement protocol usable in multi-server environment | |
US8762723B2 (en) | Cryptographic security using fuzzy credentials for device and server communications | |
US20150326392A1 (en) | Matrix-based cryptosystem | |
CN110213044B (zh) | 基于多个非对称密钥池的抗量子计算https签密通信方法和系统 | |
CN108282329B (zh) | 一种双向身份认证方法及装置 | |
CN111630810B (zh) | 密钥交换装置、密钥交换系统、密钥交换方法及记录介质 | |
CN107342859A (zh) | 一种匿名认证方法及其应用 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
US11310049B2 (en) | Homomorphic encryption for password authentication | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、系统及电子设备 | |
Braeken | Efficient anonym smart card based authentication scheme for multi-server architecture | |
Fatahi et al. | High-efficient arbitrated quantum signature scheme based on cluster states | |
CN110098925B (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
CN114329421B (zh) | 一种匿名认证方法、装置、系统、介质和设备 | |
CN110266483B (zh) | 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备 | |
JP7276423B2 (ja) | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 |
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 |