JP4620669B2 - 署名生成装置、署名検証装置、それらの方法、および集積回路 - Google Patents
署名生成装置、署名検証装置、それらの方法、および集積回路 Download PDFInfo
- Publication number
- JP4620669B2 JP4620669B2 JP2006527181A JP2006527181A JP4620669B2 JP 4620669 B2 JP4620669 B2 JP 4620669B2 JP 2006527181 A JP2006527181 A JP 2006527181A JP 2006527181 A JP2006527181 A JP 2006527181A JP 4620669 B2 JP4620669 B2 JP 4620669B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- ring
- data
- generating
- polynomial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
Description
(1)NTRUSign署名方式のパラメータ
NTRUSign署名方式では、非負整数のパラメータである、N,q,df,dg,Normboundが使用される。以下に、これらのパラメータの意味を説明する。
NTRUSign署名方式は、多項式の演算により署名生成及び署名検証を行うディジタル署名方式である。NTRUSign署名方式で扱う多項式の次数は、上記パラメータNにより決まる。
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2・1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常にN−1次以下の多項式になるように演算される。
NTRUSign署名方式では、2以上の整数であるパラメータqを用いる。NTRUSign署名方式で出現する多項式の係数は、qを法とした剰余を取る。
NTRUSign署名方式で扱う秘密鍵の一部である多項式f及び、公開鍵である多項式hを生成するときに多項式fと共に用いる多項式gの選び方は、それぞれパラメータdf,dgにより決まる。
NTRUSign署名方式では、署名sから作られる2・N次元のベクトルとメッセージデータ(以下、単にメッセージという)のハッシュ値である2・N次元のベクトルとの距離を計算し、この距離により署名sが正しい署名であるかを判定する。Normboundは、この判定の際に使用されるしきい値である。すなわち、上記距離がNormbound未満であれば、署名sが正しい署名として受理され、Normbound以上であれば、正しくない署名として拒否される。なお、非特許文献4には、NTRUSign署名方式のパラメータの例として、(N,q,df,dg,Normbound)=(251,128,73,71,310)の例が挙げられている。
NTRUSign署名方式では、メッセージのハッシュ値に対する署名を作成する。メッセージのハッシュ値は、N次の多項式の対であり、2・N次元のベクトルと同一視される。なお、メッセージからハッシュ値を求めるハッシュ関数については、非特許文献1が詳しい。
μ=(1/N)・(a_0+a_1+a_2+…+a_(N−1))
ここで、sqrt(x)はxの平方根を示す。
多項式a,bの対(a,b)とc,dの対(c,d)との距離(ベクトル間の距離)は、||(c−a,d−b)||で定義される。
NTRUSign署名方式では、上述したように、パラメータdf,dgを用いてランダムに多項式f,多項式gを生成する。そして非特許文献4に記載の通り、Fq×f=1(mod q)となる多項式Fqを用いて、
h=Fq×g(mod q)
により、多項式hを生成する。さらに、以下の式を満たすようなノルムが小さい多項式F,Gを求める。
ここで、秘密鍵を{(f,g),(F,G)}、公開鍵をhとする。秘密鍵は、署名を生成するための鍵であり、署名生成鍵とも呼ばれる。また、公開鍵は、署名を検証するための鍵であり、署名検証鍵とも呼ばれる。
NTRUSign署名方式の署名生成では、署名対象であるメッセージmの署名sを計算する。まず、メッセージmに対するハッシュ値である2・N次元のベクトル(m1,m2)(m1及びm2はN次多項式)を計算する。
−g×m1+f×m2=a+q×b
ここで、A,aの係数は〈−q/2〉+1から〈q/2〉の範囲に収まるように法qで割ったときの剰余を取ったものとする。すなわち、法qで割ったときの剰余が〈q/2〉からq−1である場合は、q減算して、上記範囲に収まるよう調整する。ここで、〈x〉は、x以下の数の中で最も大きい数を示す。例えば、〈−1/2〉=−1である。
t=g×B+G×b (mod q)
NTRUSign署名方式の署名検証では、署名sが署名対象であるメッセージmの正しい署名であるか否かを検証する。まず、メッセージmに対するハッシュ値である2・N次元のベクトル(m1,m2)を計算する。
2・N次元ベクトル(s,t)と(m1,m2)の距離を求め、Normbound未満であるかをチェックする。Normbound未満であれば、署名sが正しいと判定してその署名sを受理する。Normbound以上であれば、署名sが不正と判定してその署名sを拒否する。
本発明の実施の形態1における改良NTRUSign署名方式1は、従来のNTRUSign署名方式を改良した署名方式であって、不適切な署名検証エラーの発生を確実に防ぐことが可能なように署名を生成して検証するものである。
(1)改良NTRUSign署名方式1のパラメータ
改良NTRUSign署名方式1では、非負整数のパラメータ、N,q,df,dg,Normboundが使用される。これらのパラメータの定義は、従来のNTRUSign署名方式と同様である。以下に、これらのパラメータの意味を説明する。
改良NTRUSign署名方式1は、多項式の演算により署名生成及び署名検証を行うディジタル署名方式である。改良NTRUSign署名方式1で扱う多項式の次数は、上記パラメータNにより決まる。
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2・1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常にN−1次以下の多項式になるように演算される。
改良NTRUSign署名方式1では、2以上の整数であるパラメータqを用いる。改良NTRUSign署名方式1で出現する多項式の係数は、qを法とした剰余を取る。
改良NTRUSign署名方式1で扱う秘密鍵の一部である多項式f及び、公開鍵である多項式hを生成するときに多項式fと共に用いる多項式gの選び方は、それぞれパラメータdf,dgにより決まる。
改良NTRUSign署名方式1では、多項式s,tから成る2・N次元のベクトル(署名ベクトル)とメッセージデータ(以下、単にメッセージという)のハッシュ値である2・N次元のベクトルの距離を計算し、この距離により署名が正しいか否かを判定する。Normboundは、この判定の際に使用するしきい値である。すなわち、上記距離がNormbound未満であれば、署名が正しいとして受理され、Normbound以上であれば、正しくない署名として拒否される。なお、非特許文献4には、NTRUSign署名方式のパラメータの例として、(N,q,df,dg,Normbound)=(251,128,73,71,310)の例が挙げられている。改良NTRUSign署名方式1においても、同様のパラメータ例を使用してもよい。
改良NTRUSign署名方式1においても、メッセージのハッシュ値に対する署名を作成する。メッセージのハッシュ値は、N次の多項式の対であり、2・N次元のベクトルと同一視される。なお、メッセージからハッシュ値を求めるハッシュ関数については、非特許文献1が詳しい。
μ=(1/N)・(a_0+a_1+a_2+…+a_(N−1))
ここで、sqrt(x)はxの平方根を示す。
多項式a,bの対(a,b)とc,dの対(c,d)との距離(ベクトル間の距離)は、||(c−a,d−b)||で定義される。
改良NTRUSign署名方式1では、NTRUSign署名方式と同様の方法で鍵生成を行う。まず、上述したように、パラメータdf,dgを用いてランダムに多項式f,多項式gを生成する。そして非特許文献4に記載の通り、Fq×f=1(mod q)となる多項式Fqを用いて、
h=Fq×g(mod q)
により、多項式hを生成する。さらに、以下の式を満たすようなノルムが小さい多項式F,Gを求める。
ここで、秘密鍵を{(f,g),(F,G)}、公開鍵をhとする。秘密鍵は、署名を生成するための鍵であり、署名生成鍵とも呼ばれる。また、公開鍵は、署名を検証するための鍵であり、署名検証鍵とも呼ばれる。
改良NTRUSign署名方式1の署名生成では、署名対象であるメッセージmの署名sl,sh,thを計算する。
−g×m1+f×m2=a+q×b ・・・(式2)
ここで、A,aの係数は〈−q/2〉+1から〈q/2〉の範囲に収まるように法qで割ったときの剰余を取ったものとする。すなわち、法qで割ったときの剰余が〈q/2〉からq−1である場合は、q減算して、上記範囲に収まるよう調整する。ここで、〈x〉は、x以下の数の中で最も大きい数を示す。例えば、〈−1/2〉=−1である。
t=g×B+G×b ・・・(式4)
ここで、本実施の形態では、多項式s,tに対して、法qの剰余を取ることなく、s=sl+sh×qおよびt=tl+th×qを満たす多項式sl,sh,thを算出する。なお、多項式sl,tlの各係数(各要素)を、q以下の非負整数とする。即ち、多項式sl,shは多項式sをqで割ったときの余り及び商となっており、多項式tl,thは多項式tをqで割ったときの余り及び商となっている。そして、本実施の形態では、多項式sl,sh,thを署名として扱う。
まず、メッセージmに対するハッシュ値である2・N次元のベクトル(m1,m2)を計算する。そして、公開鍵hを用いて、以下の(式6)より、多項式tlを計算する。
さらに、s=sl+sh×qおよびt=tl+th×qを用いて、多項式s,tを算出する。つまり、署名である多項式sl,sh,thと公開鍵hとを用いて、多項式s,tが算出される。そして、2・N次元ベクトル(s,t)と(m1,m2)の距離を求め、その距離がNormbound未満であるかをチェックする。Normbound未満であれば、上記署名が正しいと判定してその署名を受理する。Normbound以上であれば、上記署名が不正と判定してその署名を拒否する。
本発明の実施の形態2における改良NTRUSign署名方式2は、従来のNTRUSign署名方式を改良した署名方式であって、実施の形態1と同様、不適切な署名検証エラーの発生を確実に防ぐことが可能なように署名を生成して検証するものである。さらに、本実施の形態における改良NTRUSign署名方式2では、実施の形態1と比べて、署名データの情報量を抑えることができる。
(1)改良NTRUSign署名方式2のパラメータ
改良NTRUSign署名方式2では、非負整数のパラメータ、N,q,df,dg,Normboundが使用される。これらのパラメータの定義は、従来のNTRUSign署名方式と同様である。以下に、これらのパラメータの意味を説明する。
改良NTRUSign署名方式2は、多項式の演算により署名生成及び署名検証を行うディジタル署名方式である。改良NTRUSign署名方式2で扱う多項式の次数は、上記パラメータNにより決まる。
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2・1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常にN−1次以下の多項式になるように演算される。
改良NTRUSign署名方式2では、2以上の整数であるパラメータqを用いる。改良NTRUSign署名方式2で出現する多項式の係数は、qを法とした剰余を取る。
改良NTRUSign署名方式2で扱う秘密鍵の一部である多項式f及び、公開鍵である多項式hを生成するときに多項式fと共に用いる多項式gの選び方は、それぞれパラメータdf,dgにより決まる。
改良NTRUSign署名方式2では、多項式s,tから成る2・N次元のベクトル(署名ベクトル)とメッセージデータ(以下、単にメッセージという)のハッシュ値である2・N次元のベクトルの距離を計算し、この距離により署名が正しいか否かを判定する。Normboundは、この判定の際に使用するしきい値である。すなわち、上記距離がNormbound未満であれば、署名が正しいとして受理され、Normbound以上であれば、正しくない署名として拒否される。なお、非特許文献4には、NTRUSign署名方式のパラメータの例として、(N,q,df,dg,Normbound)=(251,128,73,71,310)の例が挙げられている。改良NTRUSign署名方式2においても、同様のパラメータ例を使用してもよい。
改良NTRUSign署名方式2においても、メッセージのハッシュ値に対する署名を作成する。メッセージのハッシュ値は、N次の多項式の対であり、2・N次元のベクトルと同一視される。なお、メッセージからハッシュ値を求めるハッシュ関数については、非特許文献1が詳しい。
μ=(1/N)・(a_0+a_1+a_2+…+a_(N−1))
ここで、sqrt(x)はxの平方根を示す。
多項式a,bの対(a,b)とc,dの対(c,d)との距離(ベクトル間の距離)は、||(c−a,d−b)||で定義される。
改良NTRUSign署名方式2では、NTRUSign署名方式と同様の方法で鍵生成を行う。まず、上述したように、パラメータdf,dgを用いてランダムに多項式f,多項式gを生成する。そして非特許文献4に記載の通り、Fq×f=1(mod q)となる多項式Fqを用いて、
h=Fq×g(mod q)
により、多項式hを生成する。さらに、以下の式を満たすようなノルムが小さい多項式F,Gを求める。
ここで、秘密鍵を{(f,g),(F,G)}、公開鍵をhとする。秘密鍵は、署名を生成するための鍵であり、署名生成鍵とも呼ばれる。また、公開鍵は、署名を検証するための鍵であり、署名検証鍵とも呼ばれる。
改良NTRUSign署名方式2の署名生成では、署名対象であるメッセージmの署名sl’,th’を計算する。
−g×m1+f×m2=a+q×b ・・・(式12)
ここで、A,aの係数は〈−q/2〉+1から〈q/2〉の範囲に収まるように法qで割ったときの剰余を取ったものとする。すなわち、法qで割ったときの剰余が〈q/2〉からq−1である場合は、q減算して、上記範囲に収まるよう調整する。ここで、〈x〉は、x以下の数の中で最も大きい数を示す。例えば、〈−1/2〉=−1である。
t=g×B+G×b ・・・(式14)
ここで、本実施の形態では、多項式s,tに対して、法qの剰余を取ることなく、この多項式s,tに基づく多項式s’,t’を算出する。
=m1_0+(s_1−s_0+m1_0)・X
+(s_2−s_0+m1_0)・X^2
+…
+(s_(N−1)−s_0+m1_0)・X^(N−1) ・・・(式15)
t’=t−(hs ×(s_0−m1_0) mod q)×v0
=(t_0−(hs×(s_0−m1_0) mod q))
+(t_1−(hs×(s_0−m1_0) mod q))・X
+(t_2−(hs×(s_0−m1_0) mod q))・X^2
+…
+(t_(N−1)−(hs×(s_0−m1_0) mod q))・X^(N−1) ・・・(式16)
なお、上記(式15)および(式16)において、m1_0は多項式m1の0次の項(1番目の項)の係数であり、hsは公開鍵である多項式hのすべての係数の和である。
まず、メッセージmに対するハッシュ値である2・N次元のベクトル(m1,m2)を計算する。さらに、s’=sl’+m1により多項式s’を算出する。そして、公開鍵hを用いて、以下の(式17)により、多項式tl’を算出する。
また、署名である多項式th’と、(式17)により算出されたtl’とを、t’=tl’+th’×qに代入することにより、多項式t’を算出する。
まず、(s,t)と(m1,m2)の距離と、(s’,t’)と(m1,m2)の距離とが等しいことを示す。(式15)により、s−s’=(s_0−m1_0)×v0の関係が成立し、(式16)により、t−t’=(hs×(s_0−m1_0) mod q)×v0の関係が成立する。したがって、||s−s’||=(s_0−m1_0)・||v0||および||t−t’||=(hs×(s_0−m1_0) mod q)・||v0||の関係が成立する。ここで、||v0||=0であるため、||s−s’||=0および||t−t’||=0となり、||m1−s||=||m1−s’||および||m2−t||=||m2−t’||となる。したがって、(s,t)と(m1,m2)の距離と、(s’,t’)と(m1,m2)の距離とは等しい。
ここで、多項式v0の係数はすべて1であるため、v0×h=hs+hs・X+hs・X^2+…+hs・X^(N−1) mod X^N−1となる。
=t−(hs×(s_0−m1_0))×v0 mod q
=t’ mod q=tl’
その結果、上記(式16)により多項式t’を算出して、t’=tl’+th’×qを満たす多項式th’を多項式sl’と合わせて署名としておけば、上記(式17)、s’=sl’+m1およびt’=tl’+th’×qから、2・N次元ベクトル(s’、t’)を算出することができる。そして、(s,t)と(m1,m2)の距離と、(s’,t’)と(m1,m2)の距離とが等しいため、(s’,t’)と(m1,m2)の距離に基づいて署名を正しく検証することができる。
110 署名生成装置
111 送信部
112 秘密鍵格納部
113 公開鍵証明書格納部
114 署名生成部
115 署名データセット生成部
120 署名検証装置
121 受信部
122 CA公開鍵格納部
123 署名データセット格納部
124 署名検証部
130 通信路
1141 ハッシュ値生成部
1142 署名ベクトル生成部
1143 署名データ生成部
1241 ハッシュ値生成部
1243 署名ベクトル生成部
1244 距離判定部
Claims (14)
- メッセージデータに対する署名データを、署名方式に従って生成する署名生成装置であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記署名生成装置は、
前記メッセージデータに対する、前記環Rの元s,tからなる署名ベクトルを、前記秘密鍵を用いて算出する署名ベクトル生成手段と、
前記元sを特定し得る前記環Rの第1の元と、前記元tをqで割ったときの商である前記環Rの第2の元とを示す前記署名データを生成する署名データ生成手段と
を備えることを特徴とする署名生成装置。 - 前記第1の元は、前記元sをqで割ったときの商である前記環Rの元shと、前記元sをqで割ったときの余りである前記環Rの元slとからなる
ことを特徴とする請求項1記載の署名生成装置。 - 前記署名生成装置は、さらに、
前記メッセージデータに対してハッシュ関数を適用することにより、前記環Rの元m1および元m2を生成するハッシュ値生成手段を備え、
前記署名データ生成手段は、
前記元sと前記元m1との差を前記第1の元として生成する
ことを特徴とする請求項1記載の署名生成装置。 - 前記署名ベクトル生成手段は、
前記元m1と前記元sとのそれぞれのi番目の要素(iは1からNの何れかの整数)が同じ値となるように、前記元sを算出する
ことを特徴とする請求項3記載の署名生成装置。 - 前記署名ベクトル生成手段は、
ノルムが0である前記環Rの元の加算または減算を行うことにより、前記元sを算出する
ことを特徴とする請求項4記載の署名生成装置。 - 前記署名ベクトル生成手段は、
前記第1の元に含まれる各要素の値が0に近づくように前記元sを算出する
ことを特徴とする請求項3記載の署名生成装置。 - メッセージデータに対する署名データを、署名方式に従って検証する署名検証装置であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記署名検証装置は、
前記メッセージデータに対して前記秘密鍵を用いて算出された、前記環Rの元s,tからなる署名ベクトルのうち、前記元sを、前記署名データの示す前記環Rの第1の元を用いて復元するとともに、前記元tを、前記署名データの示す前記環Rの第2の元にqを乗算した結果を用いて復元する署名ベクトル生成手段と、
前記署名ベクトルを検証する検証手段と
を備えることを特徴とする署名検証装置。 - 前記第1の元は、前記元sをqで割ったときの商である前記環Rの元shと、前記元sをqで割ったときの余りである前記環Rの元slとからなり、前記第2の元は、前記元tをqで割ったときの商であり、
前記署名ベクトル生成手段は、
前記元shにqを乗算して前記元slを加算することにより、前記元sを復元し、
前記元slと前記元hとの積の法をqとする剰余に、前記第2の元とqとの積を加算することにより、前記元tを復元する
ことを特徴とする請求項7記載の署名検証装置。 - 前記署名検証装置は、さらに、
前記メッセージデータに対してハッシュ関数を適用することにより、前記環Rの元m1および元m2を生成するハッシュ値生成手段を備え、
前記第1の元は、前記元sと前記元m1との差である前記環Rの元slからなり、前記第2の元は、前記元tをqで割ったときの商であり、
前記署名ベクトル生成手段は、
前記元slに前記元m1を加算することにより、前記元sを復元し、
前記元sと元hとの積の法をqとする剰余に、前記第2の元とqとの積を加算することにより、前記元tを復元する
ことを特徴とする請求項7記載の署名検証装置。 - 前記署名検証装置は、さらに、
前記メッセージデータに対してハッシュ関数を適用することにより、前記環Rの元m1および元m2を生成するハッシュ値生成手段を備え、
前記検証手段は、
前記署名ベクトルと、前記元m1および元m2からなるハッシュ値ベクトルとの距離を、予め定められた距離と比較することにより、前記署名ベクトルを検証する
ことを特徴とする請求項7記載の署名検証装置。 - 署名生成装置がメッセージデータに対する署名データを、署名方式に従って生成する署名生成方法であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記署名生成装置は、署名ベクトル生成手段と署名データ生成手段とを備え、
前記署名生成方法は、
前記署名生成ステップを含み、
前記署名生成ステップは、
前記署名ベクトル生成手段が、前記メッセージデータに対する、前記環Rの元s,tからなる署名ベクトルを、前記秘密鍵を用いて算出する署名ベクトル生成ステップと、
前記署名データ生成手段が、前記元sを特定し得る前記環Rの第1の元と、前記元tをqで割ったときの商である前記環Rの第2の元とを示す前記署名データを生成する署名データ生成ステップと
を含むことを特徴とする署名生成方法。 - 署名検証装置がメッセージデータに対する署名データを、署名方式に従って検証する署名検証方法であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記署名検証装置は、署名ベクトル生成手段と検証手段とを備え、
前記署名検証方法は、
前記署名検証ステップを含み、
前記署名検証ステップは、
前記署名ベクトル生成手段が、前記メッセージデータに対して前記秘密鍵を用いて算出された、前記環Rの元s,tからなる署名ベクトルのうち、前記元sを、前記署名データの示す前記環Rの第1の元を用いて復元するとともに、前記元tを、前記署名データの示す前記環Rの第2の元にqを乗算した結果を用いて復元する署名ベクトル生成ステップと、
前記検証手段が前記署名ベクトルを検証する検証ステップと
を含むことを特徴とする署名検証方法。 - メッセージデータに対する署名データを、署名方式に従って生成する集積回路であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記集積回路は、
前記メッセージデータに対する、前記環Rの元s,tからなる署名ベクトルを、前記秘密鍵を用いて算出する署名ベクトル生成手段と、
前記元sを特定し得る前記環Rの第1の元と、前記元tをqで割ったときの商である前記環Rの第2の元とを示す前記署名データを生成する署名データ生成手段と
を備えることを特徴とする集積回路。 - メッセージデータに対する署名データを、署名方式に従って検証する集積回路であって、
前記署名方式は、
加算、減算、乗算、および元の大きさを示すノルムが定義されたN次元配列の集合である環Rと、正整数qとに対し、前記環Rの元f,gおよび、f(mod q)の逆数である元Fqを生成し(ここでf(mod q)は、fをqで割った余りを示す。)、前記元gおよび前記元Fqの積と法をqとして合同である元hを公開鍵として生成し、f×G−g×F=qを満たす元F,Gを生成し(ここで×は環Rの乗算を示す。)、前記4つの元f,g,F,Gからなる組{f,g,F,G}を秘密鍵として生成する鍵生成ステップと、前記メッセージデータに対する、前記環Rの元である前記署名データを、前記秘密鍵を用いて生成する署名生成ステップと、前記公開鍵を用いて前記署名データを検証する署名検証ステップとを含み、
前記集積回路は、
前記メッセージデータに対して前記秘密鍵を用いて算出された、前記環Rの元s,tからなる署名ベクトルのうち、前記元sを、前記署名データの示す前記環Rの第1の元を用いて復元するとともに、前記元tを、前記署名データの示す前記環Rの第2の元にqを乗算した結果を用いて復元する署名ベクトル生成手段と、
前記署名ベクトルを検証する検証手段と
を備えることを特徴とする集積回路。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005120095 | 2005-04-18 | ||
| JP2005120095 | 2005-04-18 | ||
| PCT/JP2006/307533 WO2006115021A1 (ja) | 2005-04-18 | 2006-04-10 | 署名生成装置及び署名検証装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2006115021A1 JPWO2006115021A1 (ja) | 2008-12-18 |
| JP4620669B2 true JP4620669B2 (ja) | 2011-01-26 |
Family
ID=37214646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006527181A Expired - Lifetime JP4620669B2 (ja) | 2005-04-18 | 2006-04-10 | 署名生成装置、署名検証装置、それらの方法、および集積回路 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7792286B2 (ja) |
| EP (1) | EP1873965A1 (ja) |
| JP (1) | JP4620669B2 (ja) |
| CN (1) | CN1954548B (ja) |
| WO (1) | WO2006115021A1 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8885894B2 (en) * | 2004-06-14 | 2014-11-11 | Michael John Rowen | Reduction of transaction fraud through the use of automatic centralized signature/sign verification combined with credit and fraud scoring during real-time payment card authorization processes |
| KR20070100590A (ko) * | 2006-04-07 | 2007-10-11 | 삼성에스디아이 주식회사 | 전자방출표시소자 및 영상신호 보정방법 |
| JP4988448B2 (ja) * | 2007-06-25 | 2012-08-01 | 株式会社日立製作所 | 一括検証装置、プログラム及び一括検証方法 |
| JP5079024B2 (ja) * | 2008-02-20 | 2012-11-21 | 三菱電機株式会社 | 検証装置及び暗号文復号装置及び署名検証装置及び認証装置及び暗号システム及びコンピュータプログラム |
| DE102008015865B4 (de) * | 2008-03-26 | 2011-03-31 | Technische Universität Darmstadt | Verfahren zur Erzeugung einer digitalen Signatur |
| ATE547855T1 (de) * | 2008-10-01 | 2012-03-15 | Sap Ag | Kontextfreie und kontextsensitive digitale xml- signaturen für soap botschaften |
| JP5593850B2 (ja) * | 2010-05-31 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
| US8677135B2 (en) | 2010-12-17 | 2014-03-18 | Microsoft Corporation | Digital signatures with error polynomials |
| JP5606344B2 (ja) * | 2011-01-25 | 2014-10-15 | 三菱電機株式会社 | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム |
| JP2013042315A (ja) * | 2011-08-12 | 2013-02-28 | Sony Corp | 情報処理装置、及び情報処理方法 |
| US9942031B2 (en) * | 2014-09-03 | 2018-04-10 | Research Foundation Of The City University Of New York | System and method for private-key fully homomorphic encryption and private search between rings |
| KR102444193B1 (ko) * | 2020-04-29 | 2022-09-19 | 국방과학연구소 | Ring-LWR기반 양자내성 서명 방법 및 그 시스템 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005515659A (ja) * | 2001-12-07 | 2005-05-26 | エヌティーアールユー・クリプトシステムズ・インコーポレーテッド | ディジタル署名、認証方法及び装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69737097T2 (de) | 1996-08-19 | 2007-07-12 | Ntru Cryptosystems, Inc. | Kryptographisches verfahren und vorrichtung mit öffentlichem schlüssel |
| GB0013399D0 (en) * | 2000-06-01 | 2000-07-26 | Tao Group Ltd | Decryption of cipher polynomials |
| JP4053431B2 (ja) * | 2001-05-04 | 2008-02-27 | 株式会社エヌ・ティ・ティ・ドコモ | 環ベースの署名スキーム |
| US20040151309A1 (en) * | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
| CN1260664C (zh) * | 2003-05-30 | 2006-06-21 | 武汉理工大学 | 一种用户计算机之间交换密钥的方法 |
| JP4786531B2 (ja) * | 2004-05-12 | 2011-10-05 | パナソニック株式会社 | 暗号システム、暗号装置、復号装置、プログラムおよび集積回路 |
-
2006
- 2006-04-10 WO PCT/JP2006/307533 patent/WO2006115021A1/ja not_active Ceased
- 2006-04-10 US US11/578,978 patent/US7792286B2/en active Active
- 2006-04-10 CN CN2006800001667A patent/CN1954548B/zh not_active Expired - Lifetime
- 2006-04-10 EP EP06731480A patent/EP1873965A1/en not_active Withdrawn
- 2006-04-10 JP JP2006527181A patent/JP4620669B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005515659A (ja) * | 2001-12-07 | 2005-05-26 | エヌティーアールユー・クリプトシステムズ・インコーポレーテッド | ディジタル署名、認証方法及び装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1954548A (zh) | 2007-04-25 |
| WO2006115021A1 (ja) | 2006-11-02 |
| EP1873965A1 (en) | 2008-01-02 |
| JPWO2006115021A1 (ja) | 2008-12-18 |
| CN1954548B (zh) | 2010-07-21 |
| US7792286B2 (en) | 2010-09-07 |
| US20090235078A1 (en) | 2009-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| El Mrabet et al. | Guide to pairing-based cryptography | |
| JP5341878B2 (ja) | 署名及び検証方法、署名生成装置並びに署名検証装置 | |
| CA2587474C (en) | New trapdoor one-way function on elliptic curves and their applications to shorter signatures and asymmetric encryption | |
| KR102423885B1 (ko) | 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템 | |
| EP1710952B1 (en) | Cryptographic Applications of the Cartier Pairing | |
| JP4786531B2 (ja) | 暗号システム、暗号装置、復号装置、プログラムおよび集積回路 | |
| JP2011223612A (ja) | 暗号化装置、復号化装置、認証装置、検証装置、暗号化方法、復号化方法、認証方法、検証方法、暗号化プログラム、復号化プログラム、認証プログラム及び検証プログラム | |
| JP4620669B2 (ja) | 署名生成装置、署名検証装置、それらの方法、および集積回路 | |
| KR101099867B1 (ko) | 서명 장치, 검증 장치, 증명 장치, 암호화 장치, 및 복호화장치 | |
| US8589679B2 (en) | Identifier-based signcryption with two trusted authorities | |
| US20050135610A1 (en) | Identifier-based signcryption | |
| US7739504B2 (en) | Signature generation apparatus and signature verification apparatus | |
| US8924448B2 (en) | Arithmetic device, method, and program product | |
| JP5871827B2 (ja) | 安全性強化システム、安全性強化装置、検証装置、およびプログラム | |
| Mohapatra et al. | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
| JP2009177242A (ja) | 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム | |
| Elhassani et al. | Elliptic curve and lattice cryptosystem | |
| JP2025091630A (ja) | デジタル署名システム、方法並びに記録媒体 | |
| Boneh | Review of SEC1: Elliptic Curve Cryptography | |
| JP2003233306A (ja) | 公開鍵暗号安全性評価方法及び装置及び公開鍵暗号安全性評価プログラム及び公開鍵暗号安全性評価プログラムを格納した記憶媒体 | |
| Bernstein et al. | Progress in Cryptology-AFRICACRYPT 2010: Third International Conference on Cryptology in Africa, Stellenbosch, South Africa, May 3-6, 2010, Proceedings | |
| Lacharité | Revisiting the security model for aggregate signature schemes | |
| JP2010245683A (ja) | 暗号システム、鍵生成装置、暗号化装置、復号化装置及び暗号処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100608 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100726 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100915 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101028 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4620669 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061219 |