信息处理设备、签名产生设备、信息处理方法、签名产生方法和程序的制作方法

文档序号:7991405阅读:119来源:国知局
信息处理设备、签名产生设备、信息处理方法、签名产生方法和程序的制作方法
【专利摘要】提供一种信息处理设备,该信息处理设备:基于多元多项式的数组(F=(f1,...,fm))和作为集合的元素的向量s(s∈Kn)产生消息,所述多元多项式在环(K)中定义;把所述消息提供给知道所述多元多项式的数组(F)和向量y(y=(y1,...,ym)=(f1(s),...,fm(s)))的核查者;向所述核查者提供与核查者从k(k≥3)种核查模式之中选择的核查模式对应的响应信息。所述多元多项式的数组(F)包括m个三阶多项式(f1,...,fm),以定义为G1(x1,x2)+G2(x1,x2)=F(x1+x2)-F(x1)-F(x2)的G1(x1,x2)和G2(x1,x2)分别关于x1和x2为加同态的方式设置。
【专利说明】信息处理设备、签名产生设备、信息处理方法、签名产生方
法和程序
【技术领域】
[0001]本技术涉及一种信息处理设备、签名产生设备、信息处理方法、签名产生方法和程序。
【背景技术】
[0002]随着信息处理技术和通信技术的迅速发展,文档已被迅速数字化而不管文档是公共的还是私人的。随着这种文档的数字化,许多个人和公司对电子文档的安全管理具有很大的兴趣。响应于这种兴趣的增加,已在各种领域中积极研究针对篡改行为(诸如,电子文档的窃取或伪造)的对策。关于电子文档的窃取,例如通过加密电子文档来确保安全性。另外,关于电子文档的伪造,例如通过使用数字签名来确保安全性。然而,当将要使用的加密或数字签名不具有较高的篡改抵抗能力时,无法确保足够的安全性。
[0003]数字签名被用于指定电子文档的作者。因此,数字签名应该能够仅由电子文档的作者产生。如果恶意第三方能够产生相同的数字签名,则这种第三方能够冒充电子文档的作者。也就是说,由恶意第三方伪造电子文档。关于用于防止这种伪造的数字签名的安全性,各种意见已表达。作为当前广泛使用的数字签名方案,已知例如RSA签名方案和DSA签名方案。
[0004]RSA签名方案采用“大的合数的素因式分解的难度(以下,素因式分解问题)”作为安全的基础。此外,DSA签名方案采用“解决离散对数问题的难度”作为安全的基础。这些基础基于:通过使用经典计算机高效地解决素因式分解问题和离散对数问题的算法不存在。也就是说,上述难度暗示了经典计算机的计算难度。然而,据称:当使用量子计算机时,能够高效地计算素因式分解问题和离散对数问题的解决方案。
[0005]类似于RSA签名方案和DSA签名方案,当前使用的许多数字签名方案和公钥验证方案也采用素因式分解问题或离散对数问题的难度作为安全的基础。因此,如果量子计算机被投入实际使用,则将会无法确保这种数字签名方案和公钥验证方案的安全性。因此,希望实现采用与能够由量子计算机容易地解决的问题(诸如,素因式分解问题和离散对数问题)不同的问题作为安全的基础的新的数字签名方案和公钥验证方案。作为无法由量子计算机容易地解决的问题,例如,存在与多元多项式相关的问题。
[0006]例如,作为采用多元多项式问题作为安全的基础的数字签名方案,已知基于Matsumoto-1mai (MI)密码术、隐藏域方程(HFE)密码术、Oil-Vinegar (OV)签名方案和训练变换方法(TTM)密码术的数字签名方案。例如,在下面的非专利文献I和2中公开了基于HFE的数字签名方案。
[0007]引用列表
[0008]非专利文献
[0009]非专利文献 1:Jacques Patarin, Asymmetric Cryptography with a HiddenMonomial, CRYPTO 1996,pp.45-60[0010]非专利文献2:Patarin, J., Courtois, N., and Goubin, L., QUARTZ, 128-Bit LongDigital Signatures, In Naccache, D., Ed.Topics in Cryptology-CT-RSA 2001 (SanFrancisco, CA, USA, April 2001), vol.2020 of Lecture Notes in Computer Science, Springer-Verlag., pp.282-297

【发明内容】

[0011]技术问题
[0012]如上所述,多元多项式问题是即使当使用量子计算机时也难以解决的问题(称为NP-hard问题)的例子。通常,使用由HFE等代表的多元多项式问题的公钥验证方案使用具有特殊陷门(trapdoor)的多阶多元联立方程。例如,提供与X1,…,Xn相关的多阶多元联立方程F (X1,…,xn) =y以及线性变换A和B,并且线性变换A和B被秘密地管理。在这种情况下,多阶多元联立方程F以及线性变换A和B是陷门。
[0013]知道陷门F、A和B的实体能够解与X1,…,Xn相关的方程B (F (A(x1;…,xn)))=y'。另一方面,不知道陷门F、A和B的实体无法解与X1,…,Xn相关的方程B(F(A(Xl,…,xn)))=y/。通过使用这种机制,能够实现采用解多阶多元联立方程的难度作为安全的基础的公钥验证方案和数字签名方案。
[0014]如上所述,为了实现公钥验证方案或数字签名方案,必须准备满足B(F(A(Xl,…,xn)))=y的特殊多阶多元联立方程。另外,在签名产生时,必须解多阶多元联立方程F。由于这个原因,可用的多阶多元联立方程F局限于相对容易可解的方程。也就是说,在以前的方案中,仅使用能够相 对容易求解的三个函数(陷门)B、F和A的组合形式的多阶多元联立方程B (F (A (X1,…,xn))) =y,因此,难以确保足够的安全性。
[0015]考虑到上述情况而提出本技术,并且本技术旨在提供这样一种新的改进的信息处理设备、新的改进的签名产生设备、新的改进的信息处理方法、新的改进的签名产生方法和新的改进的程序:能够使用其高效求解方式(陷门)未知的多阶多元联立方程实现高效并且具有高安全性的公钥验证方案或数字签名方案。
[0016]问题的解决方案
[0017]根据本公开的实施例,提供一种信息处理设备,包括:消息产生单元,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (yi,...,ym) = (f!(s),...,fm(s))的核查者;响应提供单元,向核查者提供与核查者从k(其中k > 3)种核查模式之中选择的核查模式对应的响应信息。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括 m 个三次多项式 fu..., fm 并且以定义为 G1 (x1; x2)+G2 (x1; x2) =F (X^X2)-F (X1)-F (X2)的G1 (x1; x2)和G2U1, x2)分别关于X1和X2为加同态的方式设置所述一组多阶多元多项式F。
[0018]根据本公开的实施例,提供一种信息处理设备,包括:信息存储单元,存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(y1;...,ym) = (f!(s),..., fm(s));消息获取单元,获取基于 所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;模式信息提供单元,向提供消息的证明者提供关于从k(其中k ^ 3)种核查模式之中随机选择的一种核查模式的信息;响应获取单兀,从证明者获取与选择的核查模式对应的响应信息;和核查单元,基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1, x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
[0019]根据本公开的实施例,提供一种信息处理设备,包括:消息产生单元,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (Y1,...,yffl) = (f1(s),..., fffl(s))的核查者;中间信息产生单元,基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息;中间信息提供单元,把第三信息提供给核查者;和响应提供单元,向核查者提供与核查者从k(其中k > 2)种核查模式之中选择的核查模式对应的响应信息。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式 f\,...,fm 并且以定义为 G1 (X1, x2)+G2 (x1; x2) =F (X^X2)-F (X1)-F (x2) ^ G1 (x1; x2)和G2 (X1, x2)分别关于X1和X2为线性的方式设置所述一组多阶多元多项式F。
[0020]根据本公开的实施例,提供一种信息处理设备,包括:信息存储单元,存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(y1;...,ym) = (f!(s),..., fm(s));消息获取单元,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;信息提供单元,向提供消息的证明者提供随机选择的第一信息;中间信息获取单元,获取证明者基于第一信息和在产生消息时获得的第二信息产生的第三信息;模式信息提供单元,向证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息;响应获取单元,从证明者获取与选择的核查模式对应的响应信息;和核查单元,基于消息、第一信息、第三信息、所述一组多阶多元多项式F和响应信息核查证明者是否存储向量
S。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为 G1 (X1, x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2为线性的方式设置所述一组多阶多元多项式F。
[0021]根据本公开的实施例,提供一种签名产生设备,包括:消息产生单元,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (yi,..., ym) = (fi(s),..., fm(s))的核查者;模式选择单元,基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k > 3)种核查模式之中选择一种核查模式;响应产生单元,产生与选择的核查模式对应的响应信息;和签名提供单元,向核查者提供消息和响应信息作为签。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
[0022]根据本公开的实施例,提供一种信息处理方法,包括下述步骤:基于在环K中定义的一组多阶多元多项式F=(f\,...,fm)和作为集合Kn的元素的向量s产生消息;把消息提供给存储所述一组多阶多元多项式F和向量y=(yp..., ym) = (fi(s),..., fm(s))的核查者;向核查者提供与核查者从k(其中k > 3)种核查模式之中选择的核查模式对应的响应信息。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (Xl, x2) +G2 (Xl, X2)=F(X^X2)-F(X1)-F(X2)的G1 (X1, x2)和G2(X1, X2)分别关于X1和X2为加同态的方式设置所述一组多阶多元多项式F。
[0023]根据本公开的实施例,提供一种信息处理方法,包括下述步骤:由信息处理设备存储在环K中定义的一组多阶多元多项式F=(f\,...,fm)和向量y= (yi,..., ym) = (fi(s),..., fm(s));获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;向提供消息的证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息;从证明者获取与选择的核查模式对应的响应信息;和基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次 多项式f1;..., fm并且以定义为G1 (Xl, x2) +G2 (Xl, x2) =F (X1+x2) -F(X1) -F(x2)的G1 (X1, x2)和G2 (X1, x2)分别关于X1和X2为加同态的方式设置所述一组多阶多元多项式F。
[0024]根据本公开的实施例,提供一种信息处理方法,包括下述步骤:基于在环K中定义的一组多阶多元多项式F=(f\,...,fm)和作为集合Kn的元素的向量s产生消息;把消息提供给存储所述一组多阶多元多项式F和向量y=(jv..., ym) = (fi(s),..., fm(s))的核查者;基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息;把第三信息提供给核查者;和向核查者提供与核查者从k(其中k ^ 2)种核查模式之中选择的核查模式对应的响应信息。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式fi,..., fm 并且以定义为 G1 (X1, X2) +G2 (X1, X2) =F (X^X2) -F (X1) -F (X2)的 G1 (x” X2)和 G2 (X1, X2)分别关于X1和X2为线性的方式设置所述一组多阶多元多项式F。
[0025]根据本公开的实施例,提供一种信息处理方法,包括下述步骤:由信息处理设备存储在环K中定义的一组多阶多元多项式F=(f\,...,fm)和向量y= (yi,..., ym) = (fi(s),..., fm(s));获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;向提供消息的证明者提供随机选择的第一信息;获取证明者基于第一信息和在产生消息时获得的第二信息产生的第三信息;向证明者提供关于从k(其中3)种核查模式之中随机选择的一种核查模式的信息;从证明者获取与选择的核查模式对应的响应信息;和基于消息、第一信息、第三信息、所述一组多阶多兀多项式F和响应信息核查证明者是否存储向量S。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量I是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式 fi,..., fm 并且以定义为 G1 (x1; X2) +G2 (x1; X2) =F (XjX2)-F (X1)-F (X2)的 G1 (x1; x2)和G2 (X1, x2)分别关于X1和X2为线性的方式设置所述一组多阶多元多项式F。
[0026]根据本公开的实施例,提供一种签名产生方法,包括下述步骤:基于在环K中定义的一组多阶多元多项式F=(f\,...,fm)和作为集合Kn的元素的向量s产生消息;把消息提供给存储所述一组多阶多元多项式F和向量y=(yp..., ym) = (fi(s),..., fm(s))的核查者;基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k > 3)种核查模式之中选择一种核查模式;产生与选择的核查模式对应的响应信息;和向核查者提供消息和响应信息作为签名。所述向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (xI, X2) +G2 (X1, X2) =F (X^X2) -F (X1) -F (X2)的 G1 (x” X2)和 G2 (x” X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
[0027]根据本公开的实施例,提供一种程序,所述程序使计算机实现:消息产生功能,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (yi,...,ym) = (f!(s),...,fm(s))的核查者;响应提供功能,向核查者提供与核查者从k(其中k > 3)种核查模式之中选择的核查模式对应的响应信息。向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式 fi,..., fm 并且以定义为 G1 (X1, X2) +G2 (X1, X2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和G2(Xl,x2)分别关于X1和X2为加同态的方式设置所述一组多阶多元多项式F。
[0028]根据本公开的实施例,提供一种程序,所述程序使计算机实现:信息存储功能,存储在环K中定义的一组多阶多元多项式F=(f\,...,fm)和向量y= (yi,...,ym) = (f1(s),...,fm(s));消息获取功能,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;模式信息提供功能,向提供消息的证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息;响应获取功能,从证明者获取与选择的核查模式对应的响应信息;和核查功能,基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S。向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式 fi,..., fm 并且以定义为 G1 (x1; X2) +G2 (x1; X2) =F (XjX2)-F (X1)-F (X2)的 G1 (x1; x2)和G2 (X1, x2)分别关于X1和X2为加同态的方式设置所述一组多阶多元多项式F。
[0029]根据本公开的实施例,提供一种程序,所述程序使计算机实现:消息产生功能,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (yi,...,ym) = (f1(s),...,fm(s))的核查者;中间信息产生功能,基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息;中间信息提供功能,把第三信息提供给核查者;和响应提供功能,向核查者提供与核查者从k(其中k > 2)种核查模式之中选择的核查模式对应的响应信息。向量s是秘密密钥。所述一组多阶多元多项式F和向量I是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式 fi,..., fm 并且以定义为 G1 (x1; X2) +G2 (x1; X2) =F (XjX2)-F (X1)-F (X2)的 G1 (x1; x2)和G2 (X1, x2)分别关于X1和X2为线性的方式设置所述一组多阶多元多项式F。
[0030]根据本公开的实施例,提供一种程序,所述程序使计算机实现:信息存储功能,存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(yi,..., ym) = (fi(s),...,fm(s));
[0031]消息获取功能,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息;信息提供功能,向提供消息的证明者提供随机选择的第一信息;中间信息获取功能,获取证明者基于第一信息和在产生消息时获得的第二信息产生的第三信息;模式信息提供功能,向证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息;响应获取功能,从证明者获取与选择的核查模式对应的响应信息;和核查功能,基于消息、第一信息、第三信息、所述一组多阶多元多项式F和响应信息核查证明者是否存储向量S。向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一 组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为 G1 (X1, x2)+G2 (X1, x2) =F (X^X2)-F (X1)-F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1和X2为线性的方式设置所述一组多阶多元多项式F。
[0032]根据本公开的实施例,提供一种程序,所述程序使计算机实现:消息产生功能,基于在环K中定义的一组多阶多元多项式F=^,...,。和作为集合Kn的元素的向量s产生消息;消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (yi,..., ym) = (fi(s),..., fm(s))的核查者;模式选择功能,基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k > 3)种核查模式之中选择一种核查模式;响应产生功能,产生与选择的核查模式对应的响应信息;和签名提供功能,向核查者提供消息和响应信息作为签名。向量s是秘密密钥。所述一组多阶多元多项式F和向量y是公钥。消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息。所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (Xl, x2)+G2 (x1; x2) =F (x!+x2) -F (X1) -F (x2) ^ G1 (x1; x2)和 G2 (X11X2)分别关于 X1 和 x2 为加同态的方式设置所述一组多阶多元多项式F。
[0033]根据本公开的实施例,提供一种计算机可读记录介质,该介质使程序记录其上。
[0034]发明的有益效果
[0035]根据上述本技术,可使用其高效求解方式(陷门)未知的多阶多元联立方程实现高效并且具有高安全性的公钥验证方案和数字签名方案。
【专利附图】

【附图说明】[0036]图1是用于描述与公钥验证方案相关的算法结构的解释示图。
[0037]图2是用于描述与数字签名方案相关的算法结构的解释示图。
[0038]图3是用于描述与η遍(pass)公钥验证方案相关的算法结构的解释示图。
[0039]图4是用于描述与3遍公钥验证方案相关的特定算法结构的例子的解释示图。
[0040]图5是用于描述与3遍公钥验证方案相关的高效算法的解释示图。
[0041]图6是用于描述与3遍公钥验证方案相关的高效算法的并行化的解释示图。
[0042]图7是用于描述使用3遍高阶多元多项式的公钥验证方案(方案#1)的算法的例子的解释示图。
[0043]图8是用于描述使用3遍高阶多元多项式的公钥验证方案(方案#1)的并行化算法的例子的解释示图。
[0044]图9是用于描述与5遍公钥验证方案相关的特定算法结构的例子的解释示图。
[0045]图10是用于描述与5遍公钥验证方案相关的高效算法的例子的解释示图。
[0046]图11是用于描述与5遍公钥验证方案相关的高效算法的并行化的解释示图。
[0047]图12是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#1)的算法的例子的解释示图。
[0048]图13是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#1)的并行化算法的例子的解释示图。
[0049]图14是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#2)的算法的例子的解释示图。
[0050]图15是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#2)的并行化算法的例子的解释示图。
[0051]图16是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#2)的高效并行化算法的例子的解释示图。
[0052]图17是用于描述使用5遍高阶多元多项式的公钥验证方案(方案#2)的另一高效并行化算法的例子的解释示图。
[0053]图18是用于描述把与3遍公钥验证方案相关的高效算法修改为数字签名方案的算法的方法的解释示图。
[0054]图19是用于描述把与3遍公钥验证方案相关的另一高效算法修改为数字签名方案的算法的方法的解释示图。
[0055]图20是用于描述把与5遍公钥验证方案相关的高效算法修改为数字签名方案的算法的方法的解释示图。
[0056]图21是用于描述把与5遍公钥验证方案相关的另一高效算法修改为数字签名方案的算法的方法的解释示图。
[0057]图22是用于描述与3遍公钥验证方案相关的高效算法的并行串行结构的解释示图。
[0058]图23是用于描述与3遍公钥验证方案相关的高效算法的串行并行结构的解释示图。
[0059]图24是用于描述与5遍公钥验证方案相关的高效算法的并行串行结构(并行串行结构#1)的解释示图。[0060]图25是用于描述与5遍公钥验证方案相关的高效算法的并行串行结构(并行串行结构#2)的解释示图。
[0061]图26是用于描述与5遍公钥验证方案相关的高效算法的串行并行结构(串行并行结构#1)的解释示图。
[0062]图27是用于描述与5遍公钥验证方案相关的高效算法的串行并行结构(串行并行结构#2)的解释示图。
[0063]图28是用于描述能够执行根据本技术的每个实施例的算法的信息处理设备的硬件结构例子的解释示图。
[0064]图29是用于描述设置在根据本技术的第一实施例和第二实施例的公钥验证方案相中使用的参数的非常合适的方法和有益效果的解释示图。
【具体实施方式】
[0065]以下,将参照附图详细描述本发明的优选实施例。需要注意的是,在本说明书和附图中,具有基本上相同的功能 和结构的元素由相同的标号表示,并且省略重复解释。
[0066][描述的流程]
[0067]这里,将简要描述将要进行的本技术的实施例的描述的流程。首先,将参照图1描述公钥验证方案的算法结构。接下来,将参照图2描述数字签名方案的算法结构。接下来,将参照图3描述η遍公钥验证方案。
[0068]接下来,将参照图4至8描述与3遍公钥验证方案相关的算法结构的例子。接下来,将参照图5至17描述与5遍公钥验证方案相关的算法结构的例子。接下来,将参照图18至21描述把与3遍公钥验证方案和5遍公钥验证方案相关的高效算法修改为数字签名方案的算法的方法。
[0069]接下来,将参照图22至27描述与3遍公钥验证方案和5遍公钥验证方案相关的高效算法的并行串行结构和串行并行结构。接下来,将参照图28描述能够实现根据本技术的第一实施例和第二实施例的每个算法的信息处理设备的硬件结构例子。最后,将简要描述本实施例的技术精神和从技术精神获得的操作有益效果的总结。
[0070](详细章节)
[0071]1.介绍
[0072]1-1:公钥验证方案的算法
[0073]1-2:数字签名方案的算法
[0074]1-3:Ν遍公钥验证方案的算法
[0075]2.与3遍公钥验证方案相关的算法结构
[0076]2-1:特定算法结构的例子
[0077]2-2:基于二次多元多项式的高效算法
[0078]2-2-1:基本结构
[0079]2-2-2:并行化算法
[0080]2-3:基于高阶多元多项式的高效算法(方案#1)
[0081]2-3-1:基本结构
[0082]2-3-2:并行化算法[0083]3.与5遍公钥验证方案相关的算法结构
[0084]3-1:特定算法结构的例子
[0085]3-2:基于二次多元多项式的高效算法
[0086]3-2-1:基本结构
[0087]3-2-2:并行化算法
[0088]3-3:基于高阶多元多项式的高效算法(第一实施例)
[0089]3-3-1:基本结构
[0090]3-3-2:并行化算法
[0091]3-4:基于高阶多元多项式的高效算法(第二实施例)
[0092]3-4-1:基本结构
[0093]3-4-2:并行化算法(结构例子I)
[0094]3-4-3:并行化算法(结构例子2:高效率)
[0095]3-4-4:并行化算法(结构例子2:更高效率)
[0096]4:数字签名方案的修改
[0097]4-1:把3遍公钥验证方案修改为数字签名方案
[0098]4-1-1:数字签名算法(结构例子I)
[0099]4-1-2:数字签名算法(结构例子2:高效率)
[0100]4-2:把5遍公钥验证方案修改为数字签名方案
[0101]4-2-1:数字签名算法(结构例子I)
[0102]4-2-2:数字签名算法(结构例子2:高效率)
[0103]5:混合类型算法
[0104]5-1:与3遍公钥验证方案相关的混合类型算法
[0105]5-1-1:并行串行算法
[0106]5-1-2:串行并行算法
[0107]5-2:与5遍公钥验证方案相关的混合类型算法
[0108]5-2-1:并行串行算法(结构例子#1)
[0109]5-2-2:并行串行算法(结构例子#2)
[0110]5-2-3:串行并行算法(结构例子#1)
[0111]5-2-4:串行并行算法(结构例子#2)
[0112]6:补充
[0113]6-1:设置系统参数的方法
[0114]6-2:对不定期盘问做出响应的方法
[0115]6-2-1:证明者的响应方法
[0116]6-2-2:核查者`的响应方法
[0117]7:硬件结构的例子
[0118]8:总结
[0119]〈1.介绍〉
[0120]这里的实施例涉及一种使其安全性基于解多阶多元联立方程的难度的公钥验证方案和数字签名方案。然而,这里的实施例不同于诸如HFE数字签名方案的相关技术的方法,并且涉及一种使用缺少高效求解的方式(陷门)的多阶多元联立方程的公钥验证方案和数字签名方案。首先,将简要总结公钥验证方案的算法、数字签名方案的算法和η遍公钥验证方案。
[0121][1-1:公钥验证方案的算法]
[0122]首先,将参照图1描述公钥验证方案的算法的概述。图1是用于描述公钥验证方案的算法结构的解释示图。
[0123]当一个人(证明者)通过使用公钥Pk和秘密密钥Sk来使另一个人(核查者)相信她是证明者自己时,使用公钥验证。例如,使核查者B知道证明者A的公钥pkA。另一方面,证明者A的秘密密钥skA由证明者A秘密地管理。根据公钥验证方案,知道与公钥pkA对应的秘密密钥skA的人被视为证明者A自己。
[0124]为了使证明者A使用公钥验证设置向核查者B证明她是证明者A自己,证明者A经交互协议向核查者B提供指示她知道与公钥pkA对应的秘密密钥skA的证据。指示证明者A知道秘密密钥skA的证据随后被提供给核查者B,并且在核查者B能够确认该证据的情况下,证明者A的有效性(证明者A是她自己的事实)被证明。
[0125]然而,公钥验证设置需要下面的条件以便确保安全。
[0126]第一条件是“尽可能降低由不具有秘密密钥Sk的伪造者在执行交互协议时建立伪造的可能性”。满足这个第一条件被称为“健全性”。换句话说,健全性意味着:“不具有秘密密钥sk的伪造者无法以不可忽略的可能性在交互协议的执行期间建立伪造”。第二条件是:“即使执行交互协议,关于证明者A的秘密密钥skA的信息也根本不被泄露给核查者B”。满足这个第二条件被称为“零知识”。
[0127]安全地执行公钥验证`涉及使用既表现出健全性又表现出零知识的交互协议。如果假设使用缺少健全性和零知识的交互协议执行验证过程,则将会存在一定的错误核查的可能性和一定的密钥信息泄露的可能性,因此,即使验证过程自身成功完成,也将无法证明证明者的有效性。因此,如何确保会话协议的健全性和零知识的问题很重要。
[0128](模型)
[0129]在公钥验证方案的模型中,存在两个实体,即证明者和核查者,如图1中所示。证明者通过使用密钥产生算法Gen产生对于证明者而言独一无二的一组公钥pk和秘密密钥sk。随后,证明者通过使用密钥产生算法Gen产生的一组秘密密钥sk和公钥pk与核查者执行交互协议。此时,证明者通过使用证明者算法P执行交互协议。如上所述,在交互协议中,证明者通过使用证明者算法P向核查者证明她拥有秘密密钥sk。
[0130]另一方面,核查者通过使用核查者算法V执行交互协议,并核查证明者是否拥有与该证明者已公开的公钥对应的秘密密钥。也就是说,核查者是核查证明者是否拥有与公钥对应的秘密密钥的实体。如上所述,公钥验证方案的模型由两个实体(即,证明者和核查者)以及三种算法(即,密钥产生算法Gen、证明者算法P和核查者算法V)构成。
[0131]另外,在下面的描述中使用措辞“证明者”和“核查者”,但这些措辞严格地表示实体。因此,执行密钥产生算法Gen和证明者算法P的对象是与实体“证明者”对应的信息处理设备。类似地,执行核查者算法V的对象是信息处理设备。这些信息处理设备的硬件结构例如如图28中所示。也就是说,密钥产生算法Gen、证明者算法P和核查者算法V由CPU902基于记录在ROM 904、RAM 906、存储单元920、可移动记录介质928等上的程序执行。[0132](密钥产生算法Gen)
[0133]密钥产生算法Gen由证明者使用。密钥产生算法Gen是用于产生对于证明者而言独一无二的一组公钥Pk和秘密密钥Sk的算法。由密钥产生算法Gen产生的公钥Pk被公开。另外,公开的公钥Pk由核查者使用。另一方面,由密钥产生算法Gen产生的秘密密钥sk由证明者秘密地管理。由证明者秘密地管理的秘密密钥sk被用于向核查者证明证明者拥有与公钥pk对应的秘密密钥sk。在形式上,密钥产生算法Gen作为算法被表示为以下的公式(I),该算法采用安全参数I λ ( λ是O或更大的整数)作为输入并输出秘密密钥sk和公钥pk。
[0134][数学表达式I]
[0135](sk, pk) — Gen(l人)…(I)
[0136](证明者算法P)
[0137]证明者算法P由证明者使用。证明者算法P是用于向核查者证明证明者拥有与公钥Pk对应的秘密密钥sk的算法。换句话说,证明者算法P是采用公钥Pk和秘密密钥sk作为输入并执行交互协议的算法。
[0138](核查者算法V)
[0139]核查者算法V由核查者使用。核查者算法V是在会话协议期间核查证明者是否拥有与公钥pk对应的秘密密钥sk的算法。核查者算法V是接受公钥pk作为输入并根据会话协议的执行结果输出O或I (I位)的算法。此时,核查者在核查者算法V输出O的情况下判定证明者无效,并且在核查者算法V输出I的情况下判定证明者有效。在形式上,核查者算法V被表示为以下的公式(2)。
[0140][数学表达式2]
[0141]0/1 — V(pk)…(2)
[0142]如上所述,实现有意义的公钥验证方案涉及使交互协议满足健全性和零知识的两个条件。然而,证明证明者拥有秘密密钥sk涉及:证明者执行取决于秘密密钥sk的过程,并且在向核查者通知结果之后,使核查者基于通知的内容执行核查。执行取决于秘密密钥sk的过程以保证健全性。同时,关于秘密密钥sk的信息不应该被泄露给核查者。由于这个原因,巧妙地设计以上密钥产生算法Gen、证明者算法P和核查者算法V以满足这些要求。
[0143]前述内容因此总结了公钥验证方案中的算法。
[0144][1-2:数字签名方案的算法]
[0145]接下来,将参照图2总结数字签名方案的算法。图2是总结数字签名方案的算法的解释示图。
[0146]与纸质文档不同,无法以物理方式对数字化的数据进行签名或者把图章附加到数字化的数据。由于这个原因,证明数字化的数据的创建者涉及产生类似于以物理方式对纸质文档进行签名或者把图章附加到纸质文档的效果的电子设置。这种设置是数字签名。数字签名表示这样的设置:使给定数据与仅数据的创建者知道的签名数据关联,把签名数据提供给接收者,并且在接收者端核查该签名数据。
[0147](模型)
[0148]如图2中所示,在数字签名方案的模型中存在签名者和核查者的两个身份。另外,数字签名方案的模型包括三种算法:密钥产生算法Gen、签名产生算法Sig和签名核查算法Ver0
[0149]签名者使用密钥产生算法Gen产生对于签名者而言独一无二的一组签名密钥sk和核查密钥pk。签名者还使用签名产生算法Sig产生数字签名q以附加到消息Μ。换句话说,签名者是把数字签名附加到消息M的实体。同时,核查者使用签名核查算法Ver核查附加到消息M的数字签名。换句话说,核查者是核查数字签名q以便确认消息M的创建者是否是签名者的实体。
[0150]需要注意的是,虽然在以下的描述中使用术语“签名者”和“核查者”,但这些术语最终表示实体。因此,执行密钥产生算法Gen和签名产生算法Sig的主体是与“签名者”实体对应的信息处理设备。类似地,执行签名核查算法Ver的主体是信息处理设备。这些信息处理设备的硬件结构例如如图28中所示。换句话说,密钥产生算法Gen、签名产生算法Sig和签名核查算法Ver由诸如CPU 902的装置基于记录在诸如ROM 904,RAM 906、存储单元920或可移动记录介质928上的程序执行。
[0151](密钥产生算法Gen)
[0152]密钥产生算法Gen由签名者使用。密钥产生算法Gen是产生对于签名者而言独一无二的一组签名密钥sk和核查密钥pk的算法。由密钥产生算法Gen产生的核查密钥pk被公开。同时,签名者使由密钥产生算法Gen产生的签名密钥sk保密。然后,签名密钥sk被用于产生数字签名q以附加到消息Μ。例如,密钥产生算法Gen接受安全参数Ip (其中ρ是等于或大于O的整数)作为输入并输出签名密钥sk和核查密钥pk。在这种情况下,密钥产生算法Gen可在形式上被表示为下面的公式(3):
[0153][数学表达式3]
[0154](sk, pk) — Gen (Ia)`[0155]...(3)
[0156](签名产生算法Sig)
[0157]签名产生算法Sig由签名者使用。签名产生算法Sig是产生附加到消息M的数字签名q的算法。签名产生算法Sig是接受签名密钥sk和消息M作为输入并输出数字签名q的算法。签名产生算法Sig可在形式上被表示为下面的公式(4):
[0158][数学表达式4]
[0159]σ — Sig(sk, M)
[0160]...(4)
[0161](签名核查算法Ver)
[0162]签名核查算法Ver由核查者使用。签名核查算法Ver是核查数字签名q是否是消息M的有效数字签名的算法。签名核查算法Ver是接受签名者的核查密钥pk、消息M和数字签名q作为输入并输出O或1(1位)的算法。签名核查算法Ver可在形式上被表示为下面的公式(5)。在这一点,核查者在签名核查算法Ver输出O的情况(核查密钥pk拒绝消息M和数字签名q的情况)下判定数字签名q无效,并且在签名核查算法Ver输出I的情况(核查密钥Pk接受消息M和数字签名q的情况)下判定数字签名q有效。
[0163][数学表达式5]
[0164]0/1 — Ver (pk, Μ, σ )
[0165]...(5)[0166]前述内容因此总结了数字签名方案中的算法。
[0167][1-3:N遍公钥验证方案]
[0168]接下来,将参照图3描述η遍公钥验证方案。图3是表示η遍公钥验证方案的解释示图。
[0169]如上所述,公钥验证方案是在交互协议期间向核查者证明证明者拥有与公钥pk对应的秘密密钥sk的验证方案。另外,交互协议必须满足健全性和零知识的两个条件。由于这个原因,如图3中所示,在交互协议期间,证明者和核查者在执行各处理的同时η次交
换信息。
[0170]在η遍公钥验证方案的情况下,证明者使用证明者算法P执行处理(操作#1),并且把信息T1发送给核查者。随后,核查者使用核查者算法V执行处理(操作#2),并且把信息T2发送给证明者。对于k=3到n,连续地执行这种执行和处理以及信息Tk的发送(操作#k),并且最后执行处理(操作#n+l)。以这种方式η次发送和接收信息由此被称为“η遍”公钥验证方案。
[0171]前述内容因此描述了 η遍公钥验证方案。
[0172]〈2.与3遍公钥验证方案相关的算法结构〉
[0173]以下,将描述与3遍公钥验证方案相关的算法。需要注意的是,在下面的描述中,3遍公钥验证方案也可在一些情况下被称为“3遍方案”。
[0174][2-1.特定算法结构的例子]`[0175]首先,将参照图4介绍与3遍方案相关的特定算法结构的例子。图4是用于描述与3遍方案相关的特定算法结构的解释示图。3遍方案的算法由密钥产生算法Gen、证明者算法P和核查者算法V构成。以下,将描述每个算法结构。
[0176](密钥产生算法Gen)
[0177]密钥产生算法Gen产生在环k中定义的m个多元多项式fi (Xl,...,Xn),...,^(X1,...,Xn)和作为集合 Kn 的元素的向量 S=G1,...,Sn)。接下来,密钥产生算法Gen计算y=(y1;...,ym) — (?\ (s),...,fm(s))。此外,密钥产生算法Gen设置公钥pk中的(Kx1,...,xn),...,fm(χ1;...,xn), y)并且设置s作为秘密密钥。以下,向量(X1,...,xn)被表示为X,并且一组多元多项式(f\ (X),...,fm (X))被表示为F (X)。
[0178](证明者算法P、核查者算法V)
[0179]接下来,将参照图4描述在交互协议期间由证明者算法P执行的过程和由核查者算法V执行的过程。
[0180]在前述交互协议期间,证明者根本不把关于秘密密钥s的信息泄露给核查者并且向核查者表示“她自己知道满足y=F (s)的s”。另一方面,核查者核查证明者是否知道满足y=F(s)的S。假设公钥pk被公开给核查者。此外,假设秘密密钥s由证明者秘密地管理。以下,将参照图4中示出的流程图进行描述。
[0181]操作#1:
[0182]首先,证明者算法P选择任何数字seed。。随后,证明者算法P通过把数字seed。应用于伪随机数产生器PRNG来产生作为集合Kn的元素的向量A和数字Seed115也就是说,证明者算法P计算Cr。, Seed1) <-PRNG (seed。)。随后,证明者算法P通过把数字Seed1应用于伪随机数产生器PRNG来产生多元多项式F1(X)Kf11(X),...,flm(x))。也就是说,证明者算法 P 计算 F1C-PRNG(Seed1)。
[0183]操作#1(继续):
[0184]随后,证明者算法P计算ri〈-s-r(l。这项计算等同于利用向量A掩蔽秘密密钥S。另外,证明者算法P计算FjxX-FU+iJ+FiOO。这项计算等同于利用多元多项式F1(X)掩蔽X的多元多项式F (x+r0)。
[0185]操作#1(继续):
[0186]随后,证明者算法P产生!T1和F1 Cr1)的哈希值(hash value) cQ。也就是说,证明者算法P计算Cc^-1KF1 Cr1), !T1)。此外,证明者算法P产生数字Seed1的哈希值Cf也就是说,证明者算法P计算C^-H(Seed1)。此外,证明者算法P产生多元多项式F2的哈希值C2。也就是说,证明者算法P计算c2〈_H(F2)。哈希值(C(l,C1, c2)被作为消息发送给核查者算法Vo此时,应该注意的是,关于S的信息、关于!Tci的信息和关于!T1的信息根本不被泄露给核查者。
[0187]操作#2:
[0188]在接收到消息(C(I,C1,C2)时,核查者算法V从三种核查模式之中选择使用哪种核查模式。例如,核查者算法V可从代表核查模式的三个数值{O,1,2}之中选择数值,并在盘问Ch中设置选择的数值。这个盘问Ch被发送给证明者算法P。
[0189]操作#3:
[0190]在接收到盘问Ch时,证明者算法P响应于接收的盘问Ch产生发送给核查者算法V的响应Rsp。在Ch=O的情况下,证明者算法P产生响应Rsp=seed。。在Ch=I的情况下,证明者算法P产生响应RspKseedp 。在Ch=2的情况下,证明者算法P产生响应Rsp= (F2, r)。在操作#3中产生的响应Rsp被发送给核查者算法V。此时,应该注意的是,在Ch=O的情况下,关于A的信息根本不被泄露给核查者,并且在Ch=I或2的情况下,关于(ι的信息根本不被泄露给核查者。
[0191]操作#4:
[0192]在接收到响应Rsp时,核查者算法V使用接收的响应Rsp执行下面的核查过程。
[0193]在Ch=O的情况下,核查者算法V计算(4,Seed1)〈-PRNG (Rsp)。此外,核查者算法V计算F^-PRNG(Seed1)。然后,核查者算法V核查C1=H(Seed1)的等式是否成立。另外,核查者算法V核查C2=H(FO^rtl)+F1(X))的等式是否成立。核查者算法V在这些核查全都成功的情况下输出值I以指示验证成功,并且在核查失败的情况下输出值O以指示验证失败。
[0194]在Ch=I的情况下,核查者算法V设置(Seed1, ι)〈-Rsp。此外,核查者算法V计算F^-PRNG(Seed1)0然后,核查者算法V核查Ctl=IKF1 0-ι),rj的等式是否成立。另外,核查者算法V核查C1=H(Seed1)的等式是否成立。核查者算法V在这些核查全都成功的情况下输出值I以指示验证成功,并且在核查失败的情况下输出值O以指示验证失败。
[0195]在Ch=2的情况下,核查者算法V设置(F2,ri)〈-Rsp。然后,核查者算法V核查C0=H(F2 (r^-y, T1)的等式是否成立。另外,核查者算法V核查C2=H(F2)的等式是否成立。核查者算法V在这些核查全都成功的情况下输出值I以指示验证成功,并且在核查失败的情况下输出值O以指示验证失败。
[0196](健全性)
[0197] 这里,将补充与3遍方案相关的算法的健全性的描述。基于这样的逻辑确保与3遍方案相关的算法的健全性:当证明者算法P针对可由核查者算法V选择的所有盘问Ch=O, I和2返回合适的响应Rsp时,能够计算满足下面的公式(6)和公式(7)的
[0198][数学表达式6]
[0199]F2 (X) = F (x+r0) +F1 (x)
[0200]...(6)
[0201]F2 Cr1)-y = F1 Cr1)
[0202]…(7)
[0203]通过确保前述健全性,只要未解决解多阶多元联立方程的问题,就可确保无法实现具有高于2/3的可能性的成功伪造的事实。也就是说,为了合适地对核查者的所有盘问Ch=0,l和2做出响应,伪造者必须计算满足前述公式(6)和公式(7)的FyFprc^Piv换句话说,伪造者必须计算满足F(S) =y的S。然而,仍然存在伪造者对核查者的盘问Ch=0,1,2之中的两个较高盘问做出合适响应的可能性。因此,错误核查的成功可能性变为2/3。另外,通过把前述交互协议反复执行足够多的次数,成功伪造的可能性变小至可以忽略。
[0204](哈希函数H)
[0205]这里,将补充哈希函数H的描述。在前述算法中,使用哈希函数H计算Cc^CpC2等。然而,可替代于哈希函数H而使用承诺函数COM。承诺函数COM是这样的函数:在该函数中,字符串S和随机数P是因子。承诺函数的例子包括由Shai Halevi和Silvio Micali在国际会议CRYPTO 1996中公开的方案。
[0206]例如,将考虑使用承诺函数COM计算C(l、Cl和C2的情况。在这种情况下,在计算C(l、(^和(32之前,准备随机数Pr 91和P2,并且通过替代于应用哈希函数Η(.)而应用承诺函数C0M(.,pq)、C0M(.,P1)和C0M(.,P2)来产生cQ、cdP c2。另外,核查者产生Ci所需的P i被设置为被包括在响应Rsp中并且被发送。
[0207]以上介绍了与3遍方案相关的特定算法结构的例子。
[0208][2-2:基于二次多元多项式的高效算法]
[0209]接下来,将描述使与3遍方案相关的算法高效的方法。这里,将描述一组二次多项式(400,...,乙00)被用作多元多项式F的情况。这里,假设二次多项式fi(x)被表示为下面的公式(8)。
[0210][数学表达式7]
【权利要求】
1.一种信息处理设备,包括: 消息产生单元,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (υι,...,ym) = ^1(S),…,fm(s))的核查者; 响应提供单元,向核查者提供与核查者从k (其中k > 3)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
2.如权利要求1所述的信息处理设备, 其中所述消息产生单元产生N次的消息(其中N≥2), 其中消息提供单元利用一次的交互向核查者提供N次的消息,以及其中响应提供单元利用一次的交互向核查者提供与由核查者针对N次的消息中的每个消息选择的核查模式对应的N次的响应信息。
3.—种信息处理设备,包括: 信息存储单元,存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(yi,...,Ym) — (f I (S),...,fm (S)); 消息获取单元,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 模式信息提供单元,向提供消息的证明者提供关于从k(其中k ^ 3)种核查模式之中随机选择的一种核查模式的信息; 响应获取单元,从证明者获取与选择的核查模式对应的响应信息;和核查单元,基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
4.如权利要求3所述的信息处理设备, 其中所述消息获取单元利用一次的交互获取N次的消息(其中N > 2), 其中模式信息提供单元针对N次的消息中的每个消息选择核查模式并且利用一次的交互向证明者提供关于选择的N次的核查模式的信息, 其中响应获取单元利用一次的交互从证明者获取与选择的N次的核查模式对应的N次的响应信息,以及 其中当核查针对N次的所有消息成功时,核查单元确定证明者存储向量s。
5.—种信息处理设备,包括: 消息产生单元,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 中间信息产生单元,基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息; 中间信息提供单元,把第三信息提供给核查者;和 响应提供单元,向核查者提供与核查者从k(其中k > 2)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
6.如权利要求5所述的信息处理设备, 其中所述消息产生单元产生N次的消息(其中N≥2), 其中消息提供单元利用一次的交互向核查者提供N次的消息, 其中中间信息产生单元基于由核查者针对N次的消息中的每个消息选择的第一信息和在产生消息时获得的N次的第二信息产生N次的第三信息, 其中中间信息提供单元利用一次的交互向核查者提供N次的第三信息,以及其中响应提供单元利用一次的交互向核查者提供与由核查者针对N次的消息中的每个消息选择的核查模式对应的N次的响应信息。
7.—种信息处理设备,包括: 信息存储单元,存储在环K中定义的一组多阶多元多项式F= (f\,..., fm)和向量y=(yi,...,Yrn) — (f I (S),...,fm (S)); 消息获取单元,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 信息提供单元,向提供消息的证明者提供随机选择的第一信息; 中间信息获取单元,获取证明者基于第一信息和在产生消息时获得的第二信息产生的第二 ?目息; 模式信息提供单元,向证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息;响应获取单元,从证明者获取与选择的核查模式对应的响应信息;和核查单元,基于消息、第一信息、第三信息、所述一组多阶多元多项式F和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
8.如权利要求7所述的信息处理设备, 其中所述消息获取单元利用一次的交互获取N次的消息(其中N > 2), 其中信息提供单元针对N次的消息中的每个消息随机选择第一信息并且利用一次的交互向证明者提供选择的N次的第一信息; 其中中间信息获取单元获取由证明者基于N次的第一信息和在产生N次的消息时获得的N次的第二信息产生的N次的第三信息, 其中模式信息提供单元针对N次的消息中的每个消息选择核查模式并且利用一次的交互向证明者提供关于选择的N次的核查模式的信息, 其中响 应获取单元利用一次的交互从证明者获取与选择的N次的核查模式对应的N次的响应信息,以及 其中当核查针对N次的所有消息成功时,核查单元确定证明者存储向量s。
9.一种签名产生设备,包括: 消息产生单元,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供单元,把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 模式选择单元,基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k ^ 3)种核查模式之中选择一种核查模式; 响应产生单元,产生与选择的核查模式对应的响应信息;和 签名提供单元,向核查者提供消息和响应信息作为签名, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
10.一种信息处理方法,包括下述步骤: 基于在环K中定义的一组多阶多元多项式F= (f\,...,fm)和作为集合Kn的元素的向量S产生消息; 把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = 1(S),…,fm(s))的核查者; 向核查者提供与核查者从k(其中k > 3)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
11.一种信息处理方法,包括下述步骤: 由信息处理设备存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(yI,...,Ym) — (f I (S),...,fm (S)); 获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 向提供消息的证明者提供关于从k (其中k > 3)种核查模式之中随机选择的一种核查模式的信息; 从证明者获取与选择的核查模式对应的响应信息;和 基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
12.一种信息处理方法,包括下述步骤: 基于在环K中定义的一组多阶多元多项式F= (f\,...,fm)和作为集合Kn的元素的向量s产生消息; 把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = 1(S),…,fm(s))的核查者; 基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息; 把第三信息提供给核查者;和 向核查者提供与核查者从k(其中k > 2)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
13.一种信息处理方法,包括下述步骤: 由信息处理设备存储在环K中定义的一组多阶多元多项式FKf1,..., fm)和向量y=(yI,...,Ym) — (f I (S),...,fm (S)); 获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 向提供消息的证明者提供随机选择的第一信息; 获取证明者基于第一信息和在产生消息时获得的第二信息产生的第三信息; 向证明者提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息; 从证明者获取与选择的核查模式对应的响应信息;和 基于消息、第一信息、第三信息、所述一组多阶多元多项式F和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
14.一种签名产生方法,包括下述步骤: 基于在环K中定义的一组多阶多元多项式F= (f\,...,fm)和作为集合Kn的元素的向量s产生消息; 把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k > 3)种核查模式之中选择一种核查模式; 产生与选择的核查模式对应的响应信息;和 向核查者提供消息和响应信息作为签名, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项`式F。
15.—种程序,使计算机实现:消息产生功能,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 响应提供功能,向核查者提供与核查者从k (其中k > 3)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
16.一种程序,使计算机实现: 信息存储功能,存储在环K中定义的一组多阶多元多项式F= (f\,...,fm)和向量y=(yi,...,Yrn) — (f I (S),...,fm (S)); 消息获取功能,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 模式信息提供功能,向提供消息的证明者提供关于从k(其中k ^ 3)种核查模式之中随机选择的一种核查模式的信息; 响应获取功能,从证明者获取与选择的核查模式对应的响应信息;和核查功能,基于消息、所述一组多阶多元多项式F、向量y和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组多阶多元多项式F。
17.一种程序,使计算机实现: 消息产生功能,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 中间信息产生功能,基于由核查者随机选择的第一信息和在产生消息时获得的第二信息产生第三信息; 中间信息提供功能,把第三信息提供给核查者;和 响应提供功能,向核查者提供与核查者从k(其中k > 2)种核查模式之中选择的核查模式对应的响应信息, 其中所述向量S是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
18.—种程序,使计算机实现: 信息存储功能,存储在环K中定义的一组多阶多元多项式F= (f\,...,fm)和向量y=(yi,...,Yrn) — (f I (S),...,fm (S)); 消息获取功能,获取基于所述一组多阶多元多项式F和作为集合Kn的元素的向量s产生的消息; 信息提供功能,向提供消息的证明者提供随机选择的第一信息; 中间信息获取功能,获取证明者基于第一信息和在产生消息时获得的第二信息产生的第二 ?目息; 模式信息提供功能,向证明者`提供关于从k(其中k > 3)种核查模式之中随机选择的一种核查模式的信息; 响应获取功能,从证明者获取与选择的核查模式对应的响应信息;和核查功能,基于消息、第一信息、第三信息、所述一组多阶多兀多项式F和响应信息核查证明者是否存储向量S, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥, 其中消息是通过基于公钥、第一信息、第三信息和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为线性的方式设置所述一组多阶多元多项式F。
19.一种程序,使计算机实现: 消息产生功能,基于在环K中定义的一组多阶多元多项式F= (f\,..., fffl)和作为集合Kn的兀素的向量s产生消息; 消息提供功能,把消息提供给存储所述一组多阶多元多项式F和向量y= (Υι,...,ym) = ^1(S),…,fm(s))的核查者; 模式选择功能,基于通过把文档M和消息输入到单向函数而获得的数值从k(其中k ^ 3)种核查模式之中选择一种核查模式; 响应产生功能,产生与选择的核查模式对应的响应信息;和 签名提供功能,向核查者提供消息和响应信息作为签名, 其中所述向量s是秘密密钥, 其中所述一组多阶多元多项式F和向量y是公钥,其中消息是通过基于公钥和响应信息执行预先针对与响应信息对应的核查模式准备的计算而获得的信息,以及 其中所述一组多阶多元多项式F包括m个三次多项式f\,...,fm并且以定义为G1 (X1,x2) +G2 (X1, x2) =F (X^X2) -F (X1) -F (X2)的 G1 (X1, X2)和 G2 (X1, X2)分别关于 X1 和 X2 为加同态的方式设置所述一组 多阶多元多项式F。
【文档编号】H04L9/32GK103733563SQ201280038074
【公开日】2014年4月16日 申请日期:2012年6月22日 优先权日:2011年8月12日
【发明者】作本紘一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1