签名生成装置、密钥生成装置和签名生成方法

文档序号:7635940阅读:363来源:国知局
专利名称:签名生成装置、密钥生成装置和签名生成方法
技术领域
本发明涉及作为信息安全技术的加密技术,尤其涉及数字签名技术。
背景技术
作为从接收装置向发送装置发送数据时的发送者的特定和防止数据篡 改用的技术,有作为公钥加密的一种的数字签名方式。若对它进行简单说明, 则为发送装置对想要发送的数据使用发送装置的私钥来生成签名数据,将签 名数据与想要发送的数据一起发送到接收装置,接收装置使用与发送装置的 私钥对应的公钥来验证签名数据,并判断是否进行了篡改的方法(例如,参 考非专利文献l)。这里,从公钥计算私钥的值很困难。
最近,作为可高速处理的公钥加密,提出了NTRU加密(例如参考非 专利文献2)。由于该NTRU加密与在某个规则下进行幂乘求余运算的RSA 加密和进行椭圆曲线上点的标量乘运算的椭圆曲线加密相比,可通过可进行 高速运算的多项式运算来进行加密和解密,所以与现有的公钥加密相比可以 进行高速处理,在软件的处理中也可在实用的时间中加以处理。
因此,在公钥加密中使用了NTRU加密的加密通信系统中,与使用了 现有的公钥加密的加密通信系统相比,有可高速进行发送装置和接收装置的 处理的优点。
上述提案的方式是加密数据的保密加密方式,之后,提出了NTRU加 密的数字签名方式(参考非专利文献3)。对于数字签名方式,因密码分析 法的出现等,改变了几次方式。下面,简单说明称作NTRUSign的数字签名 方式(对于细节,参考专利文献2和非专利文献4)。
在NTRUSign签名方式的密钥生成中,将多项式X"N-1作为除数,并使
用属于具有整数系数的多项式的环R的多个元和环R的理想,来生成密钥 和公钥。这里,"X、"是指X的a次幂。NTRUSign签名方式中的对消息的 签名中,使用所生成的密钥和作为消息的散列值的2W维的向量。NTRUSign 签名方式中的签名验证中,使用公钥、对消息的签名和作为消息的散列值的 2-N维的向量。非专利文献4和非专利文献5中对通过NTRUSign签名方式 中使用的环和环的理想进行了记载,所以这里省略说明。
<NTRUSign签名方式> (1) NTRUSign签名方式的参数
NTRUSign签名方式使用非负整数参数N、 q、 df、 dg、 Normbound。下 面,说明这些参数的含义。 (l一l)参数N
NTRUSign签名方式是通过多项式运算来进行签名生成和签名验证的数 字签名方式。通过NTRUSign签名方式处理的多项式的次数通过上述参数N 来决定。
通过NTRUSign签名方式处理的多项式是相对上述参数N,为N-l次以 下的整数系数多项式,例如,在N-5时,为X'4+X, + 1等的多项式。另 外,对多项式实施(modX"N—l)运算,而通常算出由N-1次以下构成的 整数系数多项式。这是因为通过实施(modX'N—l)运算,X'N-1的关系 式成立,所以对N次以上的变量,通常可以变换为N-1次以下的变量。这 里,可以看出通过对多项式实施(modX'N—1)运算得到的整数系数多项 式为多项式环R的元。.
公钥h、签名s都表现为N-l次以下的多项式。另外,密钥是4个N-1 次以下的多项式对(f,g,F,G)。即,f、 g、 F、 G任何一个都是N—l次以下 的多项式,是多项式环R的元。下面,将4个组(f, g, F, G)中两个对 (f, g)、 (F, G)进一步成对,有时标记为((f, g) , (F, G) }。
并且,多项式运算对上述参数N,使用X"N-1的关系式,进行运算, 使得运算结果总是N-1次以下的多项式。例如,在N-5的情况下,多项式 X一4+X,+l和多项式X3+X的积在设多项式和多项式的积为x,整数和多
项式的积(或整数和整数的积)为,时,根据X,-1的关系,通常可以运算 为N-1次以下的多项式,而使其为 (X'4+X、2 + l) x (X +X)
=XA7+2.X'5+2.X'3+X
=X》1+2.1+2.X'3+X
=20T3+X,+2。
NTRUSign签名方式中,将N-l次的多项式a=a_0+a—l'X+a_20T2+... +a_ (N-l) OT (N-l)看作与向量(a_0, a_l, a_2, ...,a_ (N-l))相同。 a_0, a_l, a_2, ...,a_ (N-l)是多项式a的系数,是整数。 (l一2)参数q
NTRUSign签名方式中,使用为2以上的整数,作为多项式环R的理想 的参数q。 NTRUSign签名方式中出现的多项式的系数取以q为除数的余数。 (1-3)参数df, dg
作为在NTRUSign签名方式中进行处理的私钥的一部分的多项式f和生 成作为公钥的多项式h时与多项式f一起使用的多项式g的选择方法分别通 过df、 dg来决定。
首先,选择多项式f,使其df个系数是l,且其他系数是0。即,多项式 f是N-l次以下的多项式,从0次(常数项)到N-1次有N个系数,但是选 择为这N个系数中,df个系数是l,且(N-df)个系数为O。
并且,选择多项式g,使其dg个系数是l,且其他系数是O。 (l一4)参数Normbound
NTRUSign签名方式中,如后所述,计算由签名s生成的2*N维向量和作 为消息的散列值的2*N维向量的距离,并通过该距离来判断是否是正当的签 名。Normbound是该判断时使用的阈值。即,若上述距离小于Normbound, 则作为正当的签名受理,若是Normbound以上,则作为不正当的签名拒绝。
在非专利文献4中,作为NTRUSign签名方式的参数的例子,举出(N,q, df, dg, Normbound) = (251, 128, 73, 71, 310)的例子。 (2)消息的散列值、范数和向量之间的距离
NTRUSign签名方式中,生成对消息m的散列值的签名。消息m的散列 值是N次的多项式对(ml, m2),看作与维的向量相同。非专利文献1 详述了从消息中求出散列值的散列函数。
NTRUSign签名方式中,签名验证使用向量的距离。下面,表示其定义。 如下这样来定义多项式a-a—0+a—l'X+a_20T2+...+a—(N-l)OC(N-l) 的范数llall。
||a|l=sqrt ((a一O-u ) 2+ (a一l-U ) ,+...+ (a_ (N腸l) -u "2) u= (1/N) (a_0+a_l+a_2+...a_ (N-l)) 这里,sqrt(x)表示x的平方根。
如下这样来定义多项式a、 b的对(a,b)的范数|| (a,b) ||。 II (a,b) l卜sqrt(lla『2+网,)
用H(c-d,d-b)l沐定义多项式a,b的对(a,b)和c,d的对(c,d)的距离。
由此,通过实施(modX^T-1)运算得到的N-1次以下的整数系数多项式 可以看作定义了表示相加、相减、相乘和元的大小的范数的N维阵列,多 项式环R可以看作N维阵列的集合。
(3) NTRUSign签名方式的密钥生成
NTRUSign签名方式中,如上所述,使用参数df、 dg来随机生成多项式 f、多项式g。并且,如非专利文献4所记载的那样,使用作为Fqxf-l (mod q)的多项式Fq,通过
h=Fqxg (modq),
来生成多项式h。这里,多项式Fq称作多项式f的逆元。进一步,求出 满足下面的式子的范数小的多项式F, G。 fxG—gxF=q
将私钥设作((f,g) , (F,G) },将公钥设作h。私钥是生成签名用的密钥, 也称作签名生成密钥。公钥是验证签名用的密钥,也称作签名验证密钥。
这里,x=y(mod q)是将多项式y的第i次系数除以除数q以使得余数在0 到q-l的范围内时的余数作为多项式x的第i次系数的运算(03^N-l)。艮P, 是将多项式y的各系数modq运算后,使其在0到(q-1)的范围内的多项
式作为多项式X的运算。
(4) NTRUSign签名方式的签名生成
NTRUSign签名方式的签名生成中,计算作为签名对象的消息m的签名 s。首先,计算作为对消息m的散列值的2'N维向量(ml,m2) (ml和m2 是N次多项式)。
使用该2'N维向量(ml, m2)和私钥{ (f,g) ,(F,G)},来计算满足下面 式子的多项式a, b, A, B。 Gxml—Fxm2-A+qxB —gxml+fxm2=a+qxb
这里,设A, a的系数取用除数q相除时,使其在<力/2>+1到〈q》的范 围内的余数。艮P,在用除数q相除后的余数在〈q/2〉到q-l的情况下,进行 调整,使其减去q,而在上述范围中。这里,〈x〉表示x以下的数中最大的 数。例如,<一1/2〉=一1
下面,从下面的式子中计算s, t,并将s作为签名输出。
s=fxB+Fxb (modq)
t=gxB+Gxb (modq)
(5) NTRUSign签名方式的签名验证
NTRUSign签名方式的签名生成中,验证签名s是否是作为签名对象的消 息m的正当签名。首先,计算作为对消息m的散列值的2W维向量(ml, m2)。
使用公钥h,从下面的式子中计算多项式t。 t=sxh (modq)
求出2'N维向量(s,t)和(ml,m2)的距离,并验证是否小于Normbound。 若小于Normbound,则判断为签名s正当,而受理签名s。若是Noraibound 以上,则判断为签名s不正当,而拒绝签名s。
专利文献l:日本人特表2000—516733号公报
专利文献2:国际公开号WO2003/050998号
非专利文献l:冈本龙明、山本博资、"现代加密",产业图书(1997年)
非专利文献2: J.Hoffstein, J.Pipher, and J.H. Silverman, 'TSTTRU:Aring based public key cryptosystem", Lecture Notes in Computer Science, 1423, pp.267-288, Springer-Verlag, 1998.
非专利文献3: J.Hoffstein, J.Pipher, and J. Silverman,'WSS: An NTRU Lattice-Baced Signature.Scheme," Advances in
Cryptoplogy-Eurocrypt,Ol,LNCS, Vol.2045, pp.123-137, Springer-Verlag, 2001.
非专利文献4: J.Hoffstein, N.GrahamJ.Pipher, J.Silverman and W.Whyte, 'OTRUSign:Digital Signatures Using the NTRU Lattice,,,CT-RSA,03, LNCS,Vo1.2612, pp. 122-140, Springer-Verlag, 2003.
非专利文献5: J.Hoffstein, N.GrahamJ.Pipher, and J.H. Silverman,W.Whyte, 'WRUSign:Digital Signatures Using the NTRU Lattice Preliminary Draft 2—April 2,2002","2005年1月20日检索"、因特网 <URL:http:〃www.ntru.com/crvptolab/pdd/NTRUSign-preV2.pdf>
上述的NTRUSign签名方式有称作抄本攻击(transcript attack)的攻击。 抄本攻击是从多个签名文(消息和签名的对)求出私钥的攻击。由于抄本攻 击的细节记载在非专利文献4中,所以这里在下面进行简单说明。
抄本攻击利用多个签名s和消息的散列值(ml,m2)的一部分ml的差值 ml-s为ml-s-elxf+e2xF, el,e2是系数在一1/2到1/2的范围内的多项式 的性质,来取差值ml-s的2次矩和4次矩的平均值,而求出作为私钥的一 部分的f,F。这里,多项式&的2次矩& 2是指&=&一0+&一1《+&一2《'2+... +&_0^2)0^0^-2)+&_0^1).:^0^1)和&的相反&*=&_0+&一0^1)《 +a_ (N-2) .X'2…+a一2'X' (N-2)十a一10C (N-l)的积a -axa承。另夕卜, 4次矩a 4是a 2的2次幂,即a 4=a 2xa 2。
(ml-s的2次矩)=(elxf+e2xF) x(el*xf*+e2*xF*) =el xf~~he2 xF~~helxfxe2氺xF承+e2xFxel承x, 若签名文的个数增加,则ml-s的二次矩的平均中包含的e1 ,e2 收敛 于某一定值kl, k2,上述式elxfxe2*xF*和e2xFXel*xf*接近于0。因此, 在签名文的个数大的情况下,ml-s的2次矩的平均大致等于klxf 十
进一步,4次矩的平均也同样得到与f和F相关的信息,而可从两 者的信息中求出f。若根据非专利文献4,贝lj为了从2次矩和4次矩的平均 得到与私钥有关的信息而需要的签名文的个数分别是1(T4、 1(T8。因此,为 了使NTRUSign签名方式的抄本攻击成功,认为需要1(T8个以上的签名文。

发明内容
本发明的目的是提供一种可以防止对签名数据的抄本攻击的签名生成 装置、密钥生成装置、签名系统、签名生成方法、签名验证程序、签名验证 方法、密钥生成程序、签名生成用的集成电路和密钥生成用的集成电路。
为了实现上述目的,本发明提供一种生成对消息数据的签名数据的签名 生成装置,其特征在于具有私钥取得单元,通过预定的取得方法,来取 得使用多个私钥对应一个公钥的签名方式的密钥生成方法生成的所述多个 私钥中与前次签名中使用的私钥不同的另一个私钥;以及签名生成单元,使 用所取得的所述另一个私钥,对所述消息数据实施基于所述签名方式的签名 方法的签名,来生成签名数据。
发明的效果
根据上述所述的结构,签名生成装置取得与一个公钥对应的多个私钥中 与前次签名所利用的私钥不同的另一个私钥。由此,执行抄本攻击的攻击者 即使获得签名数据,来试着进行抄本攻击,也不清楚获得的签名数据通过前 次签名所利用的私钥和这次的签名所利用的私钥中的哪一个进行了签名,所 以签名生成装置可以防止对签名数据的抄本攻击。
这里,可以是,所述预定的取得方法是指随机取得多个私钥中的一个私 钥;所述私钥取得单元随机取得所述多个私钥中的与前次签名所利用的私钥 不同的所述另一个私钥。
根据该结构,签名生成装置从多个私钥中随机取得与前次的签名所利用 的私钥不同的另一个私钥,所以执行抄本攻击的攻击者即使获得签名数据, 想要进行抄本攻击,也不知道获得的签名数据通过哪个私钥来生成,所以签 名生成装置可以防止对签名数据的抄本攻击。
这里,可以是,所述私钥取得单元存储所述多个私钥,通过所述预定的 取得方法来从存储的所述多个私钥中取得所述另一个私钥。
根据该结构,由于签名生成装置从存储的多个私钥中取得所述另一个私 钥,所以可以可靠取得与所述一个公钥对应的私钥。
这里,可以是,所述签名方式是使用了格的签名方式;所述私钥取得单 元存储通过使用了所述格的签名方式的私钥生成方法生成的所述多个私钥。
根据该结构,使用了格的密钥生成和进行签名生成的签名方式因格的性 质,可以对一个公钥生成多个私钥。由此,签名生成装置可以存储相对于一 个公钥的多个私钥。
这里,可以是,所述签名方式是NTRU签名方式;包含公钥生成步 骤,对作为定义了表示相加、相减、相乘和元的大小的范数的N维阵列的 集合的环R和所述环R的理想q,生成所述环R的元f, g和作为f (mod q) 的逆数的元Fq,并生成与所述元g和所述元Fq的积在mod q下同余的元h 来作为所述公钥;私钥生成步骤,生成满足fxG-gxF=q且范数比预先提供 的预定值小的作为所述环R的元的对的多个解(F,G) = (F一l, G一l), (F一2, G_2), ... (F一u, G一u),其中u是比1大的正整数,并将多个所述元的4 个组(f,g,F_l, G_l), (f,g, F_2, G_2), ... (f,g, F_u, G_u)的各个作为 所述私钥生成;签名生成步骤,使用所生成的所述多个私钥中的一个私钥, 来生成签名数据;所述私钥取得单元存储的所述多个私钥通过所述私钥步骤 生成;所述签名生成单元通过所述签名生成步骤来生成所述签名数据。
根据该结构,签名方式使用环R和理想q,来生成公钥和与该公钥对应 的多个私钥,并使用所生成的多个私钥中的一个私钥来进行签名,所以所述 签名生成装置通过使用所述签名方式,从而能够使用与公钥对应的私钥来可 靠进行签名。
这里,可以是,所述签名生成装置包含密钥生成装置,该密钥生成装置 使用所述签名方式来生成所述公钥和所述多个私钥。
根据该结构,签名生成装置可以使用该装置中包含的密钥生成装置来生 成所述公钥和所述多个私钥。 这里,可以是,所述预定的取得方法是指,随机取得多个私钥中的一个私钥;所述密钥取得单元从所存储的所述多个私钥中随机取得与前次签名所 利用的私钥不同的所述另一个私钥。根据该结构,由于签名生成装置从存储的多个私钥中随机选择与前次的 签名所利用的私钥不同的所述另一个私钥,所以可以提高对抄本攻击的防 御。这里,可以是,所述预定的取得方法是指,根据存储的顺序来取得多个私钥中的一个私钥;所述密钥取得单元,根据存储所述多个私钥的顺序,来取得与前次签名所利用的私钥不同的所述另一个私钥。根据该结构,签名生成装置按每个签名数据,分开使用签名所使用的私 钥,所以可以提高对抄本攻击的防御。这里,可以是,所述预定的取得方法是指,通过所述密钥生成方法来生成并取得多个私钥中与前次签名所利用的私钥不同的另一个私钥;所述密钥 取得单元,与所述一个公钥相对应,存储通过所述签名方式生成的第一私钥,在利用了所述第一私钥后,通过所述密钥生成方法来生成与所述一个公钥对 应的第二私钥,将存储的所述第一私钥更新为所生成的所述第二私钥,在所 述签名数据的生成时,将存储的所述第二私钥作为所述一个私钥来取得。根据该结构,签名生成装置在第一私钥利用后,将所述第一私钥更新为 所述第二私钥,所以在生成所述签名数据时,可以可靠使用与所述第一私钥 不同的第二私钥。本发明提供一种密钥生成装置,生成对消息数据的签名数据的生成和验 证中所使用的密钥,其特征在于,包括公钥生成单元,通过多个私钥对应 于一个公钥的签名方式来生成所述一个公钥;以及私钥生成单元,通过所述 签名方式来生成与所述一个公钥对应的多个私钥。根据该结构,密钥生成装置生成一个公钥和与所述公钥对应的多个私 钥。这时,若进行签名的装置在签名时使用所述多个私钥中的一个私钥,则 执行抄本攻击的攻击者即使获得签名后的数据,想要进行抄本 以防止对签名数据的抄本攻击。
这里,可以是,所述签名方式是使用了格的方式;所述公钥生成单元通 过所述签名方式来生成所述公钥;所述私钥生成单元通过所述签名方式来生 成所述多个私钥。根据该结构,密钥生成装置通过使用了格的签名方式来进行密钥生成, 所以因格的性质,可以生成一个公钥和对应于所述公钥的多个密钥。
这里,可以是,所述签名方式是NTRU签名方式;包含公钥生成步 骤,对作为定义了表示相加、相减、相乘和元的大小的范数的N维阵列的 集合的环R和所述环R的理想q,生成所述环R的元f, g和作为f (mod q) 的逆数的元Fq,并生成与所述元g和所述元Fq的积在mod q下同余的元h 来作为所述公钥;以及私钥生成步骤,生成满足fxG-gxF=q且范数比预先 提供的预定值小的作为所述环R的元的对的多个解(F,G) = (F一l, G一l), (F—2, G_2), ... (F—u, G_n),其中u是比l大的正整数,并将多个所述 元的4个组(f,g,F_l, G—1), (f,g, F_2, G_2), ... (f,g, F_u, G_u)的各 个作为所述私钥生成;所述公钥生成单元通过所述公钥生成步骤来生成所述 公钥;所述私钥生成单元通过所述私钥生成步骤来生成所述多个私钥。
根据该结构,密钥生成装置可以通过使用签名方式中包含的公钥生成步 骤和私钥生成步骤,来生成公钥和与所述公钥对应的多个私钥。
本发明提供一种签名系统,包括生成对消息数据的签名数据的签名生成 装置和进行签名的验证的签名验证装置,其特征在于所述签名生成装置具 有私钥取得单元,通过预定的取得方法,来取得使用多个私钥对应于一个 公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用的 私钥不同的另一个私钥;以及签名生成单元,使用所取得的所述另一个私钥, 来对所述消息数据施加基于所述签名方式的签名方法的签名,而生成签名数 据;所述签名验证装置具有验证单元,使用所述公钥,来验证所述签名数据。 根据该结构,签名系统通过签名生成装置来取得与一个公钥对应的多个 私钥中与前次签名所利用的私钥不同的一个私钥。由此,执行抄本攻击的攻 击者即使获得签名数据,想要进行抄本攻击,因不清楚获得的签名数据通过 前次签名所利用的私钥和这次签名所利用的私钥的哪一个来进行签名,所以 签名生成装置可以防止对签名数据的抄本攻击。另外,公钥分别对应于所述 多个私钥,所以签名验证装置可以使用所述公钥来验证使用所述多个私钥中 的一个私钥来生成的签名数据。


图1是表示数字签名系统1的结构框图。图2是表示在签名生成装置10进行的签名生成处理的动作的流程图。 图3是表示在签名验证装置20进行的签名验证处理的动作的流程图。 图4是表示在密钥生成装置30进行的密钥生成处理的动作的流程图。 图5是表示在密钥生成装置30进行的密钥群生成处理的动作的流程图。 图6是表示数字签名系统1000的结构框图。图7是表示在签名生成装置1010进行的私钥更新处理的动作的流程图。图8是表示在签名生成装置1010进行的签名生成处理的动作的流程图。符号说明1数字签名系统10签名生成装置20签名验证装置30密钥生成装置50通信路径101私钥群存储部102公钥证书存储部103私钥选择部.104签名生成部105签名数据组生成部106发送部201 CA公钥存储部202签名数据组存储部 203签名验证部 204接收部 205显示部301证书生成密钥存储部302密钥生成部303私钥群生成部304证书生成部305密钥设定部1000数字签名系统1010签名生成装置1020签名验证装置1050通信路径1101私钥存储部1102公钥证书存储部1103私钥更新部1104签名生成部1105签名数据组生成部1106发送部1107显示部1201 CA公钥存储部1202签名数据组存储部1203签名验证部1204接收部1205显示部
具体实施方式
下面,参考附图来说明作为本发明的第一实施方式的数字签名系统1。 1.1数字签名系统1的概要
数字签名系统1如图1所示,包括签名生成装置10、签名验证装置20、 密钥生成装置30和通信路径50。密钥生成装置30使用改进了现有NTRUSign签名方式后的改进 NTRUSign签名方式,来进行密钥生成,而生成多个密钥((f, g), (F—1, G_l) }, { (f, g), (F_2, G_2) },...和一个公钥h。后面描述使用了改进 NTRUSign签名方式的密钥生成。公钥h是与多个密钥((f,g), (F一l,G一l)}, { (f, g), (F_2, G_2) },...完全对应的公钥。签名生成装置10使用在密钥生成装置30生成的多个密钥中的一个密钥 和改进NTRUSign签名方式,来生成对消息数据m的签名数据组SS,并经 通信路径50将所生成的签名数据组SS发送到签名验证装置20。另外,后 面描述签名数据组SS的结构。签名验证装置20从签名生成装置10中接收签名数据组SS,并使用改 进NTRUSign签名方式来验证所接收的签名数据组SS是否是消息数据m的 正当签名。签名验证装置20在判断为签名数据组SS正当的情况下,受理签 名数据组SS,在判断为签名数据组SS不正当的情况下,拒绝签名数据组ss。改进NTRUSign签名方式的密钥生成中,以多项式X"N-1为除数,通过 使用属于具有整数系数的多项式的环R的多个元和环R的理想,来生成一 个公钥和与公钥对应的多个密钥。在对改进NTRUSign签名方式的消息的签 名中,使用一个密钥和作为消息的散列值的2'N维向量。改进NTRUSign签 名方式的签名验证中,使用公钥、对消息的签名和作为消息的散列值的2-N 维向量。由于非专利文献4和非专利文献5中对改进NTRUSign签名方式中使用的环和环的理想进行了记载,所以这里省略说明。 下面,说明改进NTRUSign签名方式。 <改进NTRUSign签名方式> (1)改进NTRUSign签名方式的参数改进NTRUSign签名方式使用非负整数参数N、 q、 df, dg, Normbound。 这些参数的定义与现有的NTRUSign签名方式相同。下面,说明这些参数的含义。(l一l)参数N改进NTRUSign签名方式是通过多项式的运算来进行签名生成和签名 验证的数字签名方式。通过改进NTRUSign签名方式进行处理的多项式次数 通过上述参数N来决定。通过改进NTRUSign签名方式处理的多项式是相对上述参数N为N-l 次以下的整数系数多项式,例如,在N-5时,为X'4+X3 + 1等的多项式。 这里,"X^"是指X的a次幂。对多项式实施(modX'N—l)运算,而通常 算出由N-1次以下构成的整数系数多项式。这是因为通过实施(modX"N— 1)运算,由于X"N-1的关系式成立,所以对N次以上的变量,通常可以 变换为N-1次以下的变量。这里,可知对多项式通过实施(modX'N—l) 运算得到的整数系数多项式为多项式环R的元。公钥h、签名s都表现为N-l次以下的多项式。另外,密钥是4个N-1 次以下的多项式对(f, g, F, G)。即,f, g, F, G任何一个都是N—1次 以下的多项式,是多项式环R的元。下面,将4个组(f,g,F,G)中两个对(f, g)、 (F, G)进一步构成对,有时标记为((f,g) , (F, G) }。并且,多项式运算对上述参数N,使用X'N-1的关系式,并加以运算, 使得运算结果总是N-1次以下的多项式。例如,在N-5的情况下,多项式 X、+X,+l和多项式X'3+X的积在设多项式和多项式的积为x,设整数和 多项式的积(或整数和整数的积)为'时,根据X,-1的关系,通常可以运 算为N-1次以下的多项式,使其为 (XA4+X,+1) x (XA3+X)=X,.1+2.1+20T3+X =2.X'3+X'2+2。改进NTRUSign签名方式中,将N-l次多项式a=a_0+a_l'X+a_2'X'2+... +a_ (N-l) OT (N-l)看作与向量(a_0, a—1, a_2, ...,a_ (N-l))相同。 a—0, a—1, a 2, ...,a— (N-l)是多项式a的系数,是整数。(1—2)参数q
改进NTRUSign签名方式中,使用2以上的整数、即作为多项式环R的 理想的参数q。改进NTRUSign签名方式中出现的多项式的系数取以q为除 数的余数。
(l一3)参数df, dg
在改进NTRUSign签名方式下处理的作为密钥的一部分的多项式f和生 成作为公钥的多项式h时与多项式f一起使用的多项式g的选择方法分别通 过参数df、 dg来决定。
首先,选择多项式f,使其df个系数是l,且其他系数是0。即,多项式 f是N-l次以下的多项式,从0次(常数项)到N-1次,有N个系数,但是 选择为这N个系数中、df个系数是l、且(N-df)个系数为0。
并且,选择多项式g,使其dg个的系数是l,且其他系数是0。 (1—4)参数Normbound改进NTRUSign签名方式中,如后所述,计算从签名s生成的2W维向 量和作为消息的散列值的维向量的距离,并通过该距离来判断是否是正 当的签名。Normbound是该判断时使用的阈值。即,若上述距离小于 Normbound,则受理为是正当的签名,若是Normbound以上,则拒绝为不正 当的签名。非专利文献4中作为NTRUSign签名方式的参数的例子,举出(N,q, df, dg, Normbound) = (251, 128, 73, 71, 310)的例子。改进NTRUSign 签名方式中也可使用同样的参数例。
(2)消息的散列值、范数和向量之间的距离
改进NTRUSign签名方式中,生成对消息m的散列值的签名。消息m的 散列值是N次多项式对(ml, m2),看作与2,N维向量相同。非专利文献1 详述了从消息中求出散列值的散列函数。
改进NTRUSign签名方式中,使用与现有的NTRUSign签名方式相同的 向量距离。下面,表示其定义。如下这样来定义多项式a二aj)+a—l'X+a—20T2+...+a_(N-l)'X"(N-l)
的范数IMi。||a|| = sqrt ((a—0-u ) ,+ (a一l-u ) '2+...+ (a— (N-l) -u ) A2) u= (1/N) (a一0+a一l+a—2+…a一 (N-l)) 这里,sqrt(x)表示x的平方根。如下这样来定义多项式a、 b的对(a,b)的范数H (a,b) ||。 II (a,b) ||=Sqrt(||a『2,『2)由ll(c-d,d-b)l沐定义多项式a,b的对(a,b)和c,d的对(c,d)的距离。由此,通过实施(modX'N-1)运算得到的N-1次以下的整数系数多项式 可以看作定义了相加、相减、相乘和表示元的大小的范数的N维阵列,多 项式环R可以看作N维阵列的集合。(3)改进NTRUSign签名方式的密钥生成改进NTRUSign签名方式中,如上所述,使用参数df、 dg来随机生成多 项式f、多项式g。并且,使用作为Fqxf-l (modq)的多项式Fq,通过h=Fqxg (modq),来生成多项式h。这里,多项式Fq称作多项式f的逆元。进一步,求出 满足下式的范数比预定值Keybound小的多项式F, G的对(F, G)。 fxG—gxF-q (*)接着,设他g),(F,G》作为私钥((f,g),(FJ,GJ》,使用((f,g),(FJ,GJ)), 来求出多个满足式(*)且范数比预定值Keybound小的其他对(F, G),而 设作(F—2,G-2), (F_3,G_3),……。这里,分别将{ (f,g) ,(F_1,G_1)}、 { (f,g) ,(FJ2,G_2)}、……设作私钥,将包含这些私钥的整体称作私钥群。 另外,将多项式h设作公钥。这里,注意在现有的NTRUSign签名方式中, 公钥和私钥是一个, 一一对应,但是,在改进NTRUSign签名方式中,公钥 是一个,存在多个与该公钥对应的私钥。另外,NTRUSign签名方式中,若 对一个公钥,存在上述(*)和范数比预定值Keybound小的多项式F, G的 对(F, G),则可能存在多个。在实施方式1和后述的实施方式2中,利用 该性质。另外,预定值Keybound是可生成验证为是正当的签名的签名数据的作为
私钥的(F, G)的范数,在(N, q, df, dg ,Normbound) =(251 ,128,73,71,310) 的例子的情况下,例如Keybound-45。其根据非专利文献5,是验证为使用 私钥生成的签名不正当的验证失败概率为l(T ( — 12)以下用的(F, G)的 范数的边界值。由于该范数的边界值依赖于参数(N, q,df,dg,Normbound) 而变化,所以在上述例子之外的情况下,也可改变Keybound。具体的,预 定值Keybound可以是验证失败概率为l(T (一12)以下用的(F, G)范数 的边界值。该验证失败概率可以是l(T (一15)等其他值。(4) 改进NTRUSign签名方式的签名生成改进NTRUSign签名方式的签名生成中,计算作为签名对象的消息m的 签名s。首先,从私钥群中包含的多个私钥中选择一个私钥"f,g), (FS,GS)}。接着,计算作为对消息m的散列值的2'N维向量(ml, m2) (ml和 m2是N次多项式)。使用该2'N维向量(ml,m2)和私钥{ (f,g), (FS,GS) },来计算满足下 面的式子的多项式a,b,A,B。GSxml —FSxm2=A+qxB一 gxml + fxm2 - a+qxb这里,设A, a的系数取用除数q相除时的余数,使其在《q/2》1至^q/2〉 的范围中。BP,在用除数q相除后的余数在〈q/2〉到q-l的情况下,使其减 去q,调整到上述范围中。这里,〈x〉表示在x以下的数中最大的数。例如, <_1/2>=—1下面,从下面的式子中计算s、 t,并将s作为签名输出。 s=fxB+FSxb (modq) t=gxB+GSxb (modq)(5) 改进NTRUSign签名方式的签名验证改进NTRUSign签名方式的签名生成方法与现有的NTRUSign签名方式 相同。首先,计算作为对消息m的散列值的2,N维向量(ml, m2)。 使用公钥h,从下面的式子中计算多项式t。 t=sxh (modq)
求出2,N维向量(s,t)和(ml,m2)的距离,并验证是否小于Normbound。 若小于Normbound,则判断为签名s正当,而受理签名s。若是Normbound 以上,则判断为签名s不正当,而拒绝签名s。1.2签名生成装置10的结构签名生成装置IO如图1所示,由私钥群存储部101、公钥证书存储部102、 私钥选择部103、签名生成部104、签名数据组生成部105和发送部106构 成。签名生成装置lO存储通过上述的改进NTRUSign签名方式、由密钥生成 装置30生成的多个私钥构成的私钥群和与公钥对应的公钥证书,并使用私 钥群中包含的一个私钥,来生成对作为输入的消息数据m的签名数据S。(1) 私钥群存储部IOI私钥群存储部101具有存储由通过密钥生成装置30生成的多个私钥构成 的私钥群用的区域。在下面的说明中,设私钥群存储部101存储由多个私钥{ (f,g), (FJ,G一1) }, { (f,g) , (F_2,G_2) },…{ (f,g) , (F_u,G_u) }构成的私 钥群GKS。这里,u是私钥群中包含的私钥的个数。(2) 公钥证书存储部102公钥证书存储部102具有存储公钥h的公钥证书CP用的区域。 公钥证书CP包括公钥h和公钥h的签名数据SP,通过密钥生成装置30 来生成。签名数据SP通过使用由密钥生成装置30存储的证书生成密钥KCS 和改进NTRUSign签名方式来生成。在下面的说明中,设通过密钥生成装置 30来预先存储公钥证书CP。公钥证书CP中,除公钥h和签名数据SP之外, 也可包含其他数据。例如,也可包含用户的识别符或证书的期限等。(3) 私钥选择部1Q3私钥选择部103在从签名生成部104接受从私钥群中选择出一个私钥的 内容的选择指示后,从私钥群GSK中包含的多个私钥中随机选择一个私钥。 私钥选择部103将所选择出的私钥输出到签名生成部104。 选择可以不随机,可基于来自外部的输入。 (4) 签名生成部104签名生成部104在从签名数据组生成部105接受表示消息数据m的签名 数据的生成指示的签名生成指示后,将选择指示输出到私钥选择部103。签名生成部104在接受从私钥选择部103中选择出的一个私钥后,使用 所接收的私钥,来生成对消息数据m的签名数据S,艮卩,对消息数据m施 加签名后,而生成签名数据S。签名生成部104在签名数据S的生成完成后,将表示该内容的生成完成 通知输出到签名数据组生成部105。签名数据S根据改进NTRUSign签名方式来生成。(5) 签名数据组生成部105签名数据组生成部105在通过用户的操作接受消息数据m后,从公钥证 书存储部102中读出公钥证书CP。签名数据组生成部105将签名生成指示输出到签名生成部104,之后, 从签名生成部104接收生成完成通知后,生成包括消息数据m、通过签名生 成部104生成的消息数据m的签名数据S和所读出的公钥证书CP的签名数 据组SS。签名数据组生成部105经发送部106,将所生成的签名数据组SS发送到 签名验证装置20。(6) 发送部106发送部106经通信路径50将签名数据组SS发送到签名验证装置20。 1.3签名验证装置20的结构签名验证装置20如图1所示,由CA公钥存储部201、签名数据组存储 部202、签名验证部203、接收部204和显示部205构成。(1) CA公钥存储部201CA公钥存储部201与通过密钥生成装置30存储的证书生成密钥KCS相 对应,来存储验证公钥证书CP用的公钥KCP。(2) 签名数据组存储部202签名数据组存储部202具有存储签名数据组SS用的区域。(3) 签名验证部203签名验证部203验证签名数据组SS中包含的签名数据S和公钥证书CP 中包含的签名数据SP。签名验证部203使用改进UTRUSign签名方式,来 进行各签名数据的验证。下面,表示验证的动作。签名验证部203从接收部204接受开始验证的内容的验证开始指示。名数据SP是否是公钥h的正当签名。在判断为签名数据SP为正当的签名的情况下,签名验证部203使用公钥 h来验证签名数据S是否是消息数据m的正当签名。在判断为签名数据S是正当签名的情况下,签名验证部203将受理所接 收的签名数据组SS的消息"OK"输出到显示部205。在各签名验证中的任何一个签名验证中,在判断为签名数据是不正当的 签名的情况下,签名验证部203将拒绝所接收的签名数据组SS的消息"NG" 输出到显示部205。(4) 接收部204接收部204经通信路径50来接收从签名生成装置10发送的签名数据组SS。接收部204将所接收的签名数据组SS存储到签名数据组存储部202,之 后,将验证开始指示输出到签名验证部203。(5) 显示部205显示部205在从签名验证部203接受到与签名验证的验证结果有关的消 息后,显示所接受的消息。 1.4密钥生成装置30的结构密钥生成装置30如图1所示,由证书生成密钥存储部301、密钥生成部 302、私钥群生成部303、证书生成部304和密钥设定部305构成。 (1)证书生成密钥存储部301 证书生成密钥存储部301与公钥KCP相对应,存储生成在公钥证书CP 中包含的签名数据SP用的证书生成密钥KCS。(2) 密钥生成部302密钥生成部302使用现有的NTRUSign签名方式的密钥生成方法,来生 成私钥"f, g), (F, G))和公钥h。另外,由于基于现有的NTRUSign签名方 式的密钥生成是公知的技术,所以这里省略说明。密钥生成部302将指示私钥群的生成的密钥群生成指示输出到私钥群生 成部303,并将指示公钥证书CP的生成的证书生成指示输出到证书生成部 304中。(3) 私钥群生成部303 私钥群生成部303预先存储表示预定值Keybound和私钥的检索次数的上限值的vMAX。这里,vMAX例如是lOOO。私钥群生成部303,通过以预定值vMAX以下的检索次数,生成多个范 数|| (a,b) H为预定值Keybound以下的多项式a, b的对(a,b),而生成多个 私钥。私钥群生成部303在从密钥生成部302接受密钥群生成指示后,使用通 过密钥生成部302生成的私钥((f,g),(F,G》和改进NTRUSign签名方式的密钥 生成方法,来生成由((f,g), (F_l,G_l)},{(f,g), (F_2,G_2) },...{ (f,g), (F_u,G_u))构成的私钥群GKS。这里,u是私钥群中包含的私钥的个数。私钥群生成部303在私钥群GSK的生成完成后,将意为将所生成的私钥 群GSK存储到签名生成装置10的第一存储指示输出到密钥设定部305。(4) 证书生成部304证书生成部304在从密钥生成部302接受证书生成指示后,读出在证书 生成密钥存储部301中存储的证书生成密钥KCS。证书生成部304使用所读出的证书生成部KCS,来生成对通过密钥生成 部302生成的公钥h的公钥证书CP。这里,公钥证书CP包括公钥h和使用 了公钥h的证书生成密钥KCS的签名数据SP。证书生成部304在公钥证书CP的生成完成后,将意为将所生成的公钥 证书CP存储到签名生成装置10中的第二存储指示输出到密钥设定部305。 (5)密钥设定部305 密钥设定部305在从私钥群生成部303接受到第一存储指示后,将通过 私钥群生成部303生成的私钥群GSK写入到签名生成装置10的私钥群存储 部101中。
密钥设定部305在从证书生成部304中接受第二存储指示后,将在证书 生成部304生成的公钥证书CP写入到签名生成装置10的公钥证书存储部 102中。
1.5签名生成装置IO的动作
签名生成装置10生成对消息数据m的签名数据组SS,并经通信路径50 发送到签名验证装置20。下面,使用图2所示的流程图来说明在签名生成 装置IO进行的签名生成处理的动作。
签名数据组生成部105通过用户的操作接受消息数据m (步骤S5)。
签名数据组生成部105从公钥证书存储部102读出公钥证书CP,并将签 名生成指示输出到签名生成部104。签名生成部104在从签名数据组生成部 105接受到签名生成指示后,将选择指示输出到私钥选择部103。私钥选择 部103在从签名生成部104接受选择指示后,从私钥群GSK中包含的多个 私钥中随机选择一个私钥(步骤SIO)。
私钥选择部103将所选择出的私钥输出到签名生成部104中。签名生成 部104在接受从私钥选择部103选择出的一个私钥后,使用所接受的私钥, 来生成对消息数据m的签名数据S (步骤S15)。另外,签名数据S根据改 进NTRUSign签名方式来生成。
签名生成部104在签名数据S的生成完成后,将表示该内容的生成完成 通知输出到签名数据组生成部105。签名数据组生成部105在从签名生成部 104接受生成完成通知后,来生成包括消息数据m、在签名生成部104生成 的消息数据m的签名数据S、和读出的公钥证书CP的签名数据组SS (步骤 S20)。
发送部106经通信路径50将在签名数据组生成部105生成的签名数据组 SS发送到签名验证装置20 (步骤S25)。1.6签名验证装置2i3的动作签名验证装置20经通信路径50从签名生成装置10接受签名数据组SS, 来验证该签名数据组SS。下面,使用图3所示的流程图来说明在签名验证 装置20进行的签名验证处理。接收部204经通信路径50来接收从签名生成装置10发送的签名数据组 SS (步骤S105)。接收部204将所接受的签名数据组SS存储在签名数据组存储部202中 (S105)。接收部204将验证开始指示输出到签名验证部203。签名验证部203从 接收部204接受意为开始验证的内容的验证开始指示。签名验证部203使用 CA公钥存储部中存储的CA公钥KPC来验证签名数据SP是否是公钥h的 正当签名(步骤SllO)。在判断为签名数据SP是正当的签名的情况下(步骤S110中的"OK"), 签名验证部203使用公钥h来验证签名数据S是否是消息数据m的正当签 名(步骤S115)。在判断为签名数据S是正当的签名的情况下(步骤S115中的"0K"),签 名验证部203经显示部205,来显示消息"OK"(步骤S120)。在判断为签名数据SP不是正当的签名的情况下(步骤SllO中的"NG") 及判断为签名数据S不是正当的签名的情况下(步骤S115中的"NG"),签 名验证部203经显示部205来显示消息"NG"(步骤S125)。签名验证部203使用改进NTRUSign签名方式,来进行各签名数据的验证。1.7密钥生成装置30的动作密钥生成装置30生成私钥群GKS和证书CP,并将所生成的私钥群GKS 和证书CP设置在签名生成装置10上。下面,使用图4所示的流程图来说 明在密钥生成装置30进行的密钥生成处理的动作。密钥生成部302使用现有的NTRUSign签名方式的密钥生成方法,来生 成私钥{ (f,g) ,(F,G》和公钥h (步骤S200)。
密钥生成部302将指示私钥群的生成的密钥群生成指示输出到私钥群生 成部303,并将指示公钥证书CP的生成的证书生成指示输出到证书生成部 304。私钥群生成部303在从密钥生成部302接受密钥群生成指示后,通过 私钥群生成处理,来生成包括((f,g), (F—l,G_l)},{(f,g), (F_2,G—2)},..., { (f,g), (F_u,G_u))的私钥群GKS (步骤S205)。这里,u是私钥群中包 含的私钥的个数。证书生成部304在从密钥生成部302接受证书生成指示后,读出在证书 生成密钥存储部301中存储的证书生成密钥KCS。证书生成部304使用所读 出的证书生成密钥KCS,生成对在密钥生成部302生成的公钥h的公钥证书 CP (步骤S210)。私钥群生成部303在私钥群GSK的生成完成后,将意为将所生成的私钥 群GSK存储到签名生成装置10中的第一存储指示输出到密钥设定部305。 证书生成部304在公钥证书CP的生成完成后,将意为将所生成的公钥证书 CP存储到签名生成装置10中的第二存储指示输出到密钥设定部305中。密 钥设定部305在从私钥群生成部303接受第一存储指示后,将在私钥群生成 部303生成的私钥群GSK写入到签名生成装置10的私钥群存储部101中, 在从证书生成部304接受第二存储指示后,将在证书生成部304生成的公钥 证书CP写入到签名生成装置10的公钥证书存储部102中(步骤S215)。l.S私钥群的生成方法这里,使用图5所示的流程图来说明使用了在私钥群生成部303进行的 改进NTRUSign签名方式的私钥群GSK的生成方法、即图4所示的私钥群 生成处理的动作。私钥群生成部303将由密钥生成部302生成的私钥{ (f,g), (F,G) }作为 私钥{ (f,g), (F一1,G一1) },提供给私钥群GSK (步骤S300)。私钥群生成部303设作2,v—0, F,—F, G,—G (步骤S305)。 接着,私钥群生成部303设作F, —F,+XV<f, G,—G,+ X"vxg (步骤 S310)。私钥群生成部303判断是否ll(F,,G,)ll〉Keybound (步骤S315)。
在判断为不是ll(F,,G')U〉Keybound的情况下(步骤S315中的"NO"),私 钥群生成部303将(F,,G,)作为私钥{ (f,g), (F一u,G一ii) },而加到私钥群 GKS中(步骤S320),并设作u—u+l (步骤S325)。私钥群生成部303设 作v—v+l (S330),并判断是否v〉vMAX (步骤S335)。在判断为v〉vMAX的情况下(步骤S335中的"YES"),结束处理。在判 断为非v〉vMAX的情况下(步骤S335中的"NO"),回到步骤S310。在判断为ll(F',G')l一Keybound的情况下(步骤S315中的"YES"),私钥群 生成部303进行步骤S325之后的处理。注意通过上述的方法生成的私钥((f,g), (F_1,G_1) }, { (f,g), (F_2,G_2) },…分别满足f^Gj—gxF一l-q, fxG_2_gxF_2=q...。由于 { (f,g), (F_1,G_1)〉使用现有的NTRUSign签名方式的密钥生成方法来生 成,所以M5」一gxF—l-q成立。接着,在对某个正整数i,对于{ (f,g), (F_i,G_i) }, fxGj-gxFj-q成立时,表示对{ (f,g), (F_ (i+l) ,G_ (i+l)) }, fxG_ (i+l) —gxF— (i+l) -q成立。从上述的流程图的步 骤S310看,满足F—(i+l) =F_i+wxf, G_ (i+l) =G_i+wxg的多项式 w存在。所以,fxG一 (i+l) —gxF一 (i+l) =fx (G一i+wxg) -gx (F_i+wxf) =fxG—i+wxfxg_gxF_i+wxfxg=fxG_i—gxF_i=q成立。因此,通过上述的方法生成的私钥((f,g), (F」,G_1)}, ((f,g), (F_2,G_2) },…分别满足fxGJ—gxF一l-q, fxG_2—gxF_2=q,…。 私钥群的生成方法并不限于上述,也可以是生成包括满足fxG,一gxF-q,且II(F,,G,)II是Keybound以下这种的私钥{ (f,g), (F,,G,) }的私钥群的方 法。1.9第一实施方式的整体动作下面表示第一实施方式中的数字签名系统1的整体动作。 数字签名系统1的密钥生成装置30中,生成签名生成装置10的公钥和 私钥群,并设置在签名生成装置10中。签名生成装置10生成对消息数据m
的签名数据组SS,并经通信路径50将所生成的签名数据组SS发送到签名 验证装置20。签名验证装置20经通信路径50从签名生成装置10接受签名 数据组SS后加以验证。1.10第一实施方式的效果第一实施方式中的数字签名系统l中,签名验证用的公钥是一个,但是 与此对应的私钥存在多个。签名生成装置10中,从私钥群中包含的多个私 钥中选择一个私钥,而生成签名数据。考虑将私钥群中包含的私钥的个数设 作2个,各个私钥为((f,g), (F_1,G_1) }, { (f,g), (F—2,G_2) }的情况。 这时,执行抄本攻击的攻击者获得在通信路径50中流过的签名数据组,来 尝试抄本攻击。由于攻击者不清楚所获得的签名数据组通过哪个私钥生成, 因此通过所使用的私钥来分类所获得的签名数据组,不能使用各个来加以攻 击。因此,若通过从所得到的所有签名数据中取得签名和散列值的差值,并 求该平均来进行攻击,则由于使用两种私钥,故签名数据组中存在两种私钥 的信息。结果,即使执行抄本攻击,从2次矩和4次矩的平均中可获得混合 了两种私钥的信息的状态,但是不能将其分离为一个一个的私钥信息。因此, 数字签名系统1可以防止抄本攻击,很安全。另外,虽然上述中私钥群中包 含的私钥的个数是2个,但是若是3个或比3大的整数,由于进一步从2次 矩和4次矩的平均中分离处私钥的信息很困难,所有具有更高的安全性。2.第二实施方式下面,参考附图来说明作为本发明的第二实施方式的数字签名系统IOOO。 2.1数字签名系统1000的概要数字签名系统IOOO包括签名生成装置1010、签名验证装置1020和通信 路径1050构成。签名生成装置1010使用NTRUSign签名方式,来生成对消息数据m的 签名数据组SS,并经通信路径1050将签名数据组SS发送到签名验证装置 1020。后面描述签名数据组SS的结构。签名验证装置1020从签名生成装置1010中接受签名数据组SS,并验证 所接收的签名数据组SS是否是消息数据m的正当签名。签名验证装置1020 在判断为签名数据组ss正当的情况下,受理签名数据组ss,在判断为签名 数据组ss不正当的情况下,拒绝签名数据组ss。2.2签名生成装置1010的结构签名生成装置1010如图6所示,包括私钥存储部110K公钥证书存储 部1102、私钥更新部1103、签名生成部1104、签名数据组生成部1105、发 送部1106和显示部1107。签名生成装置1010生成对作为输入的消息数据m的签名数据组SS,并 将所生成的签名数据组SS发送到签名验证装置1020。构成签名生成装置1010的签名数据组生成部1105和发送部1106分别与 第一实施方式所示的签名数据组生成部105和发送部106进行相同的动作, 所以这里省略说明。(1) 私钥存储部llOl私钥存储部1101具有存储私钥低g),(F,G"用的区域。 这里,私钥存储部1101预先存储私钥Kf,g),(F,G))。(2) 公钥证书存储部1102公钥证书存储部1102具有存储与私钥Kf,g),(F,G》对应的公钥h的公钥密 钥证书CP用的区域。公钥证书CP包括公钥h、公钥h的签名数据SP。签名数据SP根据改进 NTRUSign签名方式来生成。这里,公钥证书存储部1102预先存储公钥证 书CP。公钥证书CP中除公钥h和签名数据SP之外,也可包含其他的数据。 例如,也可包含用户的识别符和证书的期限等。(3) 私钥更新部1103私钥更新部1103预先存储表示预定值Keybound和私钥的检索次数的上 限值的vMAX。这里,vMAX例如是lOOO。私钥更新部1103定期例如每一个月通过下面的动作来更新私钥存储部 1101中存储的私钥。另外,私钥的更新定时可以以月为单位,以日为单位, 也可以以小时为单位。私钥更新部1103使用改进NTRUSign签名方式,通过预定值vMAX以 下的检索次数,来生成范数ll(F,,G,)ll为预定值Keybound以下的对(F,G,), 从而生成与公钥h相对应,且与在私钥存储部1101中存储的私钥 { (f,g) ,(F,,G,"不同的私钥((f,g) ,(F,,G,)}。私钥更新部1103将新生成的{ (f,g) ,(F,,G,)}覆盖私钥存储部1101上存 储的私钥,而加以更新。私钥更新部1103在预定值vMAX以下、不能生成对(F',G')的情况下, 经显示部1107来显示表示意为不能更新私钥的不能更新消息。后面描述私钥的更新方法的细节。(4) 签名生成部1104签名生成部1104在从签名数据组生成部1105中接受到表示消息数据m 的签名数据的生成指示的签名生成指示后,从私钥存储部1101中读出私钥。签名生成部1104使用所读出的私钥,来生成对消息数据m的签名数据S, 并对消息m实施签名后生成签名数据S。签名生成部1104在签名数据S的生成完成后,将表示该内容的生成完成 通知输出到签名数据组生成部1105。签名数据S根据改进NTRUSign签名方式来生成。(5) 显示部1107显示部1107显示从私钥更新部1103接受的消息。 2.3签名验证装置1020签名验证装置1020如图6所示,包括CA公钥存储部1201、签名数据组 存储部1202、签名验证部1203、接收部1204和显示部1205。构成签名验证装置1020的CA公钥存储部1201 、签名数据组存储部1202、 签名验证部1203、接收部1204和显示部1205分别与第一实施方式表示的 CA公钥存储部201、签名数据组存储部202、签名验证部203、接收部204 和显示部205进行相同的动作,所以这里省略说明。2.4私钥的更新方法这里,使用图7所示的流程图来说明在私钥更新部1103进行的私钥的更 新方法(私钥更新处理)。
私钥更新部1103将Kf,g),(F,G》作为私钥Kf,g),(F一l,G一l》,从私钥存储部 1101中读出(步骤S400)。私钥更新部1103对变量v,F,,G,,设置v—O,F, —F,G, —G (步骤S405)。 私钥更新部1103对变量F,,G,,设置,F,—F,+X'vxf, G,—G,+ X'vxg (步骤S410)。私钥更新部1103判断范数II(F',G')H是否超过预定值Keybound (步骤 S415)。在判断为范数II(F',G')II超过了预定值Keybound的情况下(步骤S415中 的"YES"),私钥更新部1103对变量v,设作v—v+l (步骤S420),并判断 变量v是否超过预定值vMAX (步骤S425)。在判断为变量v超过vMAX的情况下(步骤S425中的"YES"),私钥更 新部1103经显示部1107显示不能更新消息(步骤S430)。在判断为变量v 没有超过预定值vMAX的情况下(步骤S425中的"NO"),私钥更新部1103 返回到步骤S410。在判断为范数!I(F',G')II不超过预定值Keybound的情况下(步骤S415中 的"NO"),私钥更新部1103将所生成的私钥((f,g),(F',G'》覆盖私钥存储部 1101上存储的私钥而加以更新,从而作为新的私钥Kf,g),(F,G》(步骤S435)。注意通过上述方法生成的私钥Kf,g),(F,G,》分别满足fxG,一gxF'-q。另 外,私钥的更新方法并不限于此,也可以是更新为满足fxG'—gxF'-q,且卄(F,,G,) ||为Keybound以下的私钥((f,g),(F,,G,》的方法。2.5签名生成装置1010的动作签名生成装置1010的动作包括生成对消息数据m的签名数据组SS,并 经通信路径1050发送到签名验证装置1020的"签名生成处理"和更新私钥的 "私钥更新处理"的动作构成。下面,说明各处理的动作。 (1)签名生成处理 这里,使用图8所示的流程图来说明签名生成处理的动作。 签名数据组生成部1105通过用户的操作来接受消息数据m(步骤S500)。 签名数据组生成部1105从公钥证书存储部1102中读出公钥证书CP,并 将签名生成指示输出到签名生成部1104。签名生成部1104在从签名数据组 生成部105中接受签名生成指示后,从私钥存储部1101中读出私钥。签名 生成部1104使用所读出的私钥,来生成对消息m的签名数据S(步骤S505 )。 签名生成部1104在签名S的生成完成后,将表示该内容的生成完成通知 输出到签名数据组生成部1105。签名数据组生成部1105在从签名生成部 1104中接受生成完成通知后,生成包括消息数据m、在签名生成部1104生 成的消息数据m的签名数据S、和所读出的公钥证书CP的签名数据组SS (步骤S510)。
发送部1106将在签名数据组生成部1105生成的签名数据组SS经通信路 径105发送到签名验证装置1020 (步骤S515)。 (2)私钥更新处理私钥更新部1103使用私钥存储部1101中存储的私钥"f,g),(F,G》,来生 成新的私钥欣g),(F',G'",并将新的私钥覆盖私钥存储部1101中存储的私 钥后加以更新。
另外,由于详细动作用图7表示,所以这里省略说明。
2.6签名验证装置1020的动作
签名验证装置1020经通信路径1050从签名生成装置1010接受签名数 据,来验证该签名数据组SS。由于在签名验证装置1020进行的签名验证处 理与第一实施方式中的图3所示的流程图为相同的动作,所以这里省略说 明。
2.7实施方式2的整体动作
下面表示第二实施方式中的数字签名系统1000的整体动作。 数字签名系统1000的签名生成装置1010,通过"签名生成处理",对作为 输入的消息数据m,生成签名数据组SS,并发送到签名验证装置1020。签 名验证装置1020从签名生成装置1010接受签名数据组SS,验证所接收的 签名数据组,并通过该验证结果,来决定受理或拒绝签名数据组SS。通过"密 钥更新处理",签名生成装置1010更新私钥。
2.8第二实施方式的效果 第二实施方式中的数字签名系统1000中,签名验证用的公钥是一个,但 是更新与其对应的私钥。从通信路径1050获得签名数据组,执行抄本攻击 的攻击者不知道该更新定时。这里,考虑仅更新一次私钥的情况。由于攻击 者不知道生成获得的签名数据组所使用的私钥的更新定时,因通过所使用的 私钥来严格分类所获得的签名组,所以不能使用各个来进行攻击。这样,若 从获得的所有签名数据组来取得签名和散列值的差值,通过求取该平均来进 行攻击,由于以某个时期为界限,来使用两种私钥,所以只要不能通过私钥 来正确分类所获得的数据组,签名数据组就存在两种私钥信息。结果,即使 执行抄本攻击,从2次矩和4次矩的平均中可以得到混合了两种私钥的信息 的状态,但是不能将其分离为一个一个的私钥信息。因此,数字签名系统 1000中与第一实施方式的数字签名系统1相同,可以防止抄本攻击,很安 全。3.变形例上述说明的第一和第二实施方式是本发明的实施的一例,本发明并不特 别限于这些实施方式,可以在不脱离该内容的范围中以各种形态来加以实 施。例如,本发明也包含如下的情况。(1) 第一实施方式中,对(f,g)的各值分别固定,而改变对(F,G)的 各值,但是并不限于此。也可使对(f,g)的值也可变,来设定多个私钥。这 时,设作为NTRUSign签名方式的密钥的条件的fxG—gxF-q满足。另夕卜, 也可使对(f,g)的各值可变,对(F,G)的各值固定。也可与第二实施方式相同,使对(f,g)的各值也可变,来进行私钥的更 新。另外,也可使对(f,g)的各值可变,使对(F,G)的各值固定。(2) 第一实施方式的私钥群生成部和第二实施方式中的私钥更新部中的 表示私钥的检索次数的vMAX的值并不限于lOOO。也可以是其他的值,例 如10000。G)第一实施方式中,也可不随机选择私钥,而根据预定的规则来加以 选择。例如,也可以是签名生成装置计数生成了签名数据组的次数,在到达第
一预定次数(例如,1(T7次等)为止,使用相同的私钥,之后,在到达第二 预定次数(例如1(T8次等)为止,使用与之前不同的私钥。这时,签名生 成装置通过用指示器来特定现在使用的私钥,而可使用同一私钥直到达到第 一预定次数。这种情况下,由于攻击者不知道使用的私钥的切换定时,所以 对抄本攻击来说很安全。计数的对象可以是生成签名数据的次数。签名生成装置可以以存储多个私钥的顺序来加以选择。这时,签名生成 装置使用指示器来特定现在使用的私钥,接着通过将指示器的位置改变到接 着使用的私钥,从而可以以存储多个私钥的顺序来加以选择。由此,签名生 成装置在签名生成时,可以取得与前次签名中所使用的私钥不同的私钥,并 使用所取得的其他私钥来生成签名数据。(4) 第二实施方式中,可以使更新私钥的定时不依赖于生成签名数据组 的次数。例如,可以使用私钥,在生成预定次数(例如1(T7次等)签名数 据组时,更新私钥。在这种情况下,由于攻击者不知道使用私钥的切换定时, 所以对抄本攻击很安全。(5) 第一和第二实施方式中,作为签名方式使用了 NTRUSign签名方式 或以该方式为基础的改进方式,但是并不限于此。只要是对一个公钥,可以 有多个私钥对应的签名方式就可以了 。例如,可以是与NTRUSign签名方式不同、且使用了格(lattice)的签名 方式。(6) 第一实施方式中,密钥生成装置和签名生成装置是不同的装置,但 是并不限于此。数字签名系统1可以包括由密钥生成装置和签名生成装置构 成的装置、以及签名验证装置。(7) 第一实施方式中,签名生成装置通过用户的操作来接受消息数据, 但是并不限于此。签名生成装置可以从外部的装置来接受消息数据。 第二实施方式中也相同,签名生成装置可以从外部的装置来接受消息数据。(8) 可以是这些实施方式和变形例的组合。
<其他变形例>根据上述实施方式说明了本发明,但是本发明当然不限于上述实施方式。 本发明还包含下面的情况。(1) 上述各装置具体地,是由微处理器、ROM、 RAM、硬盘单元、显 示器单元、键盘和鼠标等构成的计算机系统。在所述RAM或所述硬盘单元 中存储了计算机程序。通过所述微处理器根据所述计算机程序动作,从而各 装置实现该功能。这里,计算机程序为了实现预定的功能,组合多个表示对 计算机的指令的命令码来构成。(2) 构成上述各装置的构成要素的一部分或全部可以由一个系统LSI (Large Scale Intergration:大规模集成电路)构成。系统LSI是在一个芯片上集成多个构成部来加以制造的超多功能LSI,具体地,是包含微处理器、 ROM、 RAM等构成的计算机系统。所述RAM上存储了计算机程序。通过 所述微处理器根据所述计算机程序动作,从而系统LSI实现该功能。(3) 构成上述各装置的构成要素的一部分或全部可以由可对各装置装卸 的IC卡或单体模块构成。所述IC卡或所述模块是由微处理器、ROM、 RAM 等构成的计算机系统。所述IC卡或所述模块可以包含上述超多功能LSI。 通过微处理器根据计算机程序动作,从而所述IC卡或所述模块实现该功能。 该IC卡或该模块可以具有抗篡改性。(4) 本发明可以是上述表示的方法。可以是由计算机来实现这些方法的 计算机程序,也可以是由所述计算机程序构成的数字信号。本发明可将所述计算机程序或所述数字信号记录在计算机可读取记录介 质上,例如软盘、硬盘、CD-ROM、 MO、 DVD、 DVD-ROM、 DVD-RAM、 BD (Blu—rayDisc)、半导体存储器等中。也可以是在这些记录介质上记录 的所述计算机程序或所述数字信号。本发明可以经电信线路、无线或有线通信线路、以互联网为代表的网络、 数字广播等来传送所述计算机程序或所述数字信号。本发明可以是具有微处理器和存储器的计算机系统,所述存储器存储上 述计算机程序,所述微处理器可以根据所述计算机程序来动作。
通过将所述程序或所述数字信号记录在所述记录介质上来进行传送,或 通过经所述网络等来传送所述程序或所述数字信号,可以通过独立的其他计 算机系统来加以实施。(5)可以分别组合上述实施方式和上述变形例。
4.总结本发明是使用多个私钥可对应对一个公钥的签名方式,来生成对消息数 据的签名数据的签名生成装置,其特征在于,具有私钥群存储部,存储由多 个所述私钥构成的私钥群;公钥证书存储部,存储所述公钥或所述公钥的证 书的某一个;私钥选择部,从所述私钥群中包含的多个所述私钥中选择一个 私钥;签名生成部,使用所选择出的所述私钥,来生成对所述消息数据的所 述签名数据。
这里,所述签名方式包含密钥生成步骤,对作为定义了表示相加、相 减、相乘和元的大小的范数的N维阵列的集合的环R和所述环R的理想q, 生成所述环R的元f、 g和作为f (modq)的逆数的元Fq,并生成与所述元 g和所述元Fq的积在modq下同余(合同)的元h来作为所述公钥,生成 满足fxG-gxF=q且范数比预先提供的预定值小的作为所述环R的元的对的 多个解(F,G) 二 (F_l, G—1), (F一2, G—2), ... (F_u, G_u) (u是比l 大的正整数),并将多个所述元的4个组(f,g, F一l , G一l), (f,g, F一2, G_2),... (f,g,F一u, G一u)分别作为所述私钥生成;签名生成步骤,使用所述私钥来 生成对所述消息数据的所述签名数据;和签名验证步骤,使用所述公钥来验 证所述签名数据。这里,所述私钥选择部也可从所述私钥群中包含的多个所述私钥中随机 选择一个所述私钥。.
本发明是使用多个私钥可对应于一个公钥的签名方式来生成所述公钥和 私钥的密钥生成装置,其特征在于,所述签名方式包含密钥生成步骤,对 作为定义了表示相加、相减、相乘和元的大小的范数的N维阵列的集合的 环R和所述环R的理想q,生成所述环R的元f, g和作为f (modq)的逆 数的元Fq,并生成与所述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥,生成满足fxG-gxF=q且范数比预先提供的预定值小的作为所 述元R的元的对的多个解(F,G) 二 (F—1, G_l), (F_2, G_2), ... (F_u, G—u) (u是比l大的正整数),并将多个所述元的4个组(f,g,FJ, G_l), (f,g,F一2, G_2), ... (f,g,F一u, G一u)分别作为所述私钥生成;签名生成 步骤,使用所述私钥来生成对所述消息数据的所述签名数据;和签名验证步 骤,使用所述公钥来验证所述签名数据;使用所述密钥生成步骤,来生成所 述公钥和多个所述私钥。本发明是使用多个私钥可对应于一个公钥的签名方式来生成对消息数据 的签名数据的签名生成装置,其特征在于,包括私钥存储部,存储所述私 钥;公钥证书存储部,存储所述公钥或所述公钥的证书的某一个;签名生成 部,使用所述私钥,来生成对所述消息数据的所述签名数据;和私钥更新部, 更新所述私钥,使其与所述公钥对应。这里,所述签名方式也可包含密钥生成步骤,对作为定义了表示相加、 相减、相乘和元的大小的范数的N维阵列的集合的环R和所述环R的理想 q,生成所述环R的元f, g和作为f (mod q)的逆数的元Fq,并生成与所 述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥,生成满足 fxG-gxF=q且范数比预先提供的预定值小的所述环R的元的对的(F,G), 并将多个所述元的4个组(f,g,F, G)作为所述私钥生成;签名生成步骤, 便用所私钥来生成对所述消息数据的所述签名数据;和签名验证步骤,使用 所述公钥来验证所述签名数据。本发明为包括使用多个私钥可对应于一个公钥的签名方式来生成对消息 数据的签名数据的签名生成装置和验证所述签名数据的签名验证装置的数 字签名系统,其特征在于,所述签名生成装置包括私钥群存储部,存储由 多个所述私钥构成的私钥群;公钥证书存储部,存储所述公钥或所述公钥的 证书的某一个;私钥选择部,从所述私钥群包含的多个所述私钥中选择一个 所述私钥;以及签名生成部,使用所选择出的所述私钥,来生成对所述消息 数据的所述签名数据。本发明为使用多个私钥可对应于一个公钥的签名方式来生成对消息数据
的签名数据的签名生成方法,其特征在于,包括私钥群存储步骤,存储由 多个所述私钥构成的私钥群;公钥证书存储步骤,存储所述公钥或所述公钥 的证书的某一个;私钥选择步骤,从所述私钥群中包含的多个所述私钥中选 择一个所述私钥;和签名生成步骤,使用所选择出的所述私钥,来生成对所 述消息数据的所述签名数据。本发明为使用多个私钥可对应于一个公钥的签名方式来生成对消息数据 的签名数据的签名生成方法,其特征在于,包括私钥存储步骤,存储所述 私钥;公钥证书存储步骤,存储所述公钥或所述公钥的证书的某一个;签名 生成步骤,使用所述私钥,来生成对所述消息数据的所述签名数据;和私钥 更新步骤,更新所述私钥,使其与所述公钥对应。本发明是使签名生成装置执行的计算机程序,该签名生成装置使用多个 私钥可对应于一个公钥的签名方式来生成对消息数据的签名数据,其特征在 于,使所述签名生成装置执行私钥群存储步骤,存储由多个所述私钥构成 的私钥群;公钥证书存储步骤,存储所述公钥或所述公钥的证书的某一个; 私钥选择步骤,从所述私钥群中包含的多个所述私钥中选择一个所述私钥; 以及签名生成步骤,使用所选择出的所述私钥,来生成对所述消息数据的所 述签名数据。这里,所述签名方式也可包含密钥生成步骤,对作为定义了表示相加、 相减、相乘和元的大小的范数的N维阵列的集合的环R和所述环R的理想 q,生成所述环R的元f, g和作为f (modq)的逆数的元Fq,并生成与所 述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥,生成满足 fxG-gxF=q且范数比预先提供的预定值小的作为所述元R的元的对的多个 解(F,G) = (F_l, G_l), (F—2, G_2), ... (F_u, G—u) (u是比l大的 正整数),并将多个所述元的4个组(f,g,F—1,G_1), (f,g,F_2,G—2),... (f,g, F一u, G—u)分别作为所述私钥生成;签名生成步骤,使用所述私钥来生成 对所述消息数据的所述签名数据;和签名验证步骤,使用所述公钥来验证所 述签名数据。这里,所述私钥选择步骤也可从所述私钥群中包含的多个所述私钥中随
机选择一个所述私钥。本发明是使签名生成装置执行的计算机程序,该签名生成装置使用多个 私钥可对应于一个公钥的签名方式来生成对消息数据的签名数据,其特征在 于,使所述签名生成装置执行私钥存储步骤,存储所述私钥;公钥证书存 储步骤,存储所述公钥或所述公钥的证书的某一个;签名生成步骤,使用所 述私钥,来生成对所述消息数据的所述签名数据;和私钥更新步骤,更新所 述私钥,使其与所述公钥对应。这里,所述签名方式也可包含密钥生成步骤,对作为定义了表示相加、 相减、相乘和元的大小的范数的N维阵列的集合的环R和所述环R的理想 q,生成所述环R的元f, g和作为f (modq)的逆数的元Fq,并生成与所 述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥,生成满足 fxG-gxF-q且范数比预先提供的预定值小的作为所述元R的元的对(F,G), 并将所述元的4个组(f,g,F, G)作为所述私钥生成;签名生成步骤,使用 所述私钥来生成对所述消息数据的所述签名数据;和签名验证步骤,使用所 述公钥来验证所述签名数据。本发明是使用多个私钥可对应于一个公钥的签名方式来生成对消息数据 的签名数据的签名生成装置的集成电路,其特征在于,包括私钥群存储部, 存储由多个所述私钥构成的私钥群;公钥证书存储部,存储所述公钥或所述 公钥的证书的某一个;私钥选择部,从所述私钥群中包含的多个所述私钥中 选择一个所述私钥;和签名生成部,使用所选择出的所述私钥,来生成对所 述消息数据的所述签名数据。本发明是使用多个私钥可对应于一个公钥的签名方式来生成对消息数据 的签名数据的签名生成装置的集成电路,其特征在于,包括私钥存储部, 存储所述私钥;公钥证书存储部,存储所述公钥或所述公钥的证书之一;签 名生成部,使用所述私钥,来生成对所述消息数据的所述签名数据;和私钥 更新部,更新所述私钥,使其与所述公钥对应。产业上的可利用性根据上述所述的数字签名系统的结构,可以防止抄本攻击。 构成上述所述的数字签名系统的各装置在电器设备制造产业中,可以经 营性地、持续和反复地制造、销售。
权利要求
1、一种签名生成装置,生成对消息数据的签名数据,其特征在于具有私钥取得单元,通过预定的取得方法,来取得使用多个私钥对应一个公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名中使用的私钥不同的另一个私钥;以及签名生成单元,使用所取得的所述另一个私钥,对所述消息数据实施基于所述签名方式的签名方法的签名,来生成签名数据。
2、 根据权利要求1所述的签名生成装置,其特征在于 所述预定的取得方法是指随机取得多个私钥中的一个私钥; 所述私钥取得单元随机取得所述多个私钥中的与前次签名所利用的私钥不同的所述另一个私钥。
3、 根据权利要求1所述的签名生成装置,其特征在于 所述私钥取得单元存储所述多个私钥,通过所述预定的取得方法,从存储的所述多个私钥中取得所述另 一个私钥。
4、 根据权利要求3所述的签名生成装置,其特征在于 所述签名方式是使用了格的签名方式;所述私钥取得单元存储通过使用了所述格的签名方式的私钥生成方法 生成的所述多个私钥。
5、 根据权利要求4所述的签名生成装置,其特征在于 所述签名方式是NTRU签名方式;包含公钥生成步骤,对作为定义了表示相加、相减、相乘和元的大小的范数 的N维阵列的集合的环R和所述环R的理想q,生成所述环R的元f, g和 作为f (mod q)的逆数的元Fq,并生成与所述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥;私钥生成步骤,生成满足fxG-gxF=q且范数比预先提供的预定值小的 作为所述环R的元的对的多个解(F,G)-(F—1,G—1), (F_2,G_2),... (F—u, G—u),其中u是比l大的正整数,并生成多个所述元的4个组(f,g, F—1, G_l), (f,g,F—2, G_2), ... (f,g,F_u, G_u)的各个来作为所述私钥;签名生成步骤,使用所生成的所述多个私钥中的一个私钥,来生成签名 数据;所述私钥取得单元存储的所述多个私钥通过所述私钥步骤生成; 所述签名生成单元通过所述签名生成步骤来生成所述签名数据。
6、 根据权利要求5所述的签名生成装置,其特征在于所述签名生成装髯包含密钥生成装置,该密钥生成装置使用所述签名方 式来生成所述公钥和所述多个私钥。
7、 根据权利要求3所述的签名生成装置,其特征在于 所述预定的取得方法是指,随机取得多个私钥中的一个私钥; 所述密钥取得单元从所存储的所述多个私钥中随机取得与前次签名所利用的私钥不同的所述另 一个私钥。
8、 根据权利要求3所述的签名生成装置,其特征在于 所述预定的取得方法是指,根据存储的顺序来取得多个私钥中的一个私钥;所述密钥取得单元,根据存储所述多个私钥的顺序,来取得与前次签名 所利用的私钥不同的所述另 一个私钥。
9、 根据权利要求.l所述的签名生成装置,其特征在于 所述预定的取得方法是指,通过所述密钥生成方法来生成并取得多个私钥中与前次签名所利用的私钥不同的另 一个私钥;所述密钥取得单元,与所述一个公钥相对应,存储通过所述签名方式生 成的第一私钥,在利用了所述第一私钥后,通过所述密钥生成方法来生成与 所述一个公钥对应的第二私钥,将存储的所述第一私钥更新为所生成的所述 第二私钥,在所述签名数据的生成时,取得存储的所述第二私钥来作为所述 一个私钥。
10、 一种密钥生成装置,生成对消息数据的签名数据的生成和验证中所 使用的密钥,其特征在于, 包括公钥生成单元,通过多个私钥对应于一个公钥的签名方式来生成所述一 个公钥;以及私钥生成单元,通过所述签名方式来生成与所述一个公钥对应的多个私钥。
11、根据权利要求10所述的密钥生成装置,其特征在于 所述签名方式是使用了格的方式;所述公钥生成单元通过所述签名方式来生成所述公钥; 所述私钥生成单元通过所述签名方式来生成所述多个私钥。
12、根据权利要求ll所述的密钥生成装置,其特征在于所述签名方式是NTRU签名方式;包含公钥生成步骤,对作为定义了表示相加、相减、相乘和元的大小的范数 的N维阵列的集合的环R和所述环R的理想q,生成所述环R的元f, g和 作为f (mod q)的逆数的元Fq,并生成与所述元g和所述元Fq的积在mod q下同余的元h来作为所述公钥;以及私钥生成步骤,生成满足fxG-gxF=q且范数比预先提供的预定值小的 作为所述环R的元的对的多个解(F,G)-(F—1,G_1), (F_2,G_2),... (F_u, G一u),其中u是比l大的正整数,并生成多个所述元的4个组(f,g,F一l, G_l), (f,g,F_2, G—2), ... (f,g,F_u, G_u)的各个来作为所述私钥;所述公钥生成单元通过所述公钥生成步骤来生成所述公钥;所述私钥生成单元通过所述私钥生成步骤来生成所述多个私钥。
13、 一种签名系统,包括生成对消息数据的签名数据的签名生成装置和 进行签名的验证的签名验证装置,其特征在于所述签名生成装置具有私钥取得单元,通过预定的取得方法,来取得使用多个私钥对应于一个 公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用 的私钥不同的另一个私钥;以及签名生成单元,使用所取得的所述另一个私钥,来对所述消息数据施加 基于所述签名方式的签名方法的签名,而生成签名数据;所述签名验证装置具有验证单元,使用所述公钥,来验证所述签名数据。
14、 一种签名生成方法,在生成对消息数据的签名数据的签名生成装置 中使用,其特征在于,包括私钥取得步骤,通过预定的取得方法,来取得使用多个私钥对应于一个 公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用 的私钥不同的另一个私钥;以及签名生成步骤,使用所取得的所述另一个私钥,来对所述消息数据施加 基于所述签名方式的签名方法的签名,而生成签名数据。
15、 一种签名生成程序,在生成对消息数据的签名数据的签名生成装置 中使用,其特征在于,包括私钥取得步骤,通过预定的取得方法,来取得使用多个私钥对应于一个 公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用 的私钥不同的另一个私钥;以及签名生成步骤,使用所取得的所述另一个私钥,来对所述消息数据施加 基于所述签名方式的签名方法的签名,而生成签名数据。
16、 根据权利要求15所述的签名生成程序,其特征在于 所述签名生成程序被记录在计算机可读取的记录介质中。
17、 一种密钥生成方法,在生成对消息数据的签名数据的生成和验证中 所使用的密钥的密钥生成装置中使用,其特征在于,包括公钥生成步骤,通过多个私钥对应于一个公钥的签名方式来生成所述一个公钥;以及私钥生成步骤,通过所述签名方式来生成与所述一个公钥对应的多个私钥。
18、 一种密钥生成程序,在生成对消息数据的签名数据的生成和验证中所使用的密钥的密钥生成装置中使用,其特征在于,包括公钥生成步骤,通过多个私钥对应于一个公钥的签名方式来生成所述一 个公钥;以及私钥生成步骤,通过所述签名方式来生成与所述一个公钥对应的多个私钥。
19、 根据权利要求18所述的密钥生成程序,其特征在于 所述密钥生成程序被记录在计算机可读取的记录介质中。
20、 一种集成电路,其是生成对消息数据的签名数据的签名生成装置的 集成电路,其特征在于,包括私钥取得单元,通过预定的取得方法,来取得使用多个私钥对应于一个 公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用 的私钥不同的另一个私钥;以及签名生成单元,使用所取得的所述另一个私钥,来对所述消息数据施加 基于所述签名方式的签名方法的签名,而生成签名数据。
21、 一种集成电路,其是生成对消息数据的签名数据的生成和验证中所 使用的密钥的密钥生成装置的集成电路,其特征在于, 具有公钥生成单元,通过多个私钥对应于一个公钥的签名方式来生成所述一 个公钥;以及私钥生成单元,通过所述签名方式来生成与所述一个公钥对应的多个私钥。
全文摘要
本发明提供一种可防止对签名数据的抄本攻击的签名生成装置。生成对消息数据的签名数据的签名生成装置通过预定的取得方法来取得使用多个私钥对应于一个公钥的签名方式的密钥生成方法生成的所述多个私钥中与前次签名所利用的私钥不同的另一个私钥;使用所取得的所述另一个私钥,对所述消息数据实施基于所述签名方式的签名方法的签名,来生成签名数据。
文档编号H04L9/14GK101107809SQ200680003040
公开日2008年1月16日 申请日期2006年1月17日 优先权日2005年1月24日
发明者大森基司, 布田裕一, 矶边秀司, 长谷川真吾, 静谷启树 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1