專利名稱:簽名生成裝置、密鑰生成裝置和簽名生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及作為信息安全技術(shù)的加密技術(shù),尤其涉及數(shù)字簽名技術(shù)。
背景技術(shù):
作為從接收裝置向發(fā)送裝置發(fā)送數(shù)據(jù)時(shí)的發(fā)送者的特定和防止數(shù)據(jù)篡 改用的技術(shù),有作為公鑰加密的一種的數(shù)字簽名方式。若對(duì)它進(jìn)行簡單說明, 則為發(fā)送裝置對(duì)想要發(fā)送的數(shù)據(jù)使用發(fā)送裝置的私鑰來生成簽名數(shù)據(jù),將簽 名數(shù)據(jù)與想要發(fā)送的數(shù)據(jù)一起發(fā)送到接收裝置,接收裝置使用與發(fā)送裝置的 私鑰對(duì)應(yīng)的公鑰來驗(yàn)證簽名數(shù)據(jù),并判斷是否進(jìn)行了篡改的方法(例如,參 考非專利文獻(xiàn)l)。這里,從公鑰計(jì)算私鑰的值很困難。
最近,作為可高速處理的公鑰加密,提出了NTRU加密(例如參考非 專利文獻(xiàn)2)。由于該NTRU加密與在某個(gè)規(guī)則下進(jìn)行冪乘求余運(yùn)算的RSA 加密和進(jìn)行橢圓曲線上點(diǎn)的標(biāo)量乘運(yùn)算的橢圓曲線加密相比,可通過可進(jìn)行 高速運(yùn)算的多項(xiàng)式運(yùn)算來進(jìn)行加密和解密,所以與現(xiàn)有的公鑰加密相比可以 進(jìn)行高速處理,在軟件的處理中也可在實(shí)用的時(shí)間中加以處理。
因此,在公鑰加密中使用了NTRU加密的加密通信系統(tǒng)中,與使用了 現(xiàn)有的公鑰加密的加密通信系統(tǒng)相比,有可高速進(jìn)行發(fā)送裝置和接收裝置的 處理的優(yōu)點(diǎn)。
上述提案的方式是加密數(shù)據(jù)的保密加密方式,之后,提出了NTRU加 密的數(shù)字簽名方式(參考非專利文獻(xiàn)3)。對(duì)于數(shù)字簽名方式,因密碼分析 法的出現(xiàn)等,改變了幾次方式。下面,簡單說明稱作NTRUSign的數(shù)字簽名 方式(對(duì)于細(xì)節(jié),參考專利文獻(xiàn)2和非專利文獻(xiàn)4)。
在NTRUSign簽名方式的密鑰生成中,將多項(xiàng)式X"N-1作為除數(shù),并使
用屬于具有整數(shù)系數(shù)的多項(xiàng)式的環(huán)R的多個(gè)元和環(huán)R的理想,來生成密鑰 和公鑰。這里,"X、"是指X的a次冪。NTRUSign簽名方式中的對(duì)消息的 簽名中,使用所生成的密鑰和作為消息的散列值的2W維的向量。NTRUSign 簽名方式中的簽名驗(yàn)證中,使用公鑰、對(duì)消息的簽名和作為消息的散列值的 2-N維的向量。非專利文獻(xiàn)4和非專利文獻(xiàn)5中對(duì)通過NTRUSign簽名方式 中使用的環(huán)和環(huán)的理想進(jìn)行了記載,所以這里省略說明。
<NTRUSign簽名方式> (1) NTRUSign簽名方式的參數(shù)
NTRUSign簽名方式使用非負(fù)整數(shù)參數(shù)N、 q、 df、 dg、 Normbound。下 面,說明這些參數(shù)的含義。 (l一l)參數(shù)N
NTRUSign簽名方式是通過多項(xiàng)式運(yùn)算來進(jìn)行簽名生成和簽名驗(yàn)證的數(shù) 字簽名方式。通過NTRUSign簽名方式處理的多項(xiàng)式的次數(shù)通過上述參數(shù)N 來決定。
通過NTRUSign簽名方式處理的多項(xiàng)式是相對(duì)上述參數(shù)N,為N-l次以 下的整數(shù)系數(shù)多項(xiàng)式,例如,在N-5時(shí),為X'4+X, + 1等的多項(xiàng)式。另 外,對(duì)多項(xiàng)式實(shí)施(modX"N—l)運(yùn)算,而通常算出由N-1次以下構(gòu)成的 整數(shù)系數(shù)多項(xiàng)式。這是因?yàn)橥ㄟ^實(shí)施(modX'N—l)運(yùn)算,X'N-1的關(guān)系 式成立,所以對(duì)N次以上的變量,通??梢宰儞Q為N-1次以下的變量。這 里,可以看出通過對(duì)多項(xiàng)式實(shí)施(modX'N—1)運(yùn)算得到的整數(shù)系數(shù)多項(xiàng) 式為多項(xiàng)式環(huán)R的元。.
公鑰h、簽名s都表現(xiàn)為N-l次以下的多項(xiàng)式。另外,密鑰是4個(gè)N-1 次以下的多項(xiàng)式對(duì)(f,g,F,G)。即,f、 g、 F、 G任何一個(gè)都是N—l次以下 的多項(xiàng)式,是多項(xiàng)式環(huán)R的元。下面,將4個(gè)組(f, g, F, G)中兩個(gè)對(duì) (f, g)、 (F, G)進(jìn)一步成對(duì),有時(shí)標(biāo)記為((f, g) , (F, G) }。
并且,多項(xiàng)式運(yùn)算對(duì)上述參數(shù)N,使用X"N-1的關(guān)系式,進(jìn)行運(yùn)算, 使得運(yùn)算結(jié)果總是N-1次以下的多項(xiàng)式。例如,在N-5的情況下,多項(xiàng)式 X一4+X,+l和多項(xiàng)式X3+X的積在設(shè)多項(xiàng)式和多項(xiàng)式的積為x,整數(shù)和多
項(xiàng)式的積(或整數(shù)和整數(shù)的積)為,時(shí),根據(jù)X,-1的關(guān)系,通??梢赃\(yùn)算 為N-1次以下的多項(xiàng)式,而使其為 (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次的多項(xiàng)式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)是多項(xiàng)式a的系數(shù),是整數(shù)。 (l一2)參數(shù)q
NTRUSign簽名方式中,使用為2以上的整數(shù),作為多項(xiàng)式環(huán)R的理想 的參數(shù)q。 NTRUSign簽名方式中出現(xiàn)的多項(xiàng)式的系數(shù)取以q為除數(shù)的余數(shù)。 (1-3)參數(shù)df, dg
作為在NTRUSign簽名方式中進(jìn)行處理的私鑰的一部分的多項(xiàng)式f和生 成作為公鑰的多項(xiàng)式h時(shí)與多項(xiàng)式f一起使用的多項(xiàng)式g的選擇方法分別通 過df、 dg來決定。
首先,選擇多項(xiàng)式f,使其df個(gè)系數(shù)是l,且其他系數(shù)是0。即,多項(xiàng)式 f是N-l次以下的多項(xiàng)式,從0次(常數(shù)項(xiàng))到N-1次有N個(gè)系數(shù),但是選 擇為這N個(gè)系數(shù)中,df個(gè)系數(shù)是l,且(N-df)個(gè)系數(shù)為O。
并且,選擇多項(xiàng)式g,使其dg個(gè)系數(shù)是l,且其他系數(shù)是O。 (l一4)參數(shù)Normbound
NTRUSign簽名方式中,如后所述,計(jì)算由簽名s生成的2*N維向量和作 為消息的散列值的2*N維向量的距離,并通過該距離來判斷是否是正當(dāng)?shù)暮?名。Normbound是該判斷時(shí)使用的閾值。即,若上述距離小于Normbound, 則作為正當(dāng)?shù)暮灻芾恚羰荖ormbound以上,則作為不正當(dāng)?shù)暮灻芙^。
在非專利文獻(xiàn)4中,作為NTRUSign簽名方式的參數(shù)的例子,舉出(N,q, df, dg, Normbound) = (251, 128, 73, 71, 310)的例子。 (2)消息的散列值、范數(shù)和向量之間的距離
NTRUSign簽名方式中,生成對(duì)消息m的散列值的簽名。消息m的散列 值是N次的多項(xiàng)式對(duì)(ml, m2),看作與維的向量相同。非專利文獻(xiàn)1 詳述了從消息中求出散列值的散列函數(shù)。
NTRUSign簽名方式中,簽名驗(yàn)證使用向量的距離。下面,表示其定義。 如下這樣來定義多項(xiàng)式a-a—0+a—l'X+a_20T2+...+a—(N-l)OC(N-l) 的范數(shù)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的平方根。
如下這樣來定義多項(xiàng)式a、 b的對(duì)(a,b)的范數(shù)|| (a,b) ||。 II (a,b) l卜sqrt(lla『2+網(wǎng),)
用H(c-d,d-b)l沐定義多項(xiàng)式a,b的對(duì)(a,b)和c,d的對(duì)(c,d)的距離。
由此,通過實(shí)施(modX^T-1)運(yùn)算得到的N-1次以下的整數(shù)系數(shù)多項(xiàng)式 可以看作定義了表示相加、相減、相乘和元的大小的范數(shù)的N維陣列,多 項(xiàng)式環(huán)R可以看作N維陣列的集合。
(3) NTRUSign簽名方式的密鑰生成
NTRUSign簽名方式中,如上所述,使用參數(shù)df、 dg來隨機(jī)生成多項(xiàng)式 f、多項(xiàng)式g。并且,如非專利文獻(xiàn)4所記載的那樣,使用作為Fqxf-l (mod q)的多項(xiàng)式Fq,通過
h=Fqxg (modq),
來生成多項(xiàng)式h。這里,多項(xiàng)式Fq稱作多項(xiàng)式f的逆元。進(jìn)一步,求出 滿足下面的式子的范數(shù)小的多項(xiàng)式F, G。 fxG—gxF=q
將私鑰設(shè)作((f,g) , (F,G) },將公鑰設(shè)作h。私鑰是生成簽名用的密鑰, 也稱作簽名生成密鑰。公鑰是驗(yàn)證簽名用的密鑰,也稱作簽名驗(yàn)證密鑰。
這里,x=y(mod q)是將多項(xiàng)式y(tǒng)的第i次系數(shù)除以除數(shù)q以使得余數(shù)在0 到q-l的范圍內(nèi)時(shí)的余數(shù)作為多項(xiàng)式x的第i次系數(shù)的運(yùn)算(03^N-l)。艮P, 是將多項(xiàng)式y(tǒng)的各系數(shù)modq運(yùn)算后,使其在0到(q-1)的范圍內(nèi)的多項(xiàng)
式作為多項(xiàng)式X的運(yùn)算。
(4) NTRUSign簽名方式的簽名生成
NTRUSign簽名方式的簽名生成中,計(jì)算作為簽名對(duì)象的消息m的簽名 s。首先,計(jì)算作為對(duì)消息m的散列值的2'N維向量(ml,m2) (ml和m2 是N次多項(xiàng)式)。
使用該2'N維向量(ml, m2)和私鑰{ (f,g) ,(F,G)},來計(jì)算滿足下面 式子的多項(xiàng)式a, b, A, B。 Gxml—Fxm2-A+qxB —gxml+fxm2=a+qxb
這里,設(shè)A, a的系數(shù)取用除數(shù)q相除時(shí),使其在<力/2>+1到〈q》的范 圍內(nèi)的余數(shù)。艮P,在用除數(shù)q相除后的余數(shù)在〈q/2〉到q-l的情況下,進(jìn)行 調(diào)整,使其減去q,而在上述范圍中。這里,〈x〉表示x以下的數(shù)中最大的 數(shù)。例如,<一1/2〉=一1
下面,從下面的式子中計(jì)算s, t,并將s作為簽名輸出。
s=fxB+Fxb (modq)
t=gxB+Gxb (modq)
(5) NTRUSign簽名方式的簽名驗(yàn)證
NTRUSign簽名方式的簽名生成中,驗(yàn)證簽名s是否是作為簽名對(duì)象的消 息m的正當(dāng)簽名。首先,計(jì)算作為對(duì)消息m的散列值的2W維向量(ml, m2)。
使用公鑰h,從下面的式子中計(jì)算多項(xiàng)式t。 t=sxh (modq)
求出2'N維向量(s,t)和(ml,m2)的距離,并驗(yàn)證是否小于Normbound。 若小于Normbound,則判斷為簽名s正當(dāng),而受理簽名s。若是Noraibound 以上,則判斷為簽名s不正當(dāng),而拒絕簽名s。
專利文獻(xiàn)l:日本人特表2000—516733號(hào)公報(bào)
專利文獻(xiàn)2:國際公開號(hào)WO2003/050998號(hào)
非專利文獻(xiàn)l:岡本龍明、山本博資、"現(xiàn)代加密",產(chǎn)業(yè)圖書(1997年)
非專利文獻(xiàn)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.
非專利文獻(xiàn)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.
非專利文獻(xiàn)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.
非專利文獻(xiàn)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日檢索"、因特網(wǎng) <URL:http:〃www.ntru.com/crvptolab/pdd/NTRUSign-preV2.pdf>
上述的NTRUSign簽名方式有稱作抄本攻擊(transcript attack)的攻擊。 抄本攻擊是從多個(gè)簽名文(消息和簽名的對(duì))求出私鑰的攻擊。由于抄本攻 擊的細(xì)節(jié)記載在非專利文獻(xiàn)4中,所以這里在下面進(jìn)行簡單說明。
抄本攻擊利用多個(gè)簽名s和消息的散列值(ml,m2)的一部分ml的差值 ml-s為ml-s-elxf+e2xF, el,e2是系數(shù)在一1/2到1/2的范圍內(nèi)的多項(xiàng)式 的性質(zhì),來取差值ml-s的2次矩和4次矩的平均值,而求出作為私鑰的一 部分的f,F(xiàn)。這里,多項(xiàng)式&的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(chǎn)一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, 若簽名文的個(gè)數(shù)增加,則ml-s的二次矩的平均中包含的e1 ,e2 收斂 于某一定值kl, k2,上述式elxfxe2*xF*和e2xFXel*xf*接近于0。因此, 在簽名文的個(gè)數(shù)大的情況下,ml-s的2次矩的平均大致等于klxf 十
進(jìn)一步,4次矩的平均也同樣得到與f和F相關(guān)的信息,而可從兩 者的信息中求出f。若根據(jù)非專利文獻(xiàn)4,貝lj為了從2次矩和4次矩的平均 得到與私鑰有關(guān)的信息而需要的簽名文的個(gè)數(shù)分別是1(T4、 1(T8。因此,為 了使NTRUSign簽名方式的抄本攻擊成功,認(rèn)為需要1(T8個(gè)以上的簽名文。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種可以防止對(duì)簽名數(shù)據(jù)的抄本攻擊的簽名生成 裝置、密鑰生成裝置、簽名系統(tǒng)、簽名生成方法、簽名驗(yàn)證程序、簽名驗(yàn)證 方法、密鑰生成程序、簽名生成用的集成電路和密鑰生成用的集成電路。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名 生成裝置,其特征在于具有私鑰取得單元,通過預(yù)定的取得方法,來取 得使用多個(gè)私鑰對(duì)應(yīng)一個(gè)公鑰的簽名方式的密鑰生成方法生成的所述多個(gè) 私鑰中與前次簽名中使用的私鑰不同的另一個(gè)私鑰;以及簽名生成單元,使 用所取得的所述另一個(gè)私鑰,對(duì)所述消息數(shù)據(jù)實(shí)施基于所述簽名方式的簽名 方法的簽名,來生成簽名數(shù)據(jù)。
發(fā)明的效果
根據(jù)上述所述的結(jié)構(gòu),簽名生成裝置取得與一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰中 與前次簽名所利用的私鑰不同的另一個(gè)私鑰。由此,執(zhí)行抄本攻擊的攻擊者 即使獲得簽名數(shù)據(jù),來試著進(jìn)行抄本攻擊,也不清楚獲得的簽名數(shù)據(jù)通過前 次簽名所利用的私鑰和這次的簽名所利用的私鑰中的哪一個(gè)進(jìn)行了簽名,所 以簽名生成裝置可以防止對(duì)簽名數(shù)據(jù)的抄本攻擊。
這里,可以是,所述預(yù)定的取得方法是指隨機(jī)取得多個(gè)私鑰中的一個(gè)私 鑰;所述私鑰取得單元隨機(jī)取得所述多個(gè)私鑰中的與前次簽名所利用的私鑰 不同的所述另一個(gè)私鑰。
根據(jù)該結(jié)構(gòu),簽名生成裝置從多個(gè)私鑰中隨機(jī)取得與前次的簽名所利用 的私鑰不同的另一個(gè)私鑰,所以執(zhí)行抄本攻擊的攻擊者即使獲得簽名數(shù)據(jù), 想要進(jìn)行抄本攻擊,也不知道獲得的簽名數(shù)據(jù)通過哪個(gè)私鑰來生成,所以簽 名生成裝置可以防止對(duì)簽名數(shù)據(jù)的抄本攻擊。
這里,可以是,所述私鑰取得單元存儲(chǔ)所述多個(gè)私鑰,通過所述預(yù)定的 取得方法來從存儲(chǔ)的所述多個(gè)私鑰中取得所述另一個(gè)私鑰。
根據(jù)該結(jié)構(gòu),由于簽名生成裝置從存儲(chǔ)的多個(gè)私鑰中取得所述另一個(gè)私 鑰,所以可以可靠取得與所述一個(gè)公鑰對(duì)應(yīng)的私鑰。
這里,可以是,所述簽名方式是使用了格的簽名方式;所述私鑰取得單 元存儲(chǔ)通過使用了所述格的簽名方式的私鑰生成方法生成的所述多個(gè)私鑰。
根據(jù)該結(jié)構(gòu),使用了格的密鑰生成和進(jìn)行簽名生成的簽名方式因格的性 質(zhì),可以對(duì)一個(gè)公鑰生成多個(gè)私鑰。由此,簽名生成裝置可以存儲(chǔ)相對(duì)于一 個(gè)公鑰的多個(gè)私鑰。
這里,可以是,所述簽名方式是NTRU簽名方式;包含公鑰生成步 驟,對(duì)作為定義了表示相加、相減、相乘和元的大小的范數(shù)的N維陣列的 集合的環(huán)R和所述環(huán)R的理想q,生成所述環(huán)R的元f, g和作為f (mod q) 的逆數(shù)的元Fq,并生成與所述元g和所述元Fq的積在mod q下同余的元h 來作為所述公鑰;私鑰生成步驟,生成滿足fxG-gxF=q且范數(shù)比預(yù)先提供 的預(yù)定值小的作為所述環(huán)R的元的對(duì)的多個(gè)解(F,G) = (F一l, G一l), (F一2, G_2), ... (F一u, G一u),其中u是比1大的正整數(shù),并將多個(gè)所述元的4 個(gè)組(f,g,F(xiàn)_l, G_l), (f,g, F_2, G_2), ... (f,g, F_u, G_u)的各個(gè)作為 所述私鑰生成;簽名生成步驟,使用所生成的所述多個(gè)私鑰中的一個(gè)私鑰, 來生成簽名數(shù)據(jù);所述私鑰取得單元存儲(chǔ)的所述多個(gè)私鑰通過所述私鑰步驟 生成;所述簽名生成單元通過所述簽名生成步驟來生成所述簽名數(shù)據(jù)。
根據(jù)該結(jié)構(gòu),簽名方式使用環(huán)R和理想q,來生成公鑰和與該公鑰對(duì)應(yīng) 的多個(gè)私鑰,并使用所生成的多個(gè)私鑰中的一個(gè)私鑰來進(jìn)行簽名,所以所述 簽名生成裝置通過使用所述簽名方式,從而能夠使用與公鑰對(duì)應(yīng)的私鑰來可 靠進(jìn)行簽名。
這里,可以是,所述簽名生成裝置包含密鑰生成裝置,該密鑰生成裝置 使用所述簽名方式來生成所述公鑰和所述多個(gè)私鑰。
根據(jù)該結(jié)構(gòu),簽名生成裝置可以使用該裝置中包含的密鑰生成裝置來生 成所述公鑰和所述多個(gè)私鑰。 這里,可以是,所述預(yù)定的取得方法是指,隨機(jī)取得多個(gè)私鑰中的一個(gè)私鑰;所述密鑰取得單元從所存儲(chǔ)的所述多個(gè)私鑰中隨機(jī)取得與前次簽名所 利用的私鑰不同的所述另一個(gè)私鑰。根據(jù)該結(jié)構(gòu),由于簽名生成裝置從存儲(chǔ)的多個(gè)私鑰中隨機(jī)選擇與前次的 簽名所利用的私鑰不同的所述另一個(gè)私鑰,所以可以提高對(duì)抄本攻擊的防 御。這里,可以是,所述預(yù)定的取得方法是指,根據(jù)存儲(chǔ)的順序來取得多個(gè)私鑰中的一個(gè)私鑰;所述密鑰取得單元,根據(jù)存儲(chǔ)所述多個(gè)私鑰的順序,來取得與前次簽名所利用的私鑰不同的所述另一個(gè)私鑰。根據(jù)該結(jié)構(gòu),簽名生成裝置按每個(gè)簽名數(shù)據(jù),分開使用簽名所使用的私 鑰,所以可以提高對(duì)抄本攻擊的防御。這里,可以是,所述預(yù)定的取得方法是指,通過所述密鑰生成方法來生成并取得多個(gè)私鑰中與前次簽名所利用的私鑰不同的另一個(gè)私鑰;所述密鑰 取得單元,與所述一個(gè)公鑰相對(duì)應(yīng),存儲(chǔ)通過所述簽名方式生成的第一私鑰,在利用了所述第一私鑰后,通過所述密鑰生成方法來生成與所述一個(gè)公鑰對(duì) 應(yīng)的第二私鑰,將存儲(chǔ)的所述第一私鑰更新為所生成的所述第二私鑰,在所 述簽名數(shù)據(jù)的生成時(shí),將存儲(chǔ)的所述第二私鑰作為所述一個(gè)私鑰來取得。根據(jù)該結(jié)構(gòu),簽名生成裝置在第一私鑰利用后,將所述第一私鑰更新為 所述第二私鑰,所以在生成所述簽名數(shù)據(jù)時(shí),可以可靠使用與所述第一私鑰 不同的第二私鑰。本發(fā)明提供一種密鑰生成裝置,生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的生成和驗(yàn) 證中所使用的密鑰,其特征在于,包括公鑰生成單元,通過多個(gè)私鑰對(duì)應(yīng) 于一個(gè)公鑰的簽名方式來生成所述一個(gè)公鑰;以及私鑰生成單元,通過所述 簽名方式來生成與所述一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰。根據(jù)該結(jié)構(gòu),密鑰生成裝置生成一個(gè)公鑰和與所述公鑰對(duì)應(yīng)的多個(gè)私 鑰。這時(shí),若進(jìn)行簽名的裝置在簽名時(shí)使用所述多個(gè)私鑰中的一個(gè)私鑰,則 執(zhí)行抄本攻擊的攻擊者即使獲得簽名后的數(shù)據(jù),想要進(jìn)行抄本 以防止對(duì)簽名數(shù)據(jù)的抄本攻擊。
這里,可以是,所述簽名方式是使用了格的方式;所述公鑰生成單元通 過所述簽名方式來生成所述公鑰;所述私鑰生成單元通過所述簽名方式來生 成所述多個(gè)私鑰。根據(jù)該結(jié)構(gòu),密鑰生成裝置通過使用了格的簽名方式來進(jìn)行密鑰生成, 所以因格的性質(zhì),可以生成一個(gè)公鑰和對(duì)應(yīng)于所述公鑰的多個(gè)密鑰。
這里,可以是,所述簽名方式是NTRU簽名方式;包含公鑰生成步 驟,對(duì)作為定義了表示相加、相減、相乘和元的大小的范數(shù)的N維陣列的 集合的環(huán)R和所述環(huán)R的理想q,生成所述環(huán)R的元f, g和作為f (mod q) 的逆數(shù)的元Fq,并生成與所述元g和所述元Fq的積在mod q下同余的元h 來作為所述公鑰;以及私鑰生成步驟,生成滿足fxG-gxF=q且范數(shù)比預(yù)先 提供的預(yù)定值小的作為所述環(huán)R的元的對(duì)的多個(gè)解(F,G) = (F一l, G一l), (F—2, G_2), ... (F—u, G_n),其中u是比l大的正整數(shù),并將多個(gè)所述 元的4個(gè)組(f,g,F(xiàn)_l, G—1), (f,g, F_2, G_2), ... (f,g, F_u, G_u)的各 個(gè)作為所述私鑰生成;所述公鑰生成單元通過所述公鑰生成步驟來生成所述 公鑰;所述私鑰生成單元通過所述私鑰生成步驟來生成所述多個(gè)私鑰。
根據(jù)該結(jié)構(gòu),密鑰生成裝置可以通過使用簽名方式中包含的公鑰生成步 驟和私鑰生成步驟,來生成公鑰和與所述公鑰對(duì)應(yīng)的多個(gè)私鑰。
本發(fā)明提供一種簽名系統(tǒng),包括生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成 裝置和進(jìn)行簽名的驗(yàn)證的簽名驗(yàn)證裝置,其特征在于所述簽名生成裝置具 有私鑰取得單元,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè) 公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用的 私鑰不同的另一個(gè)私鑰;以及簽名生成單元,使用所取得的所述另一個(gè)私鑰, 來對(duì)所述消息數(shù)據(jù)施加基于所述簽名方式的簽名方法的簽名,而生成簽名數(shù) 據(jù);所述簽名驗(yàn)證裝置具有驗(yàn)證單元,使用所述公鑰,來驗(yàn)證所述簽名數(shù)據(jù)。 根據(jù)該結(jié)構(gòu),簽名系統(tǒng)通過簽名生成裝置來取得與一個(gè)公鑰對(duì)應(yīng)的多個(gè) 私鑰中與前次簽名所利用的私鑰不同的一個(gè)私鑰。由此,執(zhí)行抄本攻擊的攻 擊者即使獲得簽名數(shù)據(jù),想要進(jìn)行抄本攻擊,因不清楚獲得的簽名數(shù)據(jù)通過 前次簽名所利用的私鑰和這次簽名所利用的私鑰的哪一個(gè)來進(jìn)行簽名,所以 簽名生成裝置可以防止對(duì)簽名數(shù)據(jù)的抄本攻擊。另外,公鑰分別對(duì)應(yīng)于所述 多個(gè)私鑰,所以簽名驗(yàn)證裝置可以使用所述公鑰來驗(yàn)證使用所述多個(gè)私鑰中 的一個(gè)私鑰來生成的簽名數(shù)據(jù)。
圖1是表示數(shù)字簽名系統(tǒng)1的結(jié)構(gòu)框圖。圖2是表示在簽名生成裝置10進(jìn)行的簽名生成處理的動(dòng)作的流程圖。 圖3是表示在簽名驗(yàn)證裝置20進(jìn)行的簽名驗(yàn)證處理的動(dòng)作的流程圖。 圖4是表示在密鑰生成裝置30進(jìn)行的密鑰生成處理的動(dòng)作的流程圖。 圖5是表示在密鑰生成裝置30進(jìn)行的密鑰群生成處理的動(dòng)作的流程圖。 圖6是表示數(shù)字簽名系統(tǒng)1000的結(jié)構(gòu)框圖。圖7是表示在簽名生成裝置1010進(jìn)行的私鑰更新處理的動(dòng)作的流程圖。圖8是表示在簽名生成裝置1010進(jìn)行的簽名生成處理的動(dòng)作的流程圖。符號(hào)說明1數(shù)字簽名系統(tǒng)10簽名生成裝置20簽名驗(yàn)證裝置30密鑰生成裝置50通信路徑101私鑰群存儲(chǔ)部102公鑰證書存儲(chǔ)部103私鑰選擇部.104簽名生成部105簽名數(shù)據(jù)組生成部106發(fā)送部201 CA公鑰存儲(chǔ)部202簽名數(shù)據(jù)組存儲(chǔ)部 203簽名驗(yàn)證部 204接收部 205顯示部301證書生成密鑰存儲(chǔ)部302密鑰生成部303私鑰群生成部304證書生成部305密鑰設(shè)定部1000數(shù)字簽名系統(tǒng)1010簽名生成裝置1020簽名驗(yàn)證裝置1050通信路徑1101私鑰存儲(chǔ)部1102公鑰證書存儲(chǔ)部1103私鑰更新部1104簽名生成部1105簽名數(shù)據(jù)組生成部1106發(fā)送部1107顯示部1201 CA公鑰存儲(chǔ)部1202簽名數(shù)據(jù)組存儲(chǔ)部1203簽名驗(yàn)證部1204接收部1205顯示部
具體實(shí)施方式
下面,參考附圖來說明作為本發(fā)明的第一實(shí)施方式的數(shù)字簽名系統(tǒng)1。 1.1數(shù)字簽名系統(tǒng)1的概要
數(shù)字簽名系統(tǒng)1如圖1所示,包括簽名生成裝置10、簽名驗(yàn)證裝置20、 密鑰生成裝置30和通信路徑50。密鑰生成裝置30使用改進(jìn)了現(xiàn)有NTRUSign簽名方式后的改進(jìn) NTRUSign簽名方式,來進(jìn)行密鑰生成,而生成多個(gè)密鑰((f, g), (F—1, G_l) }, { (f, g), (F_2, G_2) },...和一個(gè)公鑰h。后面描述使用了改進(jìn) NTRUSign簽名方式的密鑰生成。公鑰h是與多個(gè)密鑰((f,g), (F一l,G一l)}, { (f, g), (F_2, G_2) },...完全對(duì)應(yīng)的公鑰。簽名生成裝置10使用在密鑰生成裝置30生成的多個(gè)密鑰中的一個(gè)密鑰 和改進(jìn)NTRUSign簽名方式,來生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)組SS,并經(jīng) 通信路徑50將所生成的簽名數(shù)據(jù)組SS發(fā)送到簽名驗(yàn)證裝置20。另外,后 面描述簽名數(shù)據(jù)組SS的結(jié)構(gòu)。簽名驗(yàn)證裝置20從簽名生成裝置10中接收簽名數(shù)據(jù)組SS,并使用改 進(jìn)NTRUSign簽名方式來驗(yàn)證所接收的簽名數(shù)據(jù)組SS是否是消息數(shù)據(jù)m的 正當(dāng)簽名。簽名驗(yàn)證裝置20在判斷為簽名數(shù)據(jù)組SS正當(dāng)?shù)那闆r下,受理簽 名數(shù)據(jù)組SS,在判斷為簽名數(shù)據(jù)組SS不正當(dāng)?shù)那闆r下,拒絕簽名數(shù)據(jù)組ss。改進(jìn)NTRUSign簽名方式的密鑰生成中,以多項(xiàng)式X"N-1為除數(shù),通過 使用屬于具有整數(shù)系數(shù)的多項(xiàng)式的環(huán)R的多個(gè)元和環(huán)R的理想,來生成一 個(gè)公鑰和與公鑰對(duì)應(yīng)的多個(gè)密鑰。在對(duì)改進(jìn)NTRUSign簽名方式的消息的簽 名中,使用一個(gè)密鑰和作為消息的散列值的2'N維向量。改進(jìn)NTRUSign簽 名方式的簽名驗(yàn)證中,使用公鑰、對(duì)消息的簽名和作為消息的散列值的2-N 維向量。由于非專利文獻(xiàn)4和非專利文獻(xiàn)5中對(duì)改進(jìn)NTRUSign簽名方式中使用的環(huán)和環(huán)的理想進(jìn)行了記載,所以這里省略說明。 下面,說明改進(jìn)NTRUSign簽名方式。 <改進(jìn)NTRUSign簽名方式> (1)改進(jìn)NTRUSign簽名方式的參數(shù)改進(jìn)NTRUSign簽名方式使用非負(fù)整數(shù)參數(shù)N、 q、 df, dg, Normbound。 這些參數(shù)的定義與現(xiàn)有的NTRUSign簽名方式相同。下面,說明這些參數(shù)的含義。(l一l)參數(shù)N改進(jìn)NTRUSign簽名方式是通過多項(xiàng)式的運(yùn)算來進(jìn)行簽名生成和簽名 驗(yàn)證的數(shù)字簽名方式。通過改進(jìn)NTRUSign簽名方式進(jìn)行處理的多項(xiàng)式次數(shù) 通過上述參數(shù)N來決定。通過改進(jìn)NTRUSign簽名方式處理的多項(xiàng)式是相對(duì)上述參數(shù)N為N-l 次以下的整數(shù)系數(shù)多項(xiàng)式,例如,在N-5時(shí),為X'4+X3 + 1等的多項(xiàng)式。 這里,"X^"是指X的a次冪。對(duì)多項(xiàng)式實(shí)施(modX'N—l)運(yùn)算,而通常 算出由N-1次以下構(gòu)成的整數(shù)系數(shù)多項(xiàng)式。這是因?yàn)橥ㄟ^實(shí)施(modX"N— 1)運(yùn)算,由于X"N-1的關(guān)系式成立,所以對(duì)N次以上的變量,通常可以 變換為N-1次以下的變量。這里,可知對(duì)多項(xiàng)式通過實(shí)施(modX'N—l) 運(yùn)算得到的整數(shù)系數(shù)多項(xiàng)式為多項(xiàng)式環(huán)R的元。公鑰h、簽名s都表現(xiàn)為N-l次以下的多項(xiàng)式。另外,密鑰是4個(gè)N-1 次以下的多項(xiàng)式對(duì)(f, g, F, G)。即,f, g, F, G任何一個(gè)都是N—1次 以下的多項(xiàng)式,是多項(xiàng)式環(huán)R的元。下面,將4個(gè)組(f,g,F(xiàn),G)中兩個(gè)對(duì)(f, g)、 (F, G)進(jìn)一步構(gòu)成對(duì),有時(shí)標(biāo)記為((f,g) , (F, G) }。并且,多項(xiàng)式運(yùn)算對(duì)上述參數(shù)N,使用X'N-1的關(guān)系式,并加以運(yùn)算, 使得運(yùn)算結(jié)果總是N-1次以下的多項(xiàng)式。例如,在N-5的情況下,多項(xiàng)式 X、+X,+l和多項(xiàng)式X'3+X的積在設(shè)多項(xiàng)式和多項(xiàng)式的積為x,設(shè)整數(shù)和 多項(xiàng)式的積(或整數(shù)和整數(shù)的積)為'時(shí),根據(jù)X,-1的關(guān)系,通??梢赃\(yùn) 算為N-1次以下的多項(xiàng)式,使其為 (XA4+X,+1) x (XA3+X)=X,.1+2.1+20T3+X =2.X'3+X'2+2。改進(jìn)NTRUSign簽名方式中,將N-l次多項(xiàng)式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)是多項(xiàng)式a的系數(shù),是整數(shù)。(1—2)參數(shù)q
改進(jìn)NTRUSign簽名方式中,使用2以上的整數(shù)、即作為多項(xiàng)式環(huán)R的 理想的參數(shù)q。改進(jìn)NTRUSign簽名方式中出現(xiàn)的多項(xiàng)式的系數(shù)取以q為除 數(shù)的余數(shù)。
(l一3)參數(shù)df, dg
在改進(jìn)NTRUSign簽名方式下處理的作為密鑰的一部分的多項(xiàng)式f和生 成作為公鑰的多項(xiàng)式h時(shí)與多項(xiàng)式f一起使用的多項(xiàng)式g的選擇方法分別通 過參數(shù)df、 dg來決定。
首先,選擇多項(xiàng)式f,使其df個(gè)系數(shù)是l,且其他系數(shù)是0。即,多項(xiàng)式 f是N-l次以下的多項(xiàng)式,從0次(常數(shù)項(xiàng))到N-1次,有N個(gè)系數(shù),但是 選擇為這N個(gè)系數(shù)中、df個(gè)系數(shù)是l、且(N-df)個(gè)系數(shù)為0。
并且,選擇多項(xiàng)式g,使其dg個(gè)的系數(shù)是l,且其他系數(shù)是0。 (1—4)參數(shù)Normbound改進(jìn)NTRUSign簽名方式中,如后所述,計(jì)算從簽名s生成的2W維向 量和作為消息的散列值的維向量的距離,并通過該距離來判斷是否是正 當(dāng)?shù)暮灻ormbound是該判斷時(shí)使用的閾值。即,若上述距離小于 Normbound,則受理為是正當(dāng)?shù)暮灻羰荖ormbound以上,則拒絕為不正 當(dāng)?shù)暮灻?。非專利文獻(xiàn)4中作為NTRUSign簽名方式的參數(shù)的例子,舉出(N,q, df, dg, Normbound) = (251, 128, 73, 71, 310)的例子。改進(jìn)NTRUSign 簽名方式中也可使用同樣的參數(shù)例。
(2)消息的散列值、范數(shù)和向量之間的距離
改進(jìn)NTRUSign簽名方式中,生成對(duì)消息m的散列值的簽名。消息m的 散列值是N次多項(xiàng)式對(duì)(ml, m2),看作與2,N維向量相同。非專利文獻(xiàn)1 詳述了從消息中求出散列值的散列函數(shù)。
改進(jìn)NTRUSign簽名方式中,使用與現(xiàn)有的NTRUSign簽名方式相同的 向量距離。下面,表示其定義。如下這樣來定義多項(xiàng)式a二aj)+a—l'X+a—20T2+...+a_(N-l)'X"(N-l)
的范數(shù)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的平方根。如下這樣來定義多項(xiàng)式a、 b的對(duì)(a,b)的范數(shù)H (a,b) ||。 II (a,b) ||=Sqrt(||a『2,『2)由ll(c-d,d-b)l沐定義多項(xiàng)式a,b的對(duì)(a,b)和c,d的對(duì)(c,d)的距離。由此,通過實(shí)施(modX'N-1)運(yùn)算得到的N-1次以下的整數(shù)系數(shù)多項(xiàng)式 可以看作定義了相加、相減、相乘和表示元的大小的范數(shù)的N維陣列,多 項(xiàng)式環(huán)R可以看作N維陣列的集合。(3)改進(jìn)NTRUSign簽名方式的密鑰生成改進(jìn)NTRUSign簽名方式中,如上所述,使用參數(shù)df、 dg來隨機(jī)生成多 項(xiàng)式f、多項(xiàng)式g。并且,使用作為Fqxf-l (modq)的多項(xiàng)式Fq,通過h=Fqxg (modq),來生成多項(xiàng)式h。這里,多項(xiàng)式Fq稱作多項(xiàng)式f的逆元。進(jìn)一步,求出 滿足下式的范數(shù)比預(yù)定值Keybound小的多項(xiàng)式F, G的對(duì)(F, G)。 fxG—gxF-q (*)接著,設(shè)他g),(F,G》作為私鑰((f,g),(FJ,GJ》,使用((f,g),(FJ,GJ)), 來求出多個(gè)滿足式(*)且范數(shù)比預(yù)定值Keybound小的其他對(duì)(F, G),而 設(shè)作(F—2,G-2), (F_3,G_3),……。這里,分別將{ (f,g) ,(F_1,G_1)}、 { (f,g) ,(FJ2,G_2)}、……設(shè)作私鑰,將包含這些私鑰的整體稱作私鑰群。 另外,將多項(xiàng)式h設(shè)作公鑰。這里,注意在現(xiàn)有的NTRUSign簽名方式中, 公鑰和私鑰是一個(gè), 一一對(duì)應(yīng),但是,在改進(jìn)NTRUSign簽名方式中,公鑰 是一個(gè),存在多個(gè)與該公鑰對(duì)應(yīng)的私鑰。另外,NTRUSign簽名方式中,若 對(duì)一個(gè)公鑰,存在上述(*)和范數(shù)比預(yù)定值Keybound小的多項(xiàng)式F, G的 對(duì)(F, G),則可能存在多個(gè)。在實(shí)施方式1和后述的實(shí)施方式2中,利用 該性質(zhì)。另外,預(yù)定值Keybound是可生成驗(yàn)證為是正當(dāng)?shù)暮灻暮灻麛?shù)據(jù)的作為
私鑰的(F, G)的范數(shù),在(N, q, df, dg ,Normbound) =(251 ,128,73,71,310) 的例子的情況下,例如Keybound-45。其根據(jù)非專利文獻(xiàn)5,是驗(yàn)證為使用 私鑰生成的簽名不正當(dāng)?shù)尿?yàn)證失敗概率為l(T ( — 12)以下用的(F, G)的 范數(shù)的邊界值。由于該范數(shù)的邊界值依賴于參數(shù)(N, q,df,dg,Normbound) 而變化,所以在上述例子之外的情況下,也可改變Keybound。具體的,預(yù) 定值Keybound可以是驗(yàn)證失敗概率為l(T (一12)以下用的(F, G)范數(shù) 的邊界值。該驗(yàn)證失敗概率可以是l(T (一15)等其他值。(4) 改進(jìn)NTRUSign簽名方式的簽名生成改進(jìn)NTRUSign簽名方式的簽名生成中,計(jì)算作為簽名對(duì)象的消息m的 簽名s。首先,從私鑰群中包含的多個(gè)私鑰中選擇一個(gè)私鑰"f,g), (FS,GS)}。接著,計(jì)算作為對(duì)消息m的散列值的2'N維向量(ml, m2) (ml和 m2是N次多項(xiàng)式)。使用該2'N維向量(ml,m2)和私鑰{ (f,g), (FS,GS) },來計(jì)算滿足下 面的式子的多項(xiàng)式a,b,A,B。GSxml —FSxm2=A+qxB一 gxml + fxm2 - a+qxb這里,設(shè)A, a的系數(shù)取用除數(shù)q相除時(shí)的余數(shù),使其在《q/2》1至^q/2〉 的范圍中。BP,在用除數(shù)q相除后的余數(shù)在〈q/2〉到q-l的情況下,使其減 去q,調(diào)整到上述范圍中。這里,〈x〉表示在x以下的數(shù)中最大的數(shù)。例如, <_1/2>=—1下面,從下面的式子中計(jì)算s、 t,并將s作為簽名輸出。 s=fxB+FSxb (modq) t=gxB+GSxb (modq)(5) 改進(jìn)NTRUSign簽名方式的簽名驗(yàn)證改進(jìn)NTRUSign簽名方式的簽名生成方法與現(xiàn)有的NTRUSign簽名方式 相同。首先,計(jì)算作為對(duì)消息m的散列值的2,N維向量(ml, m2)。 使用公鑰h,從下面的式子中計(jì)算多項(xiàng)式t。 t=sxh (modq)
求出2,N維向量(s,t)和(ml,m2)的距離,并驗(yàn)證是否小于Normbound。 若小于Normbound,則判斷為簽名s正當(dāng),而受理簽名s。若是Normbound 以上,則判斷為簽名s不正當(dāng),而拒絕簽名s。1.2簽名生成裝置10的結(jié)構(gòu)簽名生成裝置IO如圖1所示,由私鑰群存儲(chǔ)部101、公鑰證書存儲(chǔ)部102、 私鑰選擇部103、簽名生成部104、簽名數(shù)據(jù)組生成部105和發(fā)送部106構(gòu) 成。簽名生成裝置lO存儲(chǔ)通過上述的改進(jìn)NTRUSign簽名方式、由密鑰生成 裝置30生成的多個(gè)私鑰構(gòu)成的私鑰群和與公鑰對(duì)應(yīng)的公鑰證書,并使用私 鑰群中包含的一個(gè)私鑰,來生成對(duì)作為輸入的消息數(shù)據(jù)m的簽名數(shù)據(jù)S。(1) 私鑰群存儲(chǔ)部IOI私鑰群存儲(chǔ)部101具有存儲(chǔ)由通過密鑰生成裝置30生成的多個(gè)私鑰構(gòu)成 的私鑰群用的區(qū)域。在下面的說明中,設(shè)私鑰群存儲(chǔ)部101存儲(chǔ)由多個(gè)私鑰{ (f,g), (FJ,G一1) }, { (f,g) , (F_2,G_2) },…{ (f,g) , (F_u,G_u) }構(gòu)成的私 鑰群GKS。這里,u是私鑰群中包含的私鑰的個(gè)數(shù)。(2) 公鑰證書存儲(chǔ)部102公鑰證書存儲(chǔ)部102具有存儲(chǔ)公鑰h的公鑰證書CP用的區(qū)域。 公鑰證書CP包括公鑰h和公鑰h的簽名數(shù)據(jù)SP,通過密鑰生成裝置30 來生成。簽名數(shù)據(jù)SP通過使用由密鑰生成裝置30存儲(chǔ)的證書生成密鑰KCS 和改進(jìn)NTRUSign簽名方式來生成。在下面的說明中,設(shè)通過密鑰生成裝置 30來預(yù)先存儲(chǔ)公鑰證書CP。公鑰證書CP中,除公鑰h和簽名數(shù)據(jù)SP之外, 也可包含其他數(shù)據(jù)。例如,也可包含用戶的識(shí)別符或證書的期限等。(3) 私鑰選擇部1Q3私鑰選擇部103在從簽名生成部104接受從私鑰群中選擇出一個(gè)私鑰的 內(nèi)容的選擇指示后,從私鑰群GSK中包含的多個(gè)私鑰中隨機(jī)選擇一個(gè)私鑰。 私鑰選擇部103將所選擇出的私鑰輸出到簽名生成部104。 選擇可以不隨機(jī),可基于來自外部的輸入。 (4) 簽名生成部104簽名生成部104在從簽名數(shù)據(jù)組生成部105接受表示消息數(shù)據(jù)m的簽名 數(shù)據(jù)的生成指示的簽名生成指示后,將選擇指示輸出到私鑰選擇部103。簽名生成部104在接受從私鑰選擇部103中選擇出的一個(gè)私鑰后,使用 所接收的私鑰,來生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)S,艮卩,對(duì)消息數(shù)據(jù)m施 加簽名后,而生成簽名數(shù)據(jù)S。簽名生成部104在簽名數(shù)據(jù)S的生成完成后,將表示該內(nèi)容的生成完成 通知輸出到簽名數(shù)據(jù)組生成部105。簽名數(shù)據(jù)S根據(jù)改進(jìn)NTRUSign簽名方式來生成。(5) 簽名數(shù)據(jù)組生成部105簽名數(shù)據(jù)組生成部105在通過用戶的操作接受消息數(shù)據(jù)m后,從公鑰證 書存儲(chǔ)部102中讀出公鑰證書CP。簽名數(shù)據(jù)組生成部105將簽名生成指示輸出到簽名生成部104,之后, 從簽名生成部104接收生成完成通知后,生成包括消息數(shù)據(jù)m、通過簽名生 成部104生成的消息數(shù)據(jù)m的簽名數(shù)據(jù)S和所讀出的公鑰證書CP的簽名數(shù) 據(jù)組SS。簽名數(shù)據(jù)組生成部105經(jīng)發(fā)送部106,將所生成的簽名數(shù)據(jù)組SS發(fā)送到 簽名驗(yàn)證裝置20。(6) 發(fā)送部106發(fā)送部106經(jīng)通信路徑50將簽名數(shù)據(jù)組SS發(fā)送到簽名驗(yàn)證裝置20。 1.3簽名驗(yàn)證裝置20的結(jié)構(gòu)簽名驗(yàn)證裝置20如圖1所示,由CA公鑰存儲(chǔ)部201、簽名數(shù)據(jù)組存儲(chǔ) 部202、簽名驗(yàn)證部203、接收部204和顯示部205構(gòu)成。(1) CA公鑰存儲(chǔ)部201CA公鑰存儲(chǔ)部201與通過密鑰生成裝置30存儲(chǔ)的證書生成密鑰KCS相 對(duì)應(yīng),來存儲(chǔ)驗(yàn)證公鑰證書CP用的公鑰KCP。(2) 簽名數(shù)據(jù)組存儲(chǔ)部202簽名數(shù)據(jù)組存儲(chǔ)部202具有存儲(chǔ)簽名數(shù)據(jù)組SS用的區(qū)域。(3) 簽名驗(yàn)證部203簽名驗(yàn)證部203驗(yàn)證簽名數(shù)據(jù)組SS中包含的簽名數(shù)據(jù)S和公鑰證書CP 中包含的簽名數(shù)據(jù)SP。簽名驗(yàn)證部203使用改進(jìn)UTRUSign簽名方式,來 進(jìn)行各簽名數(shù)據(jù)的驗(yàn)證。下面,表示驗(yàn)證的動(dòng)作。簽名驗(yàn)證部203從接收部204接受開始驗(yàn)證的內(nèi)容的驗(yàn)證開始指示。名數(shù)據(jù)SP是否是公鑰h的正當(dāng)簽名。在判斷為簽名數(shù)據(jù)SP為正當(dāng)?shù)暮灻那闆r下,簽名驗(yàn)證部203使用公鑰 h來驗(yàn)證簽名數(shù)據(jù)S是否是消息數(shù)據(jù)m的正當(dāng)簽名。在判斷為簽名數(shù)據(jù)S是正當(dāng)簽名的情況下,簽名驗(yàn)證部203將受理所接 收的簽名數(shù)據(jù)組SS的消息"OK"輸出到顯示部205。在各簽名驗(yàn)證中的任何一個(gè)簽名驗(yàn)證中,在判斷為簽名數(shù)據(jù)是不正當(dāng)?shù)?簽名的情況下,簽名驗(yàn)證部203將拒絕所接收的簽名數(shù)據(jù)組SS的消息"NG" 輸出到顯示部205。(4) 接收部204接收部204經(jīng)通信路徑50來接收從簽名生成裝置10發(fā)送的簽名數(shù)據(jù)組SS。接收部204將所接收的簽名數(shù)據(jù)組SS存儲(chǔ)到簽名數(shù)據(jù)組存儲(chǔ)部202,之 后,將驗(yàn)證開始指示輸出到簽名驗(yàn)證部203。(5) 顯示部205顯示部205在從簽名驗(yàn)證部203接受到與簽名驗(yàn)證的驗(yàn)證結(jié)果有關(guān)的消 息后,顯示所接受的消息。 1.4密鑰生成裝置30的結(jié)構(gòu)密鑰生成裝置30如圖1所示,由證書生成密鑰存儲(chǔ)部301、密鑰生成部 302、私鑰群生成部303、證書生成部304和密鑰設(shè)定部305構(gòu)成。 (1)證書生成密鑰存儲(chǔ)部301 證書生成密鑰存儲(chǔ)部301與公鑰KCP相對(duì)應(yīng),存儲(chǔ)生成在公鑰證書CP 中包含的簽名數(shù)據(jù)SP用的證書生成密鑰KCS。(2) 密鑰生成部302密鑰生成部302使用現(xiàn)有的NTRUSign簽名方式的密鑰生成方法,來生 成私鑰"f, g), (F, G))和公鑰h。另外,由于基于現(xiàn)有的NTRUSign簽名方 式的密鑰生成是公知的技術(shù),所以這里省略說明。密鑰生成部302將指示私鑰群的生成的密鑰群生成指示輸出到私鑰群生 成部303,并將指示公鑰證書CP的生成的證書生成指示輸出到證書生成部 304中。(3) 私鑰群生成部303 私鑰群生成部303預(yù)先存儲(chǔ)表示預(yù)定值Keybound和私鑰的檢索次數(shù)的上限值的vMAX。這里,vMAX例如是lOOO。私鑰群生成部303,通過以預(yù)定值vMAX以下的檢索次數(shù),生成多個(gè)范 數(shù)|| (a,b) H為預(yù)定值Keybound以下的多項(xiàng)式a, b的對(duì)(a,b),而生成多個(gè) 私鑰。私鑰群生成部303在從密鑰生成部302接受密鑰群生成指示后,使用通 過密鑰生成部302生成的私鑰((f,g),(F,G》和改進(jìn)NTRUSign簽名方式的密鑰 生成方法,來生成由((f,g), (F_l,G_l)},{(f,g), (F_2,G_2) },...{ (f,g), (F_u,G_u))構(gòu)成的私鑰群GKS。這里,u是私鑰群中包含的私鑰的個(gè)數(shù)。私鑰群生成部303在私鑰群GSK的生成完成后,將意為將所生成的私鑰 群GSK存儲(chǔ)到簽名生成裝置10的第一存儲(chǔ)指示輸出到密鑰設(shè)定部305。(4) 證書生成部304證書生成部304在從密鑰生成部302接受證書生成指示后,讀出在證書 生成密鑰存儲(chǔ)部301中存儲(chǔ)的證書生成密鑰KCS。證書生成部304使用所讀出的證書生成部KCS,來生成對(duì)通過密鑰生成 部302生成的公鑰h的公鑰證書CP。這里,公鑰證書CP包括公鑰h和使用 了公鑰h的證書生成密鑰KCS的簽名數(shù)據(jù)SP。證書生成部304在公鑰證書CP的生成完成后,將意為將所生成的公鑰 證書CP存儲(chǔ)到簽名生成裝置10中的第二存儲(chǔ)指示輸出到密鑰設(shè)定部305。 (5)密鑰設(shè)定部305 密鑰設(shè)定部305在從私鑰群生成部303接受到第一存儲(chǔ)指示后,將通過 私鑰群生成部303生成的私鑰群GSK寫入到簽名生成裝置10的私鑰群存儲(chǔ) 部101中。
密鑰設(shè)定部305在從證書生成部304中接受第二存儲(chǔ)指示后,將在證書 生成部304生成的公鑰證書CP寫入到簽名生成裝置10的公鑰證書存儲(chǔ)部 102中。
1.5簽名生成裝置IO的動(dòng)作
簽名生成裝置10生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)組SS,并經(jīng)通信路徑50 發(fā)送到簽名驗(yàn)證裝置20。下面,使用圖2所示的流程圖來說明在簽名生成 裝置IO進(jìn)行的簽名生成處理的動(dòng)作。
簽名數(shù)據(jù)組生成部105通過用戶的操作接受消息數(shù)據(jù)m (步驟S5)。
簽名數(shù)據(jù)組生成部105從公鑰證書存儲(chǔ)部102讀出公鑰證書CP,并將簽 名生成指示輸出到簽名生成部104。簽名生成部104在從簽名數(shù)據(jù)組生成部 105接受到簽名生成指示后,將選擇指示輸出到私鑰選擇部103。私鑰選擇 部103在從簽名生成部104接受選擇指示后,從私鑰群GSK中包含的多個(gè) 私鑰中隨機(jī)選擇一個(gè)私鑰(步驟SIO)。
私鑰選擇部103將所選擇出的私鑰輸出到簽名生成部104中。簽名生成 部104在接受從私鑰選擇部103選擇出的一個(gè)私鑰后,使用所接受的私鑰, 來生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)S (步驟S15)。另外,簽名數(shù)據(jù)S根據(jù)改 進(jìn)NTRUSign簽名方式來生成。
簽名生成部104在簽名數(shù)據(jù)S的生成完成后,將表示該內(nèi)容的生成完成 通知輸出到簽名數(shù)據(jù)組生成部105。簽名數(shù)據(jù)組生成部105在從簽名生成部 104接受生成完成通知后,來生成包括消息數(shù)據(jù)m、在簽名生成部104生成 的消息數(shù)據(jù)m的簽名數(shù)據(jù)S、和讀出的公鑰證書CP的簽名數(shù)據(jù)組SS (步驟 S20)。
發(fā)送部106經(jīng)通信路徑50將在簽名數(shù)據(jù)組生成部105生成的簽名數(shù)據(jù)組 SS發(fā)送到簽名驗(yàn)證裝置20 (步驟S25)。1.6簽名驗(yàn)證裝置2i3的動(dòng)作簽名驗(yàn)證裝置20經(jīng)通信路徑50從簽名生成裝置10接受簽名數(shù)據(jù)組SS, 來驗(yàn)證該簽名數(shù)據(jù)組SS。下面,使用圖3所示的流程圖來說明在簽名驗(yàn)證 裝置20進(jìn)行的簽名驗(yàn)證處理。接收部204經(jīng)通信路徑50來接收從簽名生成裝置10發(fā)送的簽名數(shù)據(jù)組 SS (步驟S105)。接收部204將所接受的簽名數(shù)據(jù)組SS存儲(chǔ)在簽名數(shù)據(jù)組存儲(chǔ)部202中 (S105)。接收部204將驗(yàn)證開始指示輸出到簽名驗(yàn)證部203。簽名驗(yàn)證部203從 接收部204接受意為開始驗(yàn)證的內(nèi)容的驗(yàn)證開始指示。簽名驗(yàn)證部203使用 CA公鑰存儲(chǔ)部中存儲(chǔ)的CA公鑰KPC來驗(yàn)證簽名數(shù)據(jù)SP是否是公鑰h的 正當(dāng)簽名(步驟SllO)。在判斷為簽名數(shù)據(jù)SP是正當(dāng)?shù)暮灻那闆r下(步驟S110中的"OK"), 簽名驗(yàn)證部203使用公鑰h來驗(yàn)證簽名數(shù)據(jù)S是否是消息數(shù)據(jù)m的正當(dāng)簽 名(步驟S115)。在判斷為簽名數(shù)據(jù)S是正當(dāng)?shù)暮灻那闆r下(步驟S115中的"0K"),簽 名驗(yàn)證部203經(jīng)顯示部205,來顯示消息"OK"(步驟S120)。在判斷為簽名數(shù)據(jù)SP不是正當(dāng)?shù)暮灻那闆r下(步驟SllO中的"NG") 及判斷為簽名數(shù)據(jù)S不是正當(dāng)?shù)暮灻那闆r下(步驟S115中的"NG"),簽 名驗(yàn)證部203經(jīng)顯示部205來顯示消息"NG"(步驟S125)。簽名驗(yàn)證部203使用改進(jìn)NTRUSign簽名方式,來進(jìn)行各簽名數(shù)據(jù)的驗(yàn)證。1.7密鑰生成裝置30的動(dòng)作密鑰生成裝置30生成私鑰群GKS和證書CP,并將所生成的私鑰群GKS 和證書CP設(shè)置在簽名生成裝置10上。下面,使用圖4所示的流程圖來說 明在密鑰生成裝置30進(jìn)行的密鑰生成處理的動(dòng)作。密鑰生成部302使用現(xiàn)有的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是私鑰群中包 含的私鑰的個(gè)數(shù)。證書生成部304在從密鑰生成部302接受證書生成指示后,讀出在證書 生成密鑰存儲(chǔ)部301中存儲(chǔ)的證書生成密鑰KCS。證書生成部304使用所讀 出的證書生成密鑰KCS,生成對(duì)在密鑰生成部302生成的公鑰h的公鑰證書 CP (步驟S210)。私鑰群生成部303在私鑰群GSK的生成完成后,將意為將所生成的私鑰 群GSK存儲(chǔ)到簽名生成裝置10中的第一存儲(chǔ)指示輸出到密鑰設(shè)定部305。 證書生成部304在公鑰證書CP的生成完成后,將意為將所生成的公鑰證書 CP存儲(chǔ)到簽名生成裝置10中的第二存儲(chǔ)指示輸出到密鑰設(shè)定部305中。密 鑰設(shè)定部305在從私鑰群生成部303接受第一存儲(chǔ)指示后,將在私鑰群生成 部303生成的私鑰群GSK寫入到簽名生成裝置10的私鑰群存儲(chǔ)部101中, 在從證書生成部304接受第二存儲(chǔ)指示后,將在證書生成部304生成的公鑰 證書CP寫入到簽名生成裝置10的公鑰證書存儲(chǔ)部102中(步驟S215)。l.S私鑰群的生成方法這里,使用圖5所示的流程圖來說明使用了在私鑰群生成部303進(jìn)行的 改進(jìn)NTRUSign簽名方式的私鑰群GSK的生成方法、即圖4所示的私鑰群 生成處理的動(dòng)作。私鑰群生成部303將由密鑰生成部302生成的私鑰{ (f,g), (F,G) }作為 私鑰{ (f,g), (F一1,G一1) },提供給私鑰群GSK (步驟S300)。私鑰群生成部303設(shè)作2,v—0, F,—F, G,—G (步驟S305)。 接著,私鑰群生成部303設(shè)作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),并設(shè)作u—u+l (步驟S325)。私鑰群生成部303設(shè) 作v—v+l (S330),并判斷是否v〉vMAX (步驟S335)。在判斷為v〉vMAX的情況下(步驟S335中的"YES"),結(jié)束處理。在判 斷為非v〉vMAX的情況下(步驟S335中的"NO"),回到步驟S310。在判斷為ll(F',G')l一Keybound的情況下(步驟S315中的"YES"),私鑰群 生成部303進(jìn)行步驟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)〉使用現(xiàn)有的NTRUSign簽名方式的密鑰生成方法來生 成,所以M5」一gxF—l-q成立。接著,在對(duì)某個(gè)正整數(shù)i,對(duì)于{ (f,g), (F_i,G_i) }, fxGj-gxFj-q成立時(shí),表示對(duì){ (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的多項(xiàng)式 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第一實(shí)施方式的整體動(dòng)作下面表示第一實(shí)施方式中的數(shù)字簽名系統(tǒng)1的整體動(dòng)作。 數(shù)字簽名系統(tǒng)1的密鑰生成裝置30中,生成簽名生成裝置10的公鑰和 私鑰群,并設(shè)置在簽名生成裝置10中。簽名生成裝置10生成對(duì)消息數(shù)據(jù)m
的簽名數(shù)據(jù)組SS,并經(jīng)通信路徑50將所生成的簽名數(shù)據(jù)組SS發(fā)送到簽名 驗(yàn)證裝置20。簽名驗(yàn)證裝置20經(jīng)通信路徑50從簽名生成裝置10接受簽名 數(shù)據(jù)組SS后加以驗(yàn)證。1.10第一實(shí)施方式的效果第一實(shí)施方式中的數(shù)字簽名系統(tǒng)l中,簽名驗(yàn)證用的公鑰是一個(gè),但是 與此對(duì)應(yīng)的私鑰存在多個(gè)。簽名生成裝置10中,從私鑰群中包含的多個(gè)私 鑰中選擇一個(gè)私鑰,而生成簽名數(shù)據(jù)??紤]將私鑰群中包含的私鑰的個(gè)數(shù)設(shè) 作2個(gè),各個(gè)私鑰為((f,g), (F_1,G_1) }, { (f,g), (F—2,G_2) }的情況。 這時(shí),執(zhí)行抄本攻擊的攻擊者獲得在通信路徑50中流過的簽名數(shù)據(jù)組,來 嘗試抄本攻擊。由于攻擊者不清楚所獲得的簽名數(shù)據(jù)組通過哪個(gè)私鑰生成, 因此通過所使用的私鑰來分類所獲得的簽名數(shù)據(jù)組,不能使用各個(gè)來加以攻 擊。因此,若通過從所得到的所有簽名數(shù)據(jù)中取得簽名和散列值的差值,并 求該平均來進(jìn)行攻擊,則由于使用兩種私鑰,故簽名數(shù)據(jù)組中存在兩種私鑰 的信息。結(jié)果,即使執(zhí)行抄本攻擊,從2次矩和4次矩的平均中可獲得混合 了兩種私鑰的信息的狀態(tài),但是不能將其分離為一個(gè)一個(gè)的私鑰信息。因此, 數(shù)字簽名系統(tǒng)1可以防止抄本攻擊,很安全。另外,雖然上述中私鑰群中包 含的私鑰的個(gè)數(shù)是2個(gè),但是若是3個(gè)或比3大的整數(shù),由于進(jìn)一步從2次 矩和4次矩的平均中分離處私鑰的信息很困難,所有具有更高的安全性。2.第二實(shí)施方式下面,參考附圖來說明作為本發(fā)明的第二實(shí)施方式的數(shù)字簽名系統(tǒng)IOOO。 2.1數(shù)字簽名系統(tǒng)1000的概要數(shù)字簽名系統(tǒng)IOOO包括簽名生成裝置1010、簽名驗(yàn)證裝置1020和通信 路徑1050構(gòu)成。簽名生成裝置1010使用NTRUSign簽名方式,來生成對(duì)消息數(shù)據(jù)m的 簽名數(shù)據(jù)組SS,并經(jīng)通信路徑1050將簽名數(shù)據(jù)組SS發(fā)送到簽名驗(yàn)證裝置 1020。后面描述簽名數(shù)據(jù)組SS的結(jié)構(gòu)。簽名驗(yàn)證裝置1020從簽名生成裝置1010中接受簽名數(shù)據(jù)組SS,并驗(yàn)證 所接收的簽名數(shù)據(jù)組SS是否是消息數(shù)據(jù)m的正當(dāng)簽名。簽名驗(yàn)證裝置1020 在判斷為簽名數(shù)據(jù)組ss正當(dāng)?shù)那闆r下,受理簽名數(shù)據(jù)組ss,在判斷為簽名 數(shù)據(jù)組ss不正當(dāng)?shù)那闆r下,拒絕簽名數(shù)據(jù)組ss。2.2簽名生成裝置1010的結(jié)構(gòu)簽名生成裝置1010如圖6所示,包括私鑰存儲(chǔ)部110K公鑰證書存儲(chǔ) 部1102、私鑰更新部1103、簽名生成部1104、簽名數(shù)據(jù)組生成部1105、發(fā) 送部1106和顯示部1107。簽名生成裝置1010生成對(duì)作為輸入的消息數(shù)據(jù)m的簽名數(shù)據(jù)組SS,并 將所生成的簽名數(shù)據(jù)組SS發(fā)送到簽名驗(yàn)證裝置1020。構(gòu)成簽名生成裝置1010的簽名數(shù)據(jù)組生成部1105和發(fā)送部1106分別與 第一實(shí)施方式所示的簽名數(shù)據(jù)組生成部105和發(fā)送部106進(jìn)行相同的動(dòng)作, 所以這里省略說明。(1) 私鑰存儲(chǔ)部llOl私鑰存儲(chǔ)部1101具有存儲(chǔ)私鑰低g),(F,G"用的區(qū)域。 這里,私鑰存儲(chǔ)部1101預(yù)先存儲(chǔ)私鑰Kf,g),(F,G))。(2) 公鑰證書存儲(chǔ)部1102公鑰證書存儲(chǔ)部1102具有存儲(chǔ)與私鑰Kf,g),(F,G》對(duì)應(yīng)的公鑰h的公鑰密 鑰證書CP用的區(qū)域。公鑰證書CP包括公鑰h、公鑰h的簽名數(shù)據(jù)SP。簽名數(shù)據(jù)SP根據(jù)改進(jìn) NTRUSign簽名方式來生成。這里,公鑰證書存儲(chǔ)部1102預(yù)先存儲(chǔ)公鑰證 書CP。公鑰證書CP中除公鑰h和簽名數(shù)據(jù)SP之外,也可包含其他的數(shù)據(jù)。 例如,也可包含用戶的識(shí)別符和證書的期限等。(3) 私鑰更新部1103私鑰更新部1103預(yù)先存儲(chǔ)表示預(yù)定值Keybound和私鑰的檢索次數(shù)的上 限值的vMAX。這里,vMAX例如是lOOO。私鑰更新部1103定期例如每一個(gè)月通過下面的動(dòng)作來更新私鑰存儲(chǔ)部 1101中存儲(chǔ)的私鑰。另外,私鑰的更新定時(shí)可以以月為單位,以日為單位, 也可以以小時(shí)為單位。私鑰更新部1103使用改進(jìn)NTRUSign簽名方式,通過預(yù)定值vMAX以 下的檢索次數(shù),來生成范數(shù)ll(F,,G,)ll為預(yù)定值Keybound以下的對(duì)(F,G,), 從而生成與公鑰h相對(duì)應(yīng),且與在私鑰存儲(chǔ)部1101中存儲(chǔ)的私鑰 { (f,g) ,(F,,G,"不同的私鑰((f,g) ,(F,,G,)}。私鑰更新部1103將新生成的{ (f,g) ,(F,,G,)}覆蓋私鑰存儲(chǔ)部1101上存 儲(chǔ)的私鑰,而加以更新。私鑰更新部1103在預(yù)定值vMAX以下、不能生成對(duì)(F',G')的情況下, 經(jīng)顯示部1107來顯示表示意為不能更新私鑰的不能更新消息。后面描述私鑰的更新方法的細(xì)節(jié)。(4) 簽名生成部1104簽名生成部1104在從簽名數(shù)據(jù)組生成部1105中接受到表示消息數(shù)據(jù)m 的簽名數(shù)據(jù)的生成指示的簽名生成指示后,從私鑰存儲(chǔ)部1101中讀出私鑰。簽名生成部1104使用所讀出的私鑰,來生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)S, 并對(duì)消息m實(shí)施簽名后生成簽名數(shù)據(jù)S。簽名生成部1104在簽名數(shù)據(jù)S的生成完成后,將表示該內(nèi)容的生成完成 通知輸出到簽名數(shù)據(jù)組生成部1105。簽名數(shù)據(jù)S根據(jù)改進(jìn)NTRUSign簽名方式來生成。(5) 顯示部1107顯示部1107顯示從私鑰更新部1103接受的消息。 2.3簽名驗(yàn)證裝置1020簽名驗(yàn)證裝置1020如圖6所示,包括CA公鑰存儲(chǔ)部1201、簽名數(shù)據(jù)組 存儲(chǔ)部1202、簽名驗(yàn)證部1203、接收部1204和顯示部1205。構(gòu)成簽名驗(yàn)證裝置1020的CA公鑰存儲(chǔ)部1201 、簽名數(shù)據(jù)組存儲(chǔ)部1202、 簽名驗(yàn)證部1203、接收部1204和顯示部1205分別與第一實(shí)施方式表示的 CA公鑰存儲(chǔ)部201、簽名數(shù)據(jù)組存儲(chǔ)部202、簽名驗(yàn)證部203、接收部204 和顯示部205進(jìn)行相同的動(dòng)作,所以這里省略說明。2.4私鑰的更新方法這里,使用圖7所示的流程圖來說明在私鑰更新部1103進(jìn)行的私鑰的更 新方法(私鑰更新處理)。
私鑰更新部1103將Kf,g),(F,G》作為私鑰Kf,g),(F一l,G一l》,從私鑰存儲(chǔ)部 1101中讀出(步驟S400)。私鑰更新部1103對(duì)變量v,F(xiàn),,G,,設(shè)置v—O,F(xiàn), —F,G, —G (步驟S405)。 私鑰更新部1103對(duì)變量F,,G,,設(shè)置,F(xiàn),—F,+X'vxf, G,—G,+ X'vxg (步驟S410)。私鑰更新部1103判斷范數(shù)II(F',G')H是否超過預(yù)定值Keybound (步驟 S415)。在判斷為范數(shù)II(F',G')II超過了預(yù)定值Keybound的情況下(步驟S415中 的"YES"),私鑰更新部1103對(duì)變量v,設(shè)作v—v+l (步驟S420),并判斷 變量v是否超過預(yù)定值vMAX (步驟S425)。在判斷為變量v超過vMAX的情況下(步驟S425中的"YES"),私鑰更 新部1103經(jīng)顯示部1107顯示不能更新消息(步驟S430)。在判斷為變量v 沒有超過預(yù)定值vMAX的情況下(步驟S425中的"NO"),私鑰更新部1103 返回到步驟S410。在判斷為范數(shù)!I(F',G')II不超過預(yù)定值Keybound的情況下(步驟S415中 的"NO"),私鑰更新部1103將所生成的私鑰((f,g),(F',G'》覆蓋私鑰存儲(chǔ)部 1101上存儲(chǔ)的私鑰而加以更新,從而作為新的私鑰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的動(dòng)作簽名生成裝置1010的動(dòng)作包括生成對(duì)消息數(shù)據(jù)m的簽名數(shù)據(jù)組SS,并 經(jīng)通信路徑1050發(fā)送到簽名驗(yàn)證裝置1020的"簽名生成處理"和更新私鑰的 "私鑰更新處理"的動(dòng)作構(gòu)成。下面,說明各處理的動(dòng)作。 (1)簽名生成處理 這里,使用圖8所示的流程圖來說明簽名生成處理的動(dòng)作。 簽名數(shù)據(jù)組生成部1105通過用戶的操作來接受消息數(shù)據(jù)m(步驟S500)。 簽名數(shù)據(jù)組生成部1105從公鑰證書存儲(chǔ)部1102中讀出公鑰證書CP,并 將簽名生成指示輸出到簽名生成部1104。簽名生成部1104在從簽名數(shù)據(jù)組 生成部105中接受簽名生成指示后,從私鑰存儲(chǔ)部1101中讀出私鑰。簽名 生成部1104使用所讀出的私鑰,來生成對(duì)消息m的簽名數(shù)據(jù)S(步驟S505 )。 簽名生成部1104在簽名S的生成完成后,將表示該內(nèi)容的生成完成通知 輸出到簽名數(shù)據(jù)組生成部1105。簽名數(shù)據(jù)組生成部1105在從簽名生成部 1104中接受生成完成通知后,生成包括消息數(shù)據(jù)m、在簽名生成部1104生 成的消息數(shù)據(jù)m的簽名數(shù)據(jù)S、和所讀出的公鑰證書CP的簽名數(shù)據(jù)組SS (步驟S510)。
發(fā)送部1106將在簽名數(shù)據(jù)組生成部1105生成的簽名數(shù)據(jù)組SS經(jīng)通信路 徑105發(fā)送到簽名驗(yàn)證裝置1020 (步驟S515)。 (2)私鑰更新處理私鑰更新部1103使用私鑰存儲(chǔ)部1101中存儲(chǔ)的私鑰"f,g),(F,G》,來生 成新的私鑰欣g),(F',G'",并將新的私鑰覆蓋私鑰存儲(chǔ)部1101中存儲(chǔ)的私 鑰后加以更新。
另外,由于詳細(xì)動(dòng)作用圖7表示,所以這里省略說明。
2.6簽名驗(yàn)證裝置1020的動(dòng)作
簽名驗(yàn)證裝置1020經(jīng)通信路徑1050從簽名生成裝置1010接受簽名數(shù) 據(jù),來驗(yàn)證該簽名數(shù)據(jù)組SS。由于在簽名驗(yàn)證裝置1020進(jìn)行的簽名驗(yàn)證處 理與第一實(shí)施方式中的圖3所示的流程圖為相同的動(dòng)作,所以這里省略說 明。
2.7實(shí)施方式2的整體動(dòng)作
下面表示第二實(shí)施方式中的數(shù)字簽名系統(tǒng)1000的整體動(dòng)作。 數(shù)字簽名系統(tǒng)1000的簽名生成裝置1010,通過"簽名生成處理",對(duì)作為 輸入的消息數(shù)據(jù)m,生成簽名數(shù)據(jù)組SS,并發(fā)送到簽名驗(yàn)證裝置1020。簽 名驗(yàn)證裝置1020從簽名生成裝置1010接受簽名數(shù)據(jù)組SS,驗(yàn)證所接收的 簽名數(shù)據(jù)組,并通過該驗(yàn)證結(jié)果,來決定受理或拒絕簽名數(shù)據(jù)組SS。通過"密 鑰更新處理",簽名生成裝置1010更新私鑰。
2.8第二實(shí)施方式的效果 第二實(shí)施方式中的數(shù)字簽名系統(tǒng)1000中,簽名驗(yàn)證用的公鑰是一個(gè),但 是更新與其對(duì)應(yīng)的私鑰。從通信路徑1050獲得簽名數(shù)據(jù)組,執(zhí)行抄本攻擊 的攻擊者不知道該更新定時(shí)。這里,考慮僅更新一次私鑰的情況。由于攻擊 者不知道生成獲得的簽名數(shù)據(jù)組所使用的私鑰的更新定時(shí),因通過所使用的 私鑰來嚴(yán)格分類所獲得的簽名組,所以不能使用各個(gè)來進(jìn)行攻擊。這樣,若 從獲得的所有簽名數(shù)據(jù)組來取得簽名和散列值的差值,通過求取該平均來進(jìn) 行攻擊,由于以某個(gè)時(shí)期為界限,來使用兩種私鑰,所以只要不能通過私鑰 來正確分類所獲得的數(shù)據(jù)組,簽名數(shù)據(jù)組就存在兩種私鑰信息。結(jié)果,即使 執(zhí)行抄本攻擊,從2次矩和4次矩的平均中可以得到混合了兩種私鑰的信息 的狀態(tài),但是不能將其分離為一個(gè)一個(gè)的私鑰信息。因此,數(shù)字簽名系統(tǒng) 1000中與第一實(shí)施方式的數(shù)字簽名系統(tǒng)1相同,可以防止抄本攻擊,很安 全。3.變形例上述說明的第一和第二實(shí)施方式是本發(fā)明的實(shí)施的一例,本發(fā)明并不特 別限于這些實(shí)施方式,可以在不脫離該內(nèi)容的范圍中以各種形態(tài)來加以實(shí) 施。例如,本發(fā)明也包含如下的情況。(1) 第一實(shí)施方式中,對(duì)(f,g)的各值分別固定,而改變對(duì)(F,G)的 各值,但是并不限于此。也可使對(duì)(f,g)的值也可變,來設(shè)定多個(gè)私鑰。這 時(shí),設(shè)作為NTRUSign簽名方式的密鑰的條件的fxG—gxF-q滿足。另夕卜, 也可使對(duì)(f,g)的各值可變,對(duì)(F,G)的各值固定。也可與第二實(shí)施方式相同,使對(duì)(f,g)的各值也可變,來進(jìn)行私鑰的更 新。另外,也可使對(duì)(f,g)的各值可變,使對(duì)(F,G)的各值固定。(2) 第一實(shí)施方式的私鑰群生成部和第二實(shí)施方式中的私鑰更新部中的 表示私鑰的檢索次數(shù)的vMAX的值并不限于lOOO。也可以是其他的值,例 如10000。G)第一實(shí)施方式中,也可不隨機(jī)選擇私鑰,而根據(jù)預(yù)定的規(guī)則來加以 選擇。例如,也可以是簽名生成裝置計(jì)數(shù)生成了簽名數(shù)據(jù)組的次數(shù),在到達(dá)第
一預(yù)定次數(shù)(例如,1(T7次等)為止,使用相同的私鑰,之后,在到達(dá)第二 預(yù)定次數(shù)(例如1(T8次等)為止,使用與之前不同的私鑰。這時(shí),簽名生 成裝置通過用指示器來特定現(xiàn)在使用的私鑰,而可使用同一私鑰直到達(dá)到第 一預(yù)定次數(shù)。這種情況下,由于攻擊者不知道使用的私鑰的切換定時(shí),所以 對(duì)抄本攻擊來說很安全。計(jì)數(shù)的對(duì)象可以是生成簽名數(shù)據(jù)的次數(shù)。簽名生成裝置可以以存儲(chǔ)多個(gè)私鑰的順序來加以選擇。這時(shí),簽名生成 裝置使用指示器來特定現(xiàn)在使用的私鑰,接著通過將指示器的位置改變到接 著使用的私鑰,從而可以以存儲(chǔ)多個(gè)私鑰的順序來加以選擇。由此,簽名生 成裝置在簽名生成時(shí),可以取得與前次簽名中所使用的私鑰不同的私鑰,并 使用所取得的其他私鑰來生成簽名數(shù)據(jù)。(4) 第二實(shí)施方式中,可以使更新私鑰的定時(shí)不依賴于生成簽名數(shù)據(jù)組 的次數(shù)。例如,可以使用私鑰,在生成預(yù)定次數(shù)(例如1(T7次等)簽名數(shù) 據(jù)組時(shí),更新私鑰。在這種情況下,由于攻擊者不知道使用私鑰的切換定時(shí), 所以對(duì)抄本攻擊很安全。(5) 第一和第二實(shí)施方式中,作為簽名方式使用了 NTRUSign簽名方式 或以該方式為基礎(chǔ)的改進(jìn)方式,但是并不限于此。只要是對(duì)一個(gè)公鑰,可以 有多個(gè)私鑰對(duì)應(yīng)的簽名方式就可以了 。例如,可以是與NTRUSign簽名方式不同、且使用了格(lattice)的簽名 方式。(6) 第一實(shí)施方式中,密鑰生成裝置和簽名生成裝置是不同的裝置,但 是并不限于此。數(shù)字簽名系統(tǒng)1可以包括由密鑰生成裝置和簽名生成裝置構(gòu) 成的裝置、以及簽名驗(yàn)證裝置。(7) 第一實(shí)施方式中,簽名生成裝置通過用戶的操作來接受消息數(shù)據(jù), 但是并不限于此。簽名生成裝置可以從外部的裝置來接受消息數(shù)據(jù)。 第二實(shí)施方式中也相同,簽名生成裝置可以從外部的裝置來接受消息數(shù)據(jù)。(8) 可以是這些實(shí)施方式和變形例的組合。
<其他變形例>根據(jù)上述實(shí)施方式說明了本發(fā)明,但是本發(fā)明當(dāng)然不限于上述實(shí)施方式。 本發(fā)明還包含下面的情況。(1) 上述各裝置具體地,是由微處理器、ROM、 RAM、硬盤單元、顯 示器單元、鍵盤和鼠標(biāo)等構(gòu)成的計(jì)算機(jī)系統(tǒng)。在所述RAM或所述硬盤單元 中存儲(chǔ)了計(jì)算機(jī)程序。通過所述微處理器根據(jù)所述計(jì)算機(jī)程序動(dòng)作,從而各 裝置實(shí)現(xiàn)該功能。這里,計(jì)算機(jī)程序?yàn)榱藢?shí)現(xiàn)預(yù)定的功能,組合多個(gè)表示對(duì) 計(jì)算機(jī)的指令的命令碼來構(gòu)成。(2) 構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部可以由一個(gè)系統(tǒng)LSI (Large Scale Intergration:大規(guī)模集成電路)構(gòu)成。系統(tǒng)LSI是在一個(gè)芯片上集成多個(gè)構(gòu)成部來加以制造的超多功能LSI,具體地,是包含微處理器、 ROM、 RAM等構(gòu)成的計(jì)算機(jī)系統(tǒng)。所述RAM上存儲(chǔ)了計(jì)算機(jī)程序。通過 所述微處理器根據(jù)所述計(jì)算機(jī)程序動(dòng)作,從而系統(tǒng)LSI實(shí)現(xiàn)該功能。(3) 構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部可以由可對(duì)各裝置裝卸 的IC卡或單體模塊構(gòu)成。所述IC卡或所述模塊是由微處理器、ROM、 RAM 等構(gòu)成的計(jì)算機(jī)系統(tǒng)。所述IC卡或所述模塊可以包含上述超多功能LSI。 通過微處理器根據(jù)計(jì)算機(jī)程序動(dòng)作,從而所述IC卡或所述模塊實(shí)現(xiàn)該功能。 該IC卡或該模塊可以具有抗篡改性。(4) 本發(fā)明可以是上述表示的方法??梢允怯捎?jì)算機(jī)來實(shí)現(xiàn)這些方法的 計(jì)算機(jī)程序,也可以是由所述計(jì)算機(jī)程序構(gòu)成的數(shù)字信號(hào)。本發(fā)明可將所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)記錄在計(jì)算機(jī)可讀取記錄介 質(zhì)上,例如軟盤、硬盤、CD-ROM、 MO、 DVD、 DVD-ROM、 DVD-RAM、 BD (Blu—rayDisc)、半導(dǎo)體存儲(chǔ)器等中。也可以是在這些記錄介質(zhì)上記錄 的所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)。本發(fā)明可以經(jīng)電信線路、無線或有線通信線路、以互聯(lián)網(wǎng)為代表的網(wǎng)絡(luò)、 數(shù)字廣播等來傳送所述計(jì)算機(jī)程序或所述數(shù)字信號(hào)。本發(fā)明可以是具有微處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng),所述存儲(chǔ)器存儲(chǔ)上 述計(jì)算機(jī)程序,所述微處理器可以根據(jù)所述計(jì)算機(jī)程序來動(dòng)作。
通過將所述程序或所述數(shù)字信號(hào)記錄在所述記錄介質(zhì)上來進(jìn)行傳送,或 通過經(jīng)所述網(wǎng)絡(luò)等來傳送所述程序或所述數(shù)字信號(hào),可以通過獨(dú)立的其他計(jì) 算機(jī)系統(tǒng)來加以實(shí)施。(5)可以分別組合上述實(shí)施方式和上述變形例。
4.總結(jié)本發(fā)明是使用多個(gè)私鑰可對(duì)應(yīng)對(duì)一個(gè)公鑰的簽名方式,來生成對(duì)消息數(shù) 據(jù)的簽名數(shù)據(jù)的簽名生成裝置,其特征在于,具有私鑰群存儲(chǔ)部,存儲(chǔ)由多 個(gè)所述私鑰構(gòu)成的私鑰群;公鑰證書存儲(chǔ)部,存儲(chǔ)所述公鑰或所述公鑰的證 書的某一個(gè);私鑰選擇部,從所述私鑰群中包含的多個(gè)所述私鑰中選擇一個(gè) 私鑰;簽名生成部,使用所選擇出的所述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所 述簽名數(shù)據(jù)。
這里,所述簽名方式包含密鑰生成步驟,對(duì)作為定義了表示相加、相 減、相乘和元的大小的范數(shù)的N維陣列的集合的環(huán)R和所述環(huán)R的理想q, 生成所述環(huán)R的元f、 g和作為f (modq)的逆數(shù)的元Fq,并生成與所述元 g和所述元Fq的積在modq下同余(合同)的元h來作為所述公鑰,生成 滿足fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的作為所述環(huán)R的元的對(duì)的 多個(gè)解(F,G) 二 (F_l, G—1), (F一2, G—2), ... (F_u, G_u) (u是比l 大的正整數(shù)),并將多個(gè)所述元的4個(gè)組(f,g, F一l , G一l), (f,g, F一2, G_2),... (f,g,F(xiàn)一u, G一u)分別作為所述私鑰生成;簽名生成步驟,使用所述私鑰來 生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和簽名驗(yàn)證步驟,使用所述公鑰來驗(yàn) 證所述簽名數(shù)據(jù)。這里,所述私鑰選擇部也可從所述私鑰群中包含的多個(gè)所述私鑰中隨機(jī) 選擇一個(gè)所述私鑰。.
本發(fā)明是使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成所述公鑰和 私鑰的密鑰生成裝置,其特征在于,所述簽名方式包含密鑰生成步驟,對(duì) 作為定義了表示相加、相減、相乘和元的大小的范數(shù)的N維陣列的集合的 環(huán)R和所述環(huán)R的理想q,生成所述環(huán)R的元f, g和作為f (modq)的逆 數(shù)的元Fq,并生成與所述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰,生成滿足fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的作為所 述元R的元的對(duì)的多個(gè)解(F,G) 二 (F—1, G_l), (F_2, G_2), ... (F_u, G—u) (u是比l大的正整數(shù)),并將多個(gè)所述元的4個(gè)組(f,g,F(xiàn)J, G_l), (f,g,F(xiàn)一2, G_2), ... (f,g,F(xiàn)一u, G一u)分別作為所述私鑰生成;簽名生成 步驟,使用所述私鑰來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和簽名驗(yàn)證步 驟,使用所述公鑰來驗(yàn)證所述簽名數(shù)據(jù);使用所述密鑰生成步驟,來生成所 述公鑰和多個(gè)所述私鑰。本發(fā)明是使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù) 的簽名數(shù)據(jù)的簽名生成裝置,其特征在于,包括私鑰存儲(chǔ)部,存儲(chǔ)所述私 鑰;公鑰證書存儲(chǔ)部,存儲(chǔ)所述公鑰或所述公鑰的證書的某一個(gè);簽名生成 部,使用所述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和私鑰更新部, 更新所述私鑰,使其與所述公鑰對(duì)應(yīng)。這里,所述簽名方式也可包含密鑰生成步驟,對(duì)作為定義了表示相加、 相減、相乘和元的大小的范數(shù)的N維陣列的集合的環(huán)R和所述環(huán)R的理想 q,生成所述環(huán)R的元f, g和作為f (mod q)的逆數(shù)的元Fq,并生成與所 述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰,生成滿足 fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的所述環(huán)R的元的對(duì)的(F,G), 并將多個(gè)所述元的4個(gè)組(f,g,F, G)作為所述私鑰生成;簽名生成步驟, 便用所私鑰來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和簽名驗(yàn)證步驟,使用 所述公鑰來驗(yàn)證所述簽名數(shù)據(jù)。本發(fā)明為包括使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息 數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置和驗(yàn)證所述簽名數(shù)據(jù)的簽名驗(yàn)證裝置的數(shù) 字簽名系統(tǒng),其特征在于,所述簽名生成裝置包括私鑰群存儲(chǔ)部,存儲(chǔ)由 多個(gè)所述私鑰構(gòu)成的私鑰群;公鑰證書存儲(chǔ)部,存儲(chǔ)所述公鑰或所述公鑰的 證書的某一個(gè);私鑰選擇部,從所述私鑰群包含的多個(gè)所述私鑰中選擇一個(gè) 所述私鑰;以及簽名生成部,使用所選擇出的所述私鑰,來生成對(duì)所述消息 數(shù)據(jù)的所述簽名數(shù)據(jù)。本發(fā)明為使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù)
的簽名數(shù)據(jù)的簽名生成方法,其特征在于,包括私鑰群存儲(chǔ)步驟,存儲(chǔ)由 多個(gè)所述私鑰構(gòu)成的私鑰群;公鑰證書存儲(chǔ)步驟,存儲(chǔ)所述公鑰或所述公鑰 的證書的某一個(gè);私鑰選擇步驟,從所述私鑰群中包含的多個(gè)所述私鑰中選 擇一個(gè)所述私鑰;和簽名生成步驟,使用所選擇出的所述私鑰,來生成對(duì)所 述消息數(shù)據(jù)的所述簽名數(shù)據(jù)。本發(fā)明為使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù) 的簽名數(shù)據(jù)的簽名生成方法,其特征在于,包括私鑰存儲(chǔ)步驟,存儲(chǔ)所述 私鑰;公鑰證書存儲(chǔ)步驟,存儲(chǔ)所述公鑰或所述公鑰的證書的某一個(gè);簽名 生成步驟,使用所述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和私鑰 更新步驟,更新所述私鑰,使其與所述公鑰對(duì)應(yīng)。本發(fā)明是使簽名生成裝置執(zhí)行的計(jì)算機(jī)程序,該簽名生成裝置使用多個(gè) 私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù),其特征在 于,使所述簽名生成裝置執(zhí)行私鑰群存儲(chǔ)步驟,存儲(chǔ)由多個(gè)所述私鑰構(gòu)成 的私鑰群;公鑰證書存儲(chǔ)步驟,存儲(chǔ)所述公鑰或所述公鑰的證書的某一個(gè); 私鑰選擇步驟,從所述私鑰群中包含的多個(gè)所述私鑰中選擇一個(gè)所述私鑰; 以及簽名生成步驟,使用所選擇出的所述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所 述簽名數(shù)據(jù)。這里,所述簽名方式也可包含密鑰生成步驟,對(duì)作為定義了表示相加、 相減、相乘和元的大小的范數(shù)的N維陣列的集合的環(huán)R和所述環(huán)R的理想 q,生成所述環(huán)R的元f, g和作為f (modq)的逆數(shù)的元Fq,并生成與所 述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰,生成滿足 fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的作為所述元R的元的對(duì)的多個(gè) 解(F,G) = (F_l, G_l), (F—2, G_2), ... (F_u, G—u) (u是比l大的 正整數(shù)),并將多個(gè)所述元的4個(gè)組(f,g,F(xiàn)—1,G_1), (f,g,F(xiàn)_2,G—2),... (f,g, F一u, G—u)分別作為所述私鑰生成;簽名生成步驟,使用所述私鑰來生成 對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和簽名驗(yàn)證步驟,使用所述公鑰來驗(yàn)證所 述簽名數(shù)據(jù)。這里,所述私鑰選擇步驟也可從所述私鑰群中包含的多個(gè)所述私鑰中隨
機(jī)選擇一個(gè)所述私鑰。本發(fā)明是使簽名生成裝置執(zhí)行的計(jì)算機(jī)程序,該簽名生成裝置使用多個(gè) 私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù),其特征在 于,使所述簽名生成裝置執(zhí)行私鑰存儲(chǔ)步驟,存儲(chǔ)所述私鑰;公鑰證書存 儲(chǔ)步驟,存儲(chǔ)所述公鑰或所述公鑰的證書的某一個(gè);簽名生成步驟,使用所 述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和私鑰更新步驟,更新所 述私鑰,使其與所述公鑰對(duì)應(yīng)。這里,所述簽名方式也可包含密鑰生成步驟,對(duì)作為定義了表示相加、 相減、相乘和元的大小的范數(shù)的N維陣列的集合的環(huán)R和所述環(huán)R的理想 q,生成所述環(huán)R的元f, g和作為f (modq)的逆數(shù)的元Fq,并生成與所 述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰,生成滿足 fxG-gxF-q且范數(shù)比預(yù)先提供的預(yù)定值小的作為所述元R的元的對(duì)(F,G), 并將所述元的4個(gè)組(f,g,F(xiàn), G)作為所述私鑰生成;簽名生成步驟,使用 所述私鑰來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和簽名驗(yàn)證步驟,使用所 述公鑰來驗(yàn)證所述簽名數(shù)據(jù)。本發(fā)明是使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù) 的簽名數(shù)據(jù)的簽名生成裝置的集成電路,其特征在于,包括私鑰群存儲(chǔ)部, 存儲(chǔ)由多個(gè)所述私鑰構(gòu)成的私鑰群;公鑰證書存儲(chǔ)部,存儲(chǔ)所述公鑰或所述 公鑰的證書的某一個(gè);私鑰選擇部,從所述私鑰群中包含的多個(gè)所述私鑰中 選擇一個(gè)所述私鑰;和簽名生成部,使用所選擇出的所述私鑰,來生成對(duì)所 述消息數(shù)據(jù)的所述簽名數(shù)據(jù)。本發(fā)明是使用多個(gè)私鑰可對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成對(duì)消息數(shù)據(jù) 的簽名數(shù)據(jù)的簽名生成裝置的集成電路,其特征在于,包括私鑰存儲(chǔ)部, 存儲(chǔ)所述私鑰;公鑰證書存儲(chǔ)部,存儲(chǔ)所述公鑰或所述公鑰的證書之一;簽 名生成部,使用所述私鑰,來生成對(duì)所述消息數(shù)據(jù)的所述簽名數(shù)據(jù);和私鑰 更新部,更新所述私鑰,使其與所述公鑰對(duì)應(yīng)。產(chǎn)業(yè)上的可利用性根據(jù)上述所述的數(shù)字簽名系統(tǒng)的結(jié)構(gòu),可以防止抄本攻擊。 構(gòu)成上述所述的數(shù)字簽名系統(tǒng)的各裝置在電器設(shè)備制造產(chǎn)業(yè)中,可以經(jīng) 營性地、持續(xù)和反復(fù)地制造、銷售。
權(quán)利要求
1、一種簽名生成裝置,生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù),其特征在于具有私鑰取得單元,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)一個(gè)公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名中使用的私鑰不同的另一個(gè)私鑰;以及簽名生成單元,使用所取得的所述另一個(gè)私鑰,對(duì)所述消息數(shù)據(jù)實(shí)施基于所述簽名方式的簽名方法的簽名,來生成簽名數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的簽名生成裝置,其特征在于 所述預(yù)定的取得方法是指隨機(jī)取得多個(gè)私鑰中的一個(gè)私鑰; 所述私鑰取得單元隨機(jī)取得所述多個(gè)私鑰中的與前次簽名所利用的私鑰不同的所述另一個(gè)私鑰。
3、 根據(jù)權(quán)利要求1所述的簽名生成裝置,其特征在于 所述私鑰取得單元存儲(chǔ)所述多個(gè)私鑰,通過所述預(yù)定的取得方法,從存儲(chǔ)的所述多個(gè)私鑰中取得所述另 一個(gè)私鑰。
4、 根據(jù)權(quán)利要求3所述的簽名生成裝置,其特征在于 所述簽名方式是使用了格的簽名方式;所述私鑰取得單元存儲(chǔ)通過使用了所述格的簽名方式的私鑰生成方法 生成的所述多個(gè)私鑰。
5、 根據(jù)權(quán)利要求4所述的簽名生成裝置,其特征在于 所述簽名方式是NTRU簽名方式;包含公鑰生成步驟,對(duì)作為定義了表示相加、相減、相乘和元的大小的范數(shù) 的N維陣列的集合的環(huán)R和所述環(huán)R的理想q,生成所述環(huán)R的元f, g和 作為f (mod q)的逆數(shù)的元Fq,并生成與所述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰;私鑰生成步驟,生成滿足fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的 作為所述環(huán)R的元的對(duì)的多個(gè)解(F,G)-(F—1,G—1), (F_2,G_2),... (F—u, G—u),其中u是比l大的正整數(shù),并生成多個(gè)所述元的4個(gè)組(f,g, F—1, G_l), (f,g,F—2, G_2), ... (f,g,F_u, G_u)的各個(gè)來作為所述私鑰;簽名生成步驟,使用所生成的所述多個(gè)私鑰中的一個(gè)私鑰,來生成簽名 數(shù)據(jù);所述私鑰取得單元存儲(chǔ)的所述多個(gè)私鑰通過所述私鑰步驟生成; 所述簽名生成單元通過所述簽名生成步驟來生成所述簽名數(shù)據(jù)。
6、 根據(jù)權(quán)利要求5所述的簽名生成裝置,其特征在于所述簽名生成裝髯包含密鑰生成裝置,該密鑰生成裝置使用所述簽名方 式來生成所述公鑰和所述多個(gè)私鑰。
7、 根據(jù)權(quán)利要求3所述的簽名生成裝置,其特征在于 所述預(yù)定的取得方法是指,隨機(jī)取得多個(gè)私鑰中的一個(gè)私鑰; 所述密鑰取得單元從所存儲(chǔ)的所述多個(gè)私鑰中隨機(jī)取得與前次簽名所利用的私鑰不同的所述另 一個(gè)私鑰。
8、 根據(jù)權(quán)利要求3所述的簽名生成裝置,其特征在于 所述預(yù)定的取得方法是指,根據(jù)存儲(chǔ)的順序來取得多個(gè)私鑰中的一個(gè)私鑰;所述密鑰取得單元,根據(jù)存儲(chǔ)所述多個(gè)私鑰的順序,來取得與前次簽名 所利用的私鑰不同的所述另 一個(gè)私鑰。
9、 根據(jù)權(quán)利要求.l所述的簽名生成裝置,其特征在于 所述預(yù)定的取得方法是指,通過所述密鑰生成方法來生成并取得多個(gè)私鑰中與前次簽名所利用的私鑰不同的另 一個(gè)私鑰;所述密鑰取得單元,與所述一個(gè)公鑰相對(duì)應(yīng),存儲(chǔ)通過所述簽名方式生 成的第一私鑰,在利用了所述第一私鑰后,通過所述密鑰生成方法來生成與 所述一個(gè)公鑰對(duì)應(yīng)的第二私鑰,將存儲(chǔ)的所述第一私鑰更新為所生成的所述 第二私鑰,在所述簽名數(shù)據(jù)的生成時(shí),取得存儲(chǔ)的所述第二私鑰來作為所述 一個(gè)私鑰。
10、 一種密鑰生成裝置,生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的生成和驗(yàn)證中所 使用的密鑰,其特征在于, 包括公鑰生成單元,通過多個(gè)私鑰對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成所述一 個(gè)公鑰;以及私鑰生成單元,通過所述簽名方式來生成與所述一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰。
11、根據(jù)權(quán)利要求10所述的密鑰生成裝置,其特征在于 所述簽名方式是使用了格的方式;所述公鑰生成單元通過所述簽名方式來生成所述公鑰; 所述私鑰生成單元通過所述簽名方式來生成所述多個(gè)私鑰。
12、根據(jù)權(quán)利要求ll所述的密鑰生成裝置,其特征在于所述簽名方式是NTRU簽名方式;包含公鑰生成步驟,對(duì)作為定義了表示相加、相減、相乘和元的大小的范數(shù) 的N維陣列的集合的環(huán)R和所述環(huán)R的理想q,生成所述環(huán)R的元f, g和 作為f (mod q)的逆數(shù)的元Fq,并生成與所述元g和所述元Fq的積在mod q下同余的元h來作為所述公鑰;以及私鑰生成步驟,生成滿足fxG-gxF=q且范數(shù)比預(yù)先提供的預(yù)定值小的 作為所述環(huán)R的元的對(duì)的多個(gè)解(F,G)-(F—1,G_1), (F_2,G_2),... (F_u, G一u),其中u是比l大的正整數(shù),并生成多個(gè)所述元的4個(gè)組(f,g,F(xiàn)一l, G_l), (f,g,F(xiàn)_2, G—2), ... (f,g,F(xiàn)_u, G_u)的各個(gè)來作為所述私鑰;所述公鑰生成單元通過所述公鑰生成步驟來生成所述公鑰;所述私鑰生成單元通過所述私鑰生成步驟來生成所述多個(gè)私鑰。
13、 一種簽名系統(tǒng),包括生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置和 進(jìn)行簽名的驗(yàn)證的簽名驗(yàn)證裝置,其特征在于所述簽名生成裝置具有私鑰取得單元,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè) 公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用 的私鑰不同的另一個(gè)私鑰;以及簽名生成單元,使用所取得的所述另一個(gè)私鑰,來對(duì)所述消息數(shù)據(jù)施加 基于所述簽名方式的簽名方法的簽名,而生成簽名數(shù)據(jù);所述簽名驗(yàn)證裝置具有驗(yàn)證單元,使用所述公鑰,來驗(yàn)證所述簽名數(shù)據(jù)。
14、 一種簽名生成方法,在生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置 中使用,其特征在于,包括私鑰取得步驟,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè) 公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用 的私鑰不同的另一個(gè)私鑰;以及簽名生成步驟,使用所取得的所述另一個(gè)私鑰,來對(duì)所述消息數(shù)據(jù)施加 基于所述簽名方式的簽名方法的簽名,而生成簽名數(shù)據(jù)。
15、 一種簽名生成程序,在生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置 中使用,其特征在于,包括私鑰取得步驟,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè) 公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用 的私鑰不同的另一個(gè)私鑰;以及簽名生成步驟,使用所取得的所述另一個(gè)私鑰,來對(duì)所述消息數(shù)據(jù)施加 基于所述簽名方式的簽名方法的簽名,而生成簽名數(shù)據(jù)。
16、 根據(jù)權(quán)利要求15所述的簽名生成程序,其特征在于 所述簽名生成程序被記錄在計(jì)算機(jī)可讀取的記錄介質(zhì)中。
17、 一種密鑰生成方法,在生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的生成和驗(yàn)證中 所使用的密鑰的密鑰生成裝置中使用,其特征在于,包括公鑰生成步驟,通過多個(gè)私鑰對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成所述一個(gè)公鑰;以及私鑰生成步驟,通過所述簽名方式來生成與所述一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰。
18、 一種密鑰生成程序,在生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的生成和驗(yàn)證中所使用的密鑰的密鑰生成裝置中使用,其特征在于,包括公鑰生成步驟,通過多個(gè)私鑰對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成所述一 個(gè)公鑰;以及私鑰生成步驟,通過所述簽名方式來生成與所述一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰。
19、 根據(jù)權(quán)利要求18所述的密鑰生成程序,其特征在于 所述密鑰生成程序被記錄在計(jì)算機(jī)可讀取的記錄介質(zhì)中。
20、 一種集成電路,其是生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置的 集成電路,其特征在于,包括私鑰取得單元,通過預(yù)定的取得方法,來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè) 公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用 的私鑰不同的另一個(gè)私鑰;以及簽名生成單元,使用所取得的所述另一個(gè)私鑰,來對(duì)所述消息數(shù)據(jù)施加 基于所述簽名方式的簽名方法的簽名,而生成簽名數(shù)據(jù)。
21、 一種集成電路,其是生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的生成和驗(yàn)證中所 使用的密鑰的密鑰生成裝置的集成電路,其特征在于, 具有公鑰生成單元,通過多個(gè)私鑰對(duì)應(yīng)于一個(gè)公鑰的簽名方式來生成所述一 個(gè)公鑰;以及私鑰生成單元,通過所述簽名方式來生成與所述一個(gè)公鑰對(duì)應(yīng)的多個(gè)私鑰。
全文摘要
本發(fā)明提供一種可防止對(duì)簽名數(shù)據(jù)的抄本攻擊的簽名生成裝置。生成對(duì)消息數(shù)據(jù)的簽名數(shù)據(jù)的簽名生成裝置通過預(yù)定的取得方法來取得使用多個(gè)私鑰對(duì)應(yīng)于一個(gè)公鑰的簽名方式的密鑰生成方法生成的所述多個(gè)私鑰中與前次簽名所利用的私鑰不同的另一個(gè)私鑰;使用所取得的所述另一個(gè)私鑰,對(duì)所述消息數(shù)據(jù)實(shí)施基于所述簽名方式的簽名方法的簽名,來生成簽名數(shù)據(jù)。
文檔編號(hào)H04L9/14GK101107809SQ200680003040
公開日2008年1月16日 申請(qǐng)日期2006年1月17日 優(yōu)先權(quán)日2005年1月24日
發(fā)明者大森基司, 布田裕一, 磯邊秀司, 長谷川真吾, 靜谷啟樹 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社