认证设备、认证方法、程序和签名生成设备的制作方法

文档序号:7682524阅读:155来源:国知局
专利名称:认证设备、认证方法、程序和签名生成设备的制作方法
技术领域
本发明涉及认证设备、认证方法、程序和签名生成设备。
背景技术
随着信息处理技术和通信技术的快速发展,公务和私人文档的数字化正在快速推进。因此,许多个人和公司对电子文档的安全管理非常感兴趣。随着兴趣的增加,在许多场合已开始热烈地讨论针对电子文档的诸如窃听和伪造之类的篡改的安全性。例如通过对电子文档加密来确保针对电子文档的窃听的安全性。此外,例如通过利用数字签名来确保针对电子文档的伪造的安全性。然而,加密和数字签名必须是能充分地防篡改的。数字签名用来指定电子文档的作者。因此,数字签名应当能够仅由该电子文档的作者来生成。如果恶意第三方能够生成相同的数字签名,则这样的第三方可以冒充电子文档的作者。即,电子文档会被恶意第三方伪造。对于防止这样的伪造的数字签名安全性,已经提出了各种意见。作为当前广泛使用的数字签名方案,例如已知了使用RSA签名方案和 DSA签名方案的方案。RSA签名方案取用“对大的合成数进行质因数分解的难度(以下称为质因数分解问题)”作为安全性的基础。此外,DSA签名方案取用“求解离散对数问题的难度”作为安全性的基础。这些基础是基于通过利用典型计算机来高效地求解质因数问题和离散对数问题的算法并不存在。即,上面提到的难度意味着典型计算机的计算难度。然而,据说,当使用量子计算机时,可以高效地计算出质因数分解问题和离散对数问题的解。与RSA签名方案和DSA签名方案类似地,当前使用的许多数字签名方案和公钥认证方案也取用了质因数分解问题或离散对数问题的难度作为安全性的基础。因此,如果量子计算机投入实用,则将不再确保这些数字签名方案和公钥认证方案的安全性。因此,希望具有新的数字签名方案和公钥认证方案,其采用与诸如可被量子计算机容易求解出的质因数分解问题和离散对数问题之类的问题不同的问题作为安全性的基础。作为不容易被量子计算机求解出的问题,例如,在求解多元多项式上存在难度(以下称为多元多项式问题)。例如,作为采用多元多项式问题作为安全性基础的数字签名方案,已知了基于 Matsumoto-Imai (MI)密码术、Hidden Field Equation (HFE)密码术、Oil-Vinegar(OV)签名方案以及Tamed Transformation法(TTM)密码术的这些方案。例如,基于HFE的数字签名方案在 Jacques Patarin 的 Asymmetric Cryptography with a Hidden Monomial, CRYPTO 1996,pp. 45-60 以及 Patarin,J.,Courtois, N.和 Goubin,L.的 QUARTZ,128-Bit Long Digital Signatures,In Naccache,D. ,Ed. Topics in Cryptology-CT-RSA 2001 (San Francisco, CA, USA, April 2001), vol.2020 of Lecture Notes in Computer Science, Springer-Verlag, pp. 282-297 中被公开。

发明内容
如上,多元多项式问题是称为NP难题的、即使利用量子计算机也难以求解出的问题的示例。通常,利用由HFE代表的多元多项式问题的公钥认证方案使用具有特殊陷门(trapdoor)的多次多元联立方程式。例如,与X1,…,ι有关的多次多元联立方程式 F(X1,…,xn) = y以及线性变换A和B被提供,并且线性变换A和B秘密地被管理。在此情况中,多次多元联立方程式F以及线性变换A和B是陷门。知道陷门F、A和B的实体可以求解与X1,…,ι有关的方程式B (F(A(Xl,-,Xn))) = y’。另一方面,与X1,…,ι有关的方程式B(F(A(Xl,-,Xn))) =y’不能由不知道陷门 F、A和B的实体求解出。通过利用该机制,可以实现采用多次多元联立方程式作为安全性基础的公钥认证方案和数字签名方案。如上,为了实现这样的公钥认证方案和数字签名方案,需要使用满足 B(F(A(Xl,-,xn))) = y的特殊多次多元联立方程式。然而,根据现有方案,需要在签名生成时求解多次多元联立方程式F,因此仅那些可被容易求解出的方程式可被用作F。S卩,根据这些现有方案,仅可以使用通过组合可以较容易地求解出的三个函数(陷门)B、F和A而形成的多次多元联立方程式B(F(A(Xl,-,xn))) =y,因此难以确保足够的安全性。结果, 对于使用存在高效求解手段(陷门)的多次多元联立方程式的公钥认证方案和数字签名方案,提出了大量的攻击方法,因此希望设法使得没有高效求解手段(陷门)的多次多元联立方程式被用于公钥认证方案和数字签名方案。鉴于前面的状况,希望提供能够实现通过利用没有高效求解手段(陷门)的多次多元联立方程式而增强其安全性的公钥认证方案或数字签名方案的、新颖的经改进的认证设备、认证方法、程序和签名生成设备。根据本发明的一个实施例,提供了一种认证设备,该设备包括密钥设置单元,用于将S e Kn设置为私钥并且将环K上的多次多项式fi(Xl,-,Xn)以及yi = fi(s)设置为公钥,i = 1至m ;消息发送单元,用于将消息c发送给验证者;验证模式接收单元,用于接收关于验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息,k > 3 ;响应发送单元,用于向验证者发送k种响应信息中的与由验证模式接收单元接收到的验证模式有关的信息所对应的响应信息。响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥S。该认证设备可被配置为使得在执行以下步骤时由消息发送单元发送一个或多个消息c的第一步、由验证模式接收单元针对每个消息c从验证者接收与验证模式有关的信息的第二步、以及由响应发送单元针对与验证模式有关的每个信息发送响应信息的第三步,如果验证者针对所有响应信息成功地执行了验证,则认证成功。该认证设备可被配置为使得执行以下步骤的处理被重复由消息发送单元发送一个或多个消息c的第一步、由验证模式接收单元针对每个消息c从验证者接收与验证模式有关的信息的第二步、以及由响应发送单元针对与验证模式有关的每个信息来发送响应信息的第三步,并且当执行了第一步至第三步预定次数时,如果验证者针对所有响应信息每次都成功地执行了验证,则认证成功。在消息c = (C1,…,cm)的情况中,消息发送单元可以通过利用单向函数H来计算新的消息c’ = H(C),并且将消息C’发送给验证者,并且响应发送单元可以将验证者即使利用响应信息也不能恢复出来的消息c的元素与响应信息一起发送。根据本发明另一实施例,提供了一种认证设备,包括消息接收单元,用于从证明者接收消息c ;验证模式选择单元,用于从针对一个消息c的k个验证模式中选择一个验证模式,k ^ 3 ;验证模式发送单元,用于将与验证模式选择单元所选择的验证模式有关的信息发送给证明者;响应接收单元,用于从证明者接收k种响应信息中的与由验证模式发送单元所发送的验证模式有关的信息所对应的响应信息;以及验证单元,用于利用由消息接收单元接收的消息c以及由响应接收单元接收的响应信息来验证证明者的合法性。s e Kn 被设置为私钥并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)被设置为公钥,i = 1至m。响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥S。根据本发明另一实施例,提供了一种认证设备,包括密钥设置单元,用于将 S e Kn设置为私钥并且将环K上的多次多项式fi(Xl,-,xn)以及yi = fi(s)设置为公钥, i = 1至m ;消息发送单元,用于将消息c发送给验证者;答复接收单元,用于从验证者接收答复α ;多项式生成单元,用于利用答复接收单元所接收的答复α来生成将用于验证消息 c的多项式f”;多项式发送单元,用于将由多项式生成单元生成的多项式f”发送给验证者; 验证模式接收单元,用于接收与验证者从针对一个消息C的k个验证模式中选择的一个验证模式有关的信息,2 ;响应发送单元,用于向验证者发送k种响应信息中的与由验证模式接收单元接收到的验证模式有关的信息所对应的响应信息。响应信息是这样的信息,该信息使得在通过利用两种答复α、多项式f”以及k种响应信息执行的针对消息c的答复与验证模式的所有总计业种组合都成功的情况中,能够计算出私钥S。该认证设备可被配置为使得在执行以下步骤时由消息发送单元发送一个或多个消息c的第一步、由答复接收单元接收针对每个消息c的答复α的第二步、由多项式生成单元利用在第二步中接收的答复α来生成多项式并且由多项式发送单元发送多项式f” 的第三步,由验证模式接收单元针对每个消息c从验证者接收与验证模式有关的信息的第四步、以及由响应发送单元针对与验证模式有关的每个信息来发送响应信息的第五步,如果验证者针对所有响应信息成功地执行了验证,则认证成功。该认证设备可被配置为使得执行以下步骤的处理被重复由消息发送单元发送一个或多个消息c的第一步、由答复接收单元接收针对每个消息c的答复α的第二步、由多项式生成单元利用在第二步中接收的答复α来生成多项式并且由多项式发送单元发送多项式f”的第三步,由验证模式接收单元针对每个消息c从验证者接收与验证模式有关的信息的第四步、以及由响应发送单元针对与验证模式有关的每个信息来发送响应信息的第五步,并且当执行了第一步至第五步预定次数时,如果验证者针对所有响应信息每次都成功地执行了验证,则认证成功。根据本发明另一实施例,提供了一种认证设备,包括消息接收单元,用于从证明者接收消息c;答复发送单元,用于向证明者发送答复α ;多项式接收单元,用于接收多项式f”,多项式f”是由证明者利用由答复发送单元发送的答复α生成的并被用于验证消息 c ;验证模式选择单元,用于从针对一个消息c的k个验证模式中选择一个验证模式,k > 2 ; 验证模式发送单元,用于将与验证模式选择单元所选择的验证模式有关的信息发送给证明者;响应接收单元,用于从证明者接收k种响应信息中的与由验证模式发送单元所发送的验证模式有关的信息所对应的响应信息;以及验证单元,用于利用由消息接收单元接收的消息c、由多项式接收单元接收的多项式f”以及由响应接收单元接收的响应信息来验证证明者的合法性。S e Kn被设置为私钥并且环K上的多次多项式fi(Xl,…,xn)以及Yi = fi(s)被设置为公钥,i = 1至m。响应信息是这样的信息,该信息使得在通过利用两种答复 α、多项式f”以及k种响应信息执行的针对消息c的答复与验证模式的所有总计业种组合都成功的情况中,能够计算出私钥S。根据本发明另一实施例,提供了一种认证方法,包括以下步骤将s e Kn设置为私钥并且将环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)设置为公钥,i = 1至m;将消息c发送给验证者;接收与验证者从针对一个消息c的k个验证模式中选择的一个验证模式有关的信息,k > 3 ;向验证者发送k种响应信息中的与在接收步骤中接收到的验证模式有关的信息所对应的响应信息。响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥S。根据本发明另一实施例,提供了一种认证方法,包括以下步骤从证明者接收消息 c ;从针对一个消息c的k个验证模式中选择一个验证模式,k ^ 3 ;将与在选择步骤中所选择的验证模式有关的信息发送给证明者;从证明者接收k种响应信息中的与在发送步骤中所发送的验证模式有关的信息所对应的响应信息;以及利用在接收消息c的步骤中所接收的消息C以及在接收响应信息的步骤中所接收的响应信息来验证证明者的合法性。S e Kn 被设置为私钥并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)被设置为公钥,i = 1至m。响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥S。根据本发明另一实施例,提供了一种认证方法,包括以下步骤将s e Kn设置为私钥并且将环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)设置为公钥,i = 1至m;将消息c发送给验证者;从验证者接收答复α ;利用在接收答复α的步骤中所接收的答复α 来生成将用于验证消息c的多项式f”;将在生成步骤中生成的多项式f”发送给验证者;接收与验证者从针对一个消息c的k个验证模式中选择的一个验证模式有关的信息,k^2; 向验证者发送k种响应信息中的与在接收与验证模式有关的信息的步骤中接收到的与验证模式有关的信息相对应的响应信息。响应信息是这样的信息,该信息使得在通过利用两种答复α、多项式f”以及k种响应信息执行的针对消息c的答复与验证模式的所有总计业种组合都成功的情况中,能够计算出私钥S。根据本发明另一实施例,提供了一种认证方法,包括以下步骤从证明者接收消息 C;向证明者发送答复α ;接收多项式f”,多项式f”是由证明者利用在发送答复α的步骤中所发送的答复α生成的并被用于验证消息c;从针对一个消息c的k个验证模式中选择一个验证模式,k ^ 2 ;将与在选择验证模式的步骤中所选择的验证模式有关的信息发送给证明者;从证明者接收k种响应信息中的与在发送与验证模式有关的信息的步骤中所发送的与验证模式有关的信息相对应的响应信息;以及利用在接收消息c的步骤中所接收的消息C、在接收多项式f”的步骤中所接收的多项式f”以及在接收响应信息的步骤中所接收的响应信息来验证证明者的合法性。s e Kn被设置为私钥并且环K上的多次多项式fi(Xl,···, xn)以及Yi = fi(s)被设置为公钥,i = 1至m。响应信息是这样的信息,该信息使得在通过利用两种答复α、多项式f”以及k种响应信息执行的针对消息c的答复与验证模式的所有总计业种组合都成功的情况中,能够计算出私钥S。根据本发明另一实施例,提供了一种使得计算机实现如下功能的程序密钥设置功能,用于将S e Kn设置为私钥并且将环K上的多次多项式fi(Xl,-,xn)以及yi = fi(s) 设置为公钥,i = 1至m ;消息发送功能,用于将消息c发送给验证者;验证模式接收功能, 用于接收与验证者从针对一个消息c的k个验证模式中选择的一个验证模式有关的信息, k ^ 3 ;响应发送功能,用于向验证者发送k种响应信息中的与由验证模式接收功能接收到的验证模式有关的信息所对应的响应信息。响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥S。根据本发明另一实施例,提供了一种记录有该程序的计算机可读记录介质。根据本发明另一实施例,提供了一种签名生成设备,包括密钥设置单元,用于将 s e Kn设置为私钥并且将环K上的多次多项式fi(Xl,-,xn)以及yi = fi(s)设置为公钥, i = 1至m;消息生成单元,用于基于多次多项式fi(Xl,-,xn)以及私钥s来生成N个消息 c;验证模式选择单元,用于基于通过将文档M和消息c应用于单向函数H而获得的信息,来从0个验证模式中选择验证模式,k ^ 3 ;签名生成单元,用于根据由验证模式选择单元所选择的验证模式,来生成将通过使用消息c和文档M的验证的数字签名ο。数字签名σ是这样的信息,该信息使得在利用与(k-l)N+l个验证模式相对应的数字签名σ执行的验证都成功的情况下,能够计算出私钥S。对于m和η,可以m<n。对于m和η还可以2° << 1。根据上述本发明的实施例,可以实现通过利用不存在高效求解手段(陷门)的多次多元联立方程式增强了其安全性的公钥认证方案或数字签名方案。


图1是用于描述一般的公钥认证方案的算法结构的说明图;图2是用于描述数字签名方案的算法结构的说明图;图3是用于描述η次传递公钥认证方案的说明图;图4是用于描述本发明第一实施例(3次传递)的公钥认证方案的算法的说明图;图5是用于描述根据本实施例的公钥认证方案的扩展算法的说明图;图6是用于描述根据本实施例的公钥认证方案的并行算法的说明图;图7是用于描述根据本实施例的公钥认证方案的非交互式算法的说明图;图8是用于描述根据本实施例的公钥认证方案的具体算法的说明图;图9是用于描述根据本实施例的公钥认证方案的高效算法的说明图;图10是用于描述根据本实施例的公钥认证方案的高效算法(修改Α)的说明图;图11是用于描述根据本实施例的公钥认证方案的高效算法(修改B)的说明图;图12是用于描述本发明第二实施例(5次传递)的公钥认证方案的算法的说明图;图13是用于描述根据本实施例的公钥认证方案的扩展算法的说明图;图14是用于描述根据本实施例的公钥认证方案的并行算法的说明图;图15是用于描述根据本实施例的公钥认证方案的扩展算法的并行化的说明图;图16是用于描述根据本实施例的公钥认证方案的非交互式算法的说明图;图17是用于描述根据本实施例的公钥认证方案的具体算法的说明图;图18是用于描述根据本实施例的公钥认证方案的高效算法的说明图19是用于描述根据本实施例的公钥认证方案的高效算法(修改A)的说明图;图20是用于描述根据本实施例的公钥认证方案的高效算法(修改B)的说明图;图21是用于描述根据本实施例的公钥认证方案的高效算法(修改C)的说明图;图22是用于描述根据本实施例的公钥认证方案的高效算法(修改D)的说明图;图23是用于描述根据本实施例的公钥认证方案的高效算法(修改E)的说明图;图M是用于描述根据本实施例的公钥认证方案的高效算法(修改F)的说明图;图25是用于描述根据本实施例的公钥认证方案的高效算法(修改G)的说明图;图沈是用于描述能够执行根据本发明每个实施例的算法的信息处理装置的示例硬件配置的说明图;图27是比较根据本发明第一和第二实施例的公钥认证方案的效率的图表;以及图观是用于描述设置参数的合适方法、根据本发明第一和第二实施例的公钥认证方案所使用的方法,及其效果。
具体实施例方式下面,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,用相同的标号来表示具有基本上相同的功能和结构的结构元件,并且省略对这些结构元件的重复描述。[描述的流程]这里将简要提及与后面描述的本发明的实施例有关的描述的流程。首先,将参考图1描述公钥认证方案的算法结构。接下来,将参考图2描述数字签名方案的算法结构。然后,将参考图3描述η次传递(n-pass)公钥认证方案。另外,在描述本发明的实施例之前, 还要简要描述一般的HFE签名方案。接下来,参考图4描述根据本发明第一实施例(3次传递)的公钥认证方案的算法。然后,参考图5描述用于根据本实施例的公钥认证方案的扩展算法。然后,参考图6描述用于根据本实施例的公钥认证方案的并行算法。接下来,参考图7描述用于根据本实施例的公钥认证方案的非交互式算法。然后,参考图8描述用于根据本实施例的公钥认证方案的具体算法。然后,参考图9至11描述用于根据本实施例的公钥认证方案的高效算法。接下来,参考图12描述根据本发第二实施例(5次传递)的钥认证方案的算法。然后,参考图13描述用于根据本实施例的公钥认证方案的扩展算法。然后,参考图14和15 描述用于根据本实施例的公钥认证方案的并行算法。接下来,参考图16描述用于根据本实施例的公钥认证方案的非交互式算法。然后,参考图17描述用于根据本实施例的公钥认证方案的具体算法。然后,参考图18至25描述用于根据本实施例的公钥认证方案的高效算法。接下来,描述将根据本发明第一和第二实施例的高效算法应用于二次或更高次的多元多项式的扩展方法。然后,参考图沈描述能够实现本发明第一和第二实施例中的每个算法的信息处理装置的示例硬件配置。最后,将总结实施例的技术思想并且简要描述这些技术思想获得的效果。(描述项目)1 介绍-1 公钥认证方案的算法结构 -2 数字签名方案的算法结构 -3 =N次传递公钥认证方案 -4 =HFE数字签名方案 -4-1 =HFE函数的性质 -4-2 =HFE数字签名方案的算法
2第一实施例
2-1 用于公钥认证方案的算法 2-2 扩展算法 2-3 并行算法 2-4 非交互式算法 2-5 修改为数字签名方案 2-6 具体示例 2-7 高效算法
2-8 多次多元联立方程式的形式 2-8-1 与共同密钥块密码有关的形式 2-8-2 与哈希函数有关的形式
2-8-3与流密码有关的形式
3第二实施例
3-1用于公钥认证方案的算法 3-2 扩展算法 3-3 并行算法 3-4 非交互式算法 3-5 修改为数字签名方案 3-6 具体示例 3-7 高效算法
4高效算法的一般化
5示例硬件配置
6总结 <1 介绍>
首先,在详细描述本发明的实施例之前,将简要描述一般的公钥认证方案的算法 -般的数字签名方案的算法结构以及η次传递公钥认证方案。 [1-1 公钥认证方案的算法结构]
首先,参考图1描述一般的公钥认证方案的算法结构。图1是用于描述一般的公钥认证方案的算法结构的说明图。(概述)公钥认证方案是这样的认证方案,其中,一人(证明者)利用公钥pk和私钥Sk来使另一人(验证者)相信其是证明者本身。例如,使得证明者A的公钥验证者所知。 另一方面,证明者A的私钥skA由证明者秘密地管理。根据公钥认证方案,知道与公钥pkA
13相对应的私钥skA的人被认为是证明者A本身。在证明者A试图向验证者B证明其是证明者本身的情况中,证明者A可以与验证者B执行交互式协议,并且证明其知道与公钥pkA相对应的私钥skA。然后,在验证者B通过该交互式协议证实了证明者A知道私钥skA的情况中,则证明者A的合法性(其是证明者本身)得到证实。另外,为了确保公钥认证方案的安全性,要满足下面阐述的两个条件。第一条件是尽可能降低在交互式协议被执行时没有私钥skA的伪造者使伪造成立的概率。满足该第一条件被称为“合理性”(soundness)。换言之,通过合理的交互式协议, 没有私钥skA的伪造者不会以不可忽略的概率来使伪造成立。第二条件是即使交互式协议被执行,与证明者A的私钥skA有关的信息一点儿也不会被泄露给验证者B。满足该第二条件被称为“零知识”。通过利用具有如上所述的合理性和零知识的交互式协议来确保公钥认证方案的安全性。(模型)在公钥认证方案的模型中,存在如图1所示的两个实体,即证明者和验证者。证明者通过利用密钥生成算法Gen来生成该证明者独有的公钥pk和私钥sk对。然后,证明者通过利用使用密钥生成算法Gen生成的该公钥pk和私钥sk对来与验证者执行交互式协议。 此时,证明者通过利用证明者算法P来执行交互式协议。如上所述,在交互式协议中,证明者通过利用证明者算法P来向验证者证明其拥有私钥sk。另一方面,验证者通过利用验证者算法V来执行交互式协议,并且验证该证明者是否拥有与该证明者已公开的公钥相对应的私钥。即,验证者是验证证明者是否用于与公钥相对应的私钥的实体。如上所述,公钥认证方案的模型由两个实体构成,即,由证明者和验证者,以及三个算法,即密钥生成算法Gen、证明者算法P和验证者算法V构成。另外,表述“证明者”和“验证者”将被用在下面的描述中,但是这些表述严格来说是指实体。因此,执行密钥生成算法Gen和证明者算法P的主体是与实体“证明者”相对应的信息处理装置。类似地,执行验证者算法V的主体是信息处理装置。这些信息处理装置的硬件配置例如如图26所示。即,密钥生成算法Gen、证明者算法P和验证者算法V是由 CPU 902基于记录在ROM 904、RAM 906、存储单元920、可移除记录介质拟8等上的程序来执行的。(密钥生成算法Gen)密钥生成算法Gen由证明者使用。密钥生成算法Gen是用于生成证明者独有的公钥Pk和私钥Sk对的算法。通过密钥生成算法Gen生成的公钥Pk被公开。此外,所公开的公钥Pk由验证者使用。另一方面,通过密钥生成算法Gen生成的私钥sk由证明者秘密地管理。被秘密地管理的私钥sk用来向验证者证明对与公钥pk相对应的私钥sk的拥有。形式上,密钥生成算法Gen被表示为下面的公式(1),作为获取安全性参数1λ(λ是等于或大于0的整数)作为输入并输出私钥sk和公钥pk的算法。[表达式1](sk,pk) — Gen(Ix)...(1)(证明者算法P)
证明者算法P由证明者使用。证明者算法P是用于证明对与公钥Pk相对应的私钥Sk的拥有的算法。证明者算法P被定义为获取证明者的公钥Pk和私钥Sk作为输入并且执行与验证者的交互式协议的算法。(验证者算法V)验证者算法V由验证者使用。验证者算法V是用于在交互式协议中验证证明者是否拥有与公钥Pk相对应的私钥sk的算法。验证者算法V被定义为获取证明者的公钥Pk 作为输入并在执行了与证明者的交互式协议之后输出0或1(1比特)的算法。此外,在输出0的情况中,假设证明者是非法的,并且在输出1的情况中,假设证明者是合法的。形式上,验证者算法V被表示为如下的公式O)。[表达式2]0/1 — V(pk,m,σ )…⑵(补充)如上所述,公钥认证方案必须满足两个条件,S卩,合理性和零知识,以确保安全性。 然而,为了使得证明者能证明其拥有私钥sk,需要证明者执行依赖于私钥sk的过程,向验证者通知结果并且使验证者基于所通知内容执行验证。执行依赖于私钥Sk的过程是必要的,以保证合理性。另一方面,即使在过程的结果被通知给验证者时,也需要与私钥吐4有关的信息一点儿也不会被泄露给验证者。因此,需要将密钥生成算法Gen、证明者算法P和验证者算法V设计为满足这些项。在前面,已描述了一般的公钥认证方案的算法结构。[1-2 数字签名方案的算法结构]接下来,将参考图2描述数字签名方案的算法结构。图2是用于描述一般的数字签名方案的算法结构的说明图。(概述)与纸质文档不同,无法对数字化数据进行密封或签名。因此,为了证明数字化数据的作者的合法性,产生与对纸质文档进行密封或签名相同效果的电子机制成为必要。该机制就是数字签名。例如,将仅数据的作者知道的签名数据提供给与该数据相关联的接收者并且在接收者侧验证该签名数据的机制被称为数字签名方案。(模型)在数字签名方案的模型中,存在如图2所示的两个实体,即签名者和验证者。此外,数字签名方案的模型还由三个算法,即密钥生成算法Gen、签名生成算法Sig和签名验证算法Ver构成。签名者通过利用密钥生成算法Gen来生成该签名者独有的验证密钥pk和签名密钥sk对。此外,签名者通过利用签名生成算法Sig来生成将被添加到文档M的数字签名 σ。即,签名者是向文档M添加数字签名的实体。另一方面,验证者通过利用签名验证算法 Ver来验证添加到文档M的数字签名ο。即,验证者是验证该数字签名σ以检查文档M的作者是否是该签名者的实体。另外,表述“签名者”和“验证者”将被用在下面的描述中,但是这些表述严格来说是指实体。因此,执行密钥生成算法Gen和签名生成算法Sig的主体是与实体“签名者”相对应的信息处理装置。类似地,执行签名验证算法Ver的主体也是信息处理装置。这些信息处理装置的硬件配置例如如图沈所示。即,密钥生成算法Gen、签名生成算法Sig和签名验证算法Ver是由CPU 902基于记录在ROM 904、RAM 906、存储单元920、可移除记录介质 928等上的程序来执行的。(密钥生成算法Gen)密钥生成算法Gen由签名者使用。密钥生成算法Gen是用于生成签名者独有的验证密钥Pk和签名密钥sk对的算法。通过密钥生成算法Gen生成的验证密钥pk被公开。另一方面,通过密钥生成算法Gen生成的签名密钥sk由签名者秘密地管理。由签名者秘密地管理的签名密钥sk被用来生成添加到文档M的数字签名ο。形式上,该密钥生成算法Gen 被表示为如下的公式(3),作为获取安全性参数1λ( λ是等于或大于0的整数)作为输入并输出私钥sk和公钥pk的算法。[表达式3](sk,pk) — Gen(Ix)...(3)(签名生成算法Sig)签名生成算法Sig由签名者使用。签名生成算法Sig是用于生成将被添加到文档 M的数字签名σ的算法。形式上,签名生成算法Sig被标识为如下的公式G),作为获取文档M和签名者的签名密钥sk作为输入并输出数字签名σ的算法。[表达式4]σ — Sig (sk,Μ)... (4)(签名验证算法Ver)签名验证算法Ver由验证者使用。签名验证算法Ver是用于验证数字鉴名σ是否是文档M的有效数字签名的算法。形式上,签名验证算法Ver被表示为如下的公式(5), 作为获取验证密钥pk、文档M和签名者的数字签名σ作为输入并输出0或1(1比特)的算法。此外,在0被输出的情况中(在公钥pk否决文档M和数字签名σ的情况中),文档M 的数字签名σ是无效的。在1被输出的情况中(在公钥pk接受文档M和数字签名σ的情况中),文档M的数字签名σ是有效的。[表达式5]0/1 — Ver(pk,Μ,σ )...(5)在前面,已描述了一般的数字签名方案的算法结构。[1-3 =N次传递公钥认证方案]接下来,将参考图3描述η次传递公钥认证方案。图3是用于描述η次传递公钥认证方案的说明图。如上所述,公钥认证方案是用于在交互式协议中向验证者证明证明者拥有与公钥 Pk相对应的私钥sk的认证方案。此外,为了保证公钥认证方案的安全性,必须满足两个条件,即合理性和零知识。因此,如图3所示,在交互式协议中,在证明者和验证者两者正执行这些处理的执行时,在证明者和验证者之间执行信息交换η次。在η次传递公钥认证方案的情况中,由证明者利用证明者算法P来执行处理(步骤1),并且信息T1被发送给验证者。接下来,由验证者利用验证者算法V执行处理(步骤 2),并且信息T2被发送给证明者。处理(步骤3,…,步骤η)以类似方式被执行并且多个信息T3,…,Tn被发送,并且处理(步骤η+1)被执行。将基于多个信息被发送/接收η次的交互式协议的这样的公钥认证方案称为“η次传递”公钥认证方案。
0146]在前面,已描述了 η次传递公钥认证方案。
0147][1-4 :HFE数字签名方案]
0148]这里,将简要描述HFE数字签名方案作为使用多次多元联立方程式的数字签名方案的示例。
0149](1-4-1 =HFE 函数的性质) 首先,将简要描述HFE函数Ft的定义和HFE函数Ft的性质。 《符号的定义》
K 由包括q个数的元素形成的有限环 Kn =K的N次直积 Ft =Kn — Kn
A 有限环K的N次扩展(元素数qn) B 有限环K的M次扩展(元素数qm) 线性映射A —Kn(参见下面的公式(6)) S 对Kn的逆仿射变换 T 对Kn的逆仿射变换 f:中心映射(参见下面的公式(7)) 陷门:S, Τ, aljr bj, c [表达式6]
Φ (Χο+ΧιΧ+...+XlriXn-1) = (χ0,…,Xn^1) ... (6)
0150]
0151]
0152]
0153]
0154]
0155]
0156]
0157]
0158]
0159]
0160] 0161] 0162]
0163]
0164][表达式7]
0165]
权利要求
1.一种认证设备,包括密钥设置单元,用于将s e Kn设置为私钥并且将环K上的多次项式fi(Xl,…,xn)以 Rli = fjs)设置为公钥,i = 1至m ;消息发送单元,用于将消息c发送给验证者;验证模式接收单元,用于接收由所述验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息,k彡3 ;以及响应发送单元,用于向所述验证者发送k种响应信息中的与由所述验证模式接收单元接收到的验证模式的信息相对应的响应信息,其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用k种响应信息执行的针对消息c的所有k个验证模式都已成功。
2.根据权利要求1所述的认证设备,其中,如果在执行由所述消息发送单元发送一个或多个消息c的第一步骤、由所述验证模式接收单元针对每个消息c从所述验证者接收验证模式的信息的第二步骤、以及由所述响应发送单元针对每个验证模式的信息发送响应信息的第三步骤时,所述验证者利用所有响应信息都成功地执行了验证,则认证成功。
3.根据权利要求2所述的认证设备,其中,执行由所述消息发送单元发送一个或多个消息c的第一步骤、由所述验证模式接收单元针对每个消息c从所述验证者接收验证模式的信息的第二步骤、以及由所述响应发送单元针对每个验证模式的信息发送响应信息的第三步骤的处理被重复,并且其中,如果当将所述第一步骤至第三步骤执行了预定次数时,所述验证者利用所有响应信息每次都成功地执行了验证,则所述认证成功。
4.根据权利要求2或3所述的认证设备, 其中,在所述消息C= (ci; -,Cffl)的情况中,所述消息发送单元通过利用单向函数H来计算新的消息c’ = H(C),并且将所述消息 C’发送给所述验证者,并且所述响应发送单元将所述验证者即使利用所述响应信息也不能恢复出来的所述消息c 的元素与所述响应信息一起发送。
5.根据权利要求4所述的认证设备,其中,所述单向函数是哈希函数或承诺函数。
6.一种认证设备,包括消息接收单元,用于从证明者接收消息c ;验证模式选择单元,用于从针对一个消息c的k个验证模式中选择一个验证模式, k彡3 ;验证模式发送单元,用于将由所述验证模式选择单元选择的验证模式的信息发送给所述证明者;响应接收单元,用于从所述证明者接收k种响应信息中的与由所述验证模式发送单元发送的验证模式的信息相对应的响应信息;以及验证单元,用于利用由所述消息接收单元接收的所述消息c和由所述响应接收单元接收的所述响应信息来验证所述证明者的合法性,其中,s e Kn被设置为私钥,并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)被设置为公钥,i = 1至m,并且其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用k种响应信息执行的针对消息c的所有k个验证模式都已成功。
7.一种认证设备,包括密钥设置单元,用于将s e Kn设置为私钥并且将环K上的多次多项式 ^(Χι,···,Χη)以 Rli = fjs)设置为公钥,i = 1至m ;消息发送单元,用于将消息c发送给验证者; 答复接收单元,用于从所述验证者接收答复α ;多项式生成单元,用于利用所述答复接收单元接收的所述答复α来生成要用于验证所述消息c的多项式f ” ;多项式发送单元,用于将由所述多项式生成单元生成的所述多项式f”发送给所述验证者;验证模式接收单元,用于接收由所述验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息,k彡2 ;响应发送单元,用于向所述验证者发送k种响应信息中的与由所述验证模式接收单元接收的验证模式的信息相对应的响应信息,其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用两种答复α、所述多项式f”以及k种响应信息执行的针对所述消息c的答复与验证模式的全部总计业种组合都已成功。
8.根据权利要求7所述的认证设备,其中,如果在执行由所述消息发送单元发送一个或多个消息c的第一步骤、由所述答复接收单元接收针对每个消息c的所述答复α的第二步骤、由所述多项式生成单元利用在所述第二步骤中接收的所述答复α来生成多项式f”并且由所述多项式发送单元发送所述多项式f”的第三步骤、由所述验证模式接收单元针对每个消息c从所述验证者接收验证模式的信息的第四步骤、以及由所述响应发送单元针对每个验证模式的信息发送响应信息的第五步骤时,如果所述验证者利用所有响应信息都成功地执行了验证,则认证成功。
9.根据权利要求8所述的认证设备,其中,执行由所述消息发送单元发送一个或多个消息c的第一步骤、由所述答复接收单元接收针对每个消息c的所述答复α的第二步骤、由所述多项式生成单元利用在所述第二步中接收的所述答复α来生成多项式f”并且由所述多项式发送单元发送所述多项式f” 的第三步骤、由所述验证模式接收单元针对每个消息c从所述验证者接收验证模式的信息的第四步骤、以及由所述响应发送单元针对每个验证模式的信息发送响应信息的第五步骤的处理被重复,并且其中,如果当将所述第一步骤至第五步骤执行了预定次数时,所述验证者利用所有响应信息每次都成功地执行了验证,则所述认证成功。
10.一种认证设备,包括消息接收单元,用于从证明者接收消息c ; 答复发送单元,用于向所述证明者发送答复α ;多项式接收单元,用于接收多项式f”,所述多项式f”是由所述证明者利用由所述答复发送单元发送的所述答复α生成的并被用于验证所述消息c;验证模式选择单元,用于从针对一个消息c的k个验证模式中选择一个验证模式, k彡2 ;验证模式发送单元,用于将由所述验证模式选择单元选择的验证模式的信息发送给所述证明者;响应接收单元,用于从所述证明者接收k种响应信息中的与由所述验证模式发送单元发送的验证模式的信息相对应的响应信息;以及验证单元,用于利用由所述消息接收单元接收的所述消息C、由所述多项式接收单元接收的所述多项式f”以及由所述响应接收单元接收的所述响应信息,验证所述证明者的合法性,其中,s e Kn被设置为私钥,并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s) 被设置为公钥,i = 1至m,并且其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用两种答复α、所述多项式f”以及k种响应信息执行的针对所述消息c的答复与验证模式的全部总计业种组合都已成功。
11.根据权利要求1所述的认证设备, 其中,所述m和所述η具有m < η的关系。
12.根据权利要求11所述的认证设备,其中,所述m和所述η具有2m_n<< 1的关系。
13.一种认证方法,包括以下步骤将s e Kn设置为私钥,并且将环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)设置为公钥,i = 1至m;将消息c发送给验证者;接收由所述验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息, k彡3 ;向所述验证者发送k种响应信息中的与在接收步骤中接收到的验证模式的信息相对应的响应信息,其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用k种响应信息执行的针对消息c的所有k个验证模式都已成功。
14.一种认证方法,包括以下步骤 从证明者接收消息c ;从针对一个消息c的k个验证模式中选择一个验证模式,k^3; 将在选择步骤中所选择的验证模式的信息发送给所述证明者; 从所述证明者接收k种响应信息中的与在发送步骤中发送的验证模式的信息相对应的响应信息;以及利用在接收消息c的步骤中所接收的所述消息c以及在接收响应信息的步骤中所接收的所述响应信息来验证所述证明者的合法性,其中,s e Kn被设置为私钥,并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s) 被设置为公钥,i = 1至m,并且其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用k种响应信息执行的针对消息c的所有k个验证模式都已成功。
15.一种认证方法,包括以下步骤将s e Kn设置为私钥,并且将环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s)设置为公钥,i = 1至m;将消息c发送给验证者; 从所述验证者接收答复α ;利用在接收答复α的步骤中所接收的所述答复α来生成要用于验证所述消息c的多项式f” ;将在生成步骤中生成的所述多项式f”发送给所述验证者;接收由所述验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息, k彡2 ;向所述验证者发送k种响应信息中的与在接收验证模式的信息的步骤中接收的验证模式的信息相对应的响应信息,其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用两种答复α、所述多项式f”以及k种响应信息执行的针对所述消息c的答复与验证模式的全部总计业种组合都已成功。
16.一种认证方法,包括以下步骤 从证明者接收消息c ;向所述证明者发送答复α ;接收多项式f”,所述多项式f”是由所述证明者利用在发送答复α的步骤中所发送的所述答复α生成的并被用于验证所述消息c;从针对一个消息c的k个验证模式中选择一个验证模式,k^2; 将在选择验证模式的步骤中选择的验证模式的信息发送给所述证明者; 从所述证明者接收k种响应信息中的与在发送验证模式的信息的步骤中所发送的验证模式的信息相对应的响应信息;以及利用在接收消息c的步骤中所接收的所述消息C、在接收多项式f ”的步骤中所接收的所述多项式f”以及在接收响应信息的步骤中所接收的所述响应信息来验证所述证明者的合法性,其中,s e Kn被设置为私钥,并且环K上的多次多项式fi(Xl,…,xn)以及yi = fi(s) 被设置为公钥,i = 1至m,并且其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用两种答复α、所述多项式f”以及k种响应信息执行的针对所述消息c的答复与验证模式的全部总计业种组合都已成功。
17.一种使得计算机实现如下功能的程序密钥设置功能,用于将s e Kn设置为私钥并且将环K上的多次多项式 ^(Χι,···,Χη)以 Rli = fjs)设置为公钥,i = 1至m ;消息发送功能,用于将消息c发送给验证者;验证模式接收功能,用于接收由所述验证者从针对一个消息c的k个验证模式中选择的一个验证模式的信息,k彡3 ;响应发送功能,用于向所述验证者发送k种响应信息中的与由所述验证模式接收功能接收到的验证模式的信息相对应的响应信息,其中,所述响应信息是使得在如下情况中能够计算出所述私钥s的信息通过利用k种响应信息执行的针对消息c的所有k个验证模式都已成功。
18. —种签名生成设备,包括密钥设置单元,用于将s e Kn设置为私钥并且将环K上的多次多项式 ^(Χι,···,Χη)以 Rli = fjs)设置为公钥,i = 1至m ;消息生成单元,用于基于所述多次多项式fi(Xl,-,xn)以及所述私钥s来生成N个消息c ;验证模式选择单元,用于基于通过将文档M和所述消息c应用于单向函数而获得的信息,来从kN个验证模式中选择验证模式,k^3;签名生成单元,用于根据由所述验证模式选择单元所选择的验证模式,来生成数字签名σ,所述数字签名σ将通过使用所述消息c和所述文档M的验证,其中,所述数字签名ο是使得在如下情况中能够计算出所述私钥s的信息利用与 (k_l)N+l个验证模式相对应的数字签名ο执行的验证都已成功。
全文摘要
本发明公开了认证设备、认证方法、程序和签名生成设备。提供了一种认证设备,包括密钥设置单元,用于将s∈Kn设置为私钥并且将环K上的多次多项式fi(x1,…,xn)(i=1至m)以及yi=fi(s)设置为公钥;消息发送单元,用于将消息c发送给验证者;验证模式接收单元,用于接收与验证者针对一个消息c从k(k≥3)个验证模式中选择的一个验证模式有关的信息;以及响应发送单元,用于向验证者发送k种响应信息中的与由验证模式接收单元接收到的验证模式有关的信息所对应的响应信息,其中,响应信息是这样的信息,该信息使得在通过利用k种响应信息执行的针对消息c的所有k个验证模式都成功的情况中能够计算出私钥s。
文档编号H04L9/32GK102263638SQ20111014502
公开日2011年11月30日 申请日期2011年5月24日 优先权日2010年5月31日
发明者作本纮一, 樋渡玄良, 白井太三 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1