JP3331321B2 - Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method - Google Patents
Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the methodInfo
- Publication number
- JP3331321B2 JP3331321B2 JP18718298A JP18718298A JP3331321B2 JP 3331321 B2 JP3331321 B2 JP 3331321B2 JP 18718298 A JP18718298 A JP 18718298A JP 18718298 A JP18718298 A JP 18718298A JP 3331321 B2 JP3331321 B2 JP 3331321B2
- Authority
- JP
- Japan
- Prior art keywords
- signer
- calculating
- information
- function
- public information
- 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
Description
【0001】[0001]
【発明の属する技術分野】この発明は、電子化された文
書の稟議/決済等のシステムで、一つ又は複数の文書に
複数の署名者が個別に、あるいは多重に又は重畳して電
子的に署名/捺印し、それ等の署名を検証者が一括検証
する方法と装置、及びその方法を記録した記録媒体に関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system for approval / payment of an electronic document, in which a plurality of signers are individually or multiplexed or superimposed on one or a plurality of documents. The present invention relates to a method and an apparatus for performing signature / stamping, and a verifier to collectively verify those signatures, and a recording medium on which the method is recorded.
【0002】[0002]
【従来の技術】デジタル署名方式の代表的な例として、
RSA暗号(R.L. Rivest, et.al,"AMethod for Obtain
ing Digital Signatures and Public-Key Cryptosystem
s", Communications of the ACM, Vol. 21, No.2, pp.1
20-126,(1978))を利用した方式がある。RSA暗号
は、以下の通りである。2. Description of the Related Art As a typical example of a digital signature system,
RSA encryption (RL Rivest, et.al, "AMethod for Obtain
ing Digital Signatures and Public-Key Cryptosystem
s ", Communications of the ACM, Vol. 21, No. 2, pp. 1
20-126, (1978)). The RSA encryption is as follows.
【0003】署名者Aは、署名用鍵(d,N) と検査用鍵
(e, N)をそれらが N=P×Q e×d 1(mod L) ただしL=LCM{(P-1), (Q-1)} を満たすように生成し、検査用鍵を公開し、署名用鍵を
秘密に管理する。ここで、LCM{a,b}は整数aとbの最
小公倍数を表して、PとQは異なる2つの大きな素数と
する。また、a b(mod L) は、a-b がLの倍数であるこ
とを表す。The signer A has a signature key (d, N) and a verification key.
Generate (e, N) such that they satisfy N = P × Q e × d 1 (mod L) where L = LCM {(P-1), (Q-1)}, and publish the inspection key The secret key is managed secretly. Here, LCM {a, b} represents the least common multiple of integers a and b, and P and Q are two different large prime numbers. Ab (mod L) indicates that ab is a multiple of L.
【0004】RSA暗号は、Nが大きいときNの素因数
分解が困難なことに安全性の根拠を持つ暗号系であり、
公開された検査用鍵(N, e)から秘密の署名用鍵のd成分
を求めることは困難である。検証者Bは、署名者Aの検
査用鍵(e, N)を署名者Aの個人識別情報(ID)と組合わせ
て管理する。センタが、検査用鍵を公開情報管理簿とし
て管理することも多い。[0004] The RSA cryptosystem is a cryptosystem having a security basis that it is difficult to factor N when N is large.
It is difficult to obtain the d component of the secret signature key from the published inspection key (N, e). The verifier B manages the inspection key (e, N) of the signer A in combination with the personal identification information (ID) of the signer A. The center often manages the inspection key as a public information management book.
【0005】署名関数Dと検証関数Eを D(m)=mdmod N E(y)=yemod N で定義する。0≦m<N を満たす整数mに対して E(D(m))=m が成り立つことが示せる。ここで、a mod N は、aをN
で割ったときの余りを表す。[0005] The signature function D and verification function E is defined by D (m) = m d mod NE (y) = y e mod N. It can be shown that E (D (m)) = m holds for an integer m satisfying 0 ≦ m <N. Where a mod N is a
Represents the remainder when divided by.
【0006】RSA暗号を利用したデジタル署名方式は
以下の通りである。署名者Aは、一方向性関数fを用い
て文書mから生成したf(m)に対して、秘密の署名関数D
を適用してy=D(f(m)) で署名yを生成し、署名者Aの個
人識別情報(ID)と文書mと署名yの組合せ(ID,m,y)を署
名つき通信文として検証者Bに送信する。検証者Bは、
署名者AのIDをキーに検査用鍵の登録された公開情報
管理簿を検索して署名者Aの情報(e,N) を得て、それを
使って、署名つき通信文のy成分からE(y)=yemodN を求
め、mから一方向性関数fを使って求めたf(m)と一致す
るか検査する。E(y)=f(m) が成り立てば、署名関数D(m)
=mdmodN を知っている者、即ちdを知っている者は真の
署名者Aだけなので、送信者が本物のAであり、(ID,m,
y)は改ざんされていないと判断する。The digital signature system using the RSA encryption is as follows. The signer A applies a secret signature function D to f (m) generated from the document m using the one-way function f.
Is applied to generate a signature y with y = D (f (m)), and a combination of the personal identification information (ID) of the signer A, the document m, and the signature y (ID, m, y) is added to the signed message. To the verifier B. Verifier B,
Searching the public information management book in which the inspection key is registered using the signer A's ID as a key, obtaining the information (e, N) of the signer A, and using it, from the y component of the signed message E determine the (y) = y e modN, inspect it matches the f (m) obtained using a one-way function f from the m. If E (y) = f (m) holds, the signature function D (m)
= m d Since the only person who knows modN, that is, the person who knows d is the true signer A, the sender is the real A and (ID, m,
It is determined that y) has not been tampered with.
【0007】ここで、fが一方向性関数であるとは、x
からf(x)を求める計算は容易であるが、f(x)からxを求
めるのが困難な関数である。fは高速な慣用暗号化装
置、例えばDES暗号(Data Encryption Standard,Fed
eral Information ProcessingStandards Publication 4
6, 1977)を用いて構成できる。高速な構成要素を用い
れば、fの計算時間はほとんど無視できる。なお、以降
で用いる一方向性関数f,hは、任意のデータ長のxに
対してそれらの値f(x),h(x)を計算できるものである。Here, f is a one-way function when x
This function is easy to calculate f (x) from f (x), but it is difficult to calculate x from f (x). f is a high-speed conventional encryption device, for example, DES encryption (Data Encryption Standard, Fed
eral Information Processing Standards Publication 4
6, 1977). If a high-speed component is used, the calculation time of f can be almost ignored. The one-way functions f and h used hereinafter can calculate their values f (x) and h (x) for x having an arbitrary data length.
【0008】ところで、RSA暗号で用いる整数Nは通
常十進308 桁(1024ビット)程度であり、署名用鍵のd
成分も1024ビット程度となる。ここで、署名関数Dを計
算するには、平方乗算アルゴリズムがよく知られてお
り、308 桁の整数の乗法(ただし法Nによる剰余計算を
含む)が平均1536回必要であり、署名者Aにおける署名
作成の処理量が大きい。The integer N used in the RSA encryption is usually about 308 decimal digits (1024 bits),
The component is also about 1024 bits. Here, in order to calculate the signature function D, a square multiplication algorithm is well known, which requires an average of 1536 multiplications of a 308-digit integer (including the remainder calculation by the modulus N). Significant amount of signature creation processing.
【0009】xamod N を計算するための平方乗算アルゴ
リズムは以下のとおり。 ステップS1: z=1 ステップS2: 添字iについて0から|a|-1 になる
まで以下の処理ステップS2-1,S2-2を繰り返し実行する
(|a|はaのビット数を表すものとする) ステップS2-1: z'=z2mod N ステップS2-2: ai=1なら、z=z'x modNとzを更新し
てステップS2-1に戻り(aiはaの第iビット目の値であ
り、0又は1)、ai=0ならzを更新せずそのままステッ
プS2-1に戻る。 ステップS3: zを出力する。The square multiplication algorithm for calculating x a mod N is as follows. Step S1: z = 1 Step S2: The following processing steps S2-1 and S2-2 are repeatedly executed from 0 to | a | -1 for the subscript i.
(It is assumed that | a | represents the number of bits of a.) Step S2-1: z ′ = z 2 mod N Step S2-2: If a i = 1, update z = z′x mod N and z The process returns to step S2-1 (a i is the value of the i-th bit of a, 0 or 1). If a i = 0, the process directly returns to step S2-1 without updating z. Step S3: Output z.
【0010】平方乗算アルゴリズムは例えば Square-an
d-multiply algorithm, Douglas R.Stinson: "CRYPTOGR
APHY, Theory and Practice", CRC Press p.127, 1995
に示されている。署名者装置における署名作成の処理量
の増加の問題を解決する方式として、対話証明(Fiatと
Shamirの方式やSchnorr の方式が代表例)がある(A.Fi
at, andA.Shamir,: "How to prove yourself: practica
l solutions to identificationand signature problem
s", Advances in Cryptology-Crypto 86, Springer-Ver
lag, pp.186-194. C.P. Schnorr: "Efficient Identifi
cation and Signaturesfor Smart Card" Advances in C
ryptology-EUROCRYPT'89, Springer-Verlag, pp.235-25
1 及び M.Tompa and H.Woll: "Random Self-Reducibili
ty and Zero Knowledge Interactive Proofs Possesion
of Information," Proceedings of the28th IEEE Symp
osium on the Fundation of computer Science, pp. 47
2-482 (1987)) 。The square multiplication algorithm is, for example, Square-an
d-multiply algorithm, Douglas R. Stinson: "CRYPTOGR
APHY, Theory and Practice ", CRC Press p.127, 1995
Is shown in As a method for solving the problem of an increase in the amount of processing for creating a signature in the signer device, interactive proof (Fiat and
Typical examples are the Shamir method and the Schnorr method) (A.Fi
at, andA.Shamir ,: "How to prove yourself: practica
l solutions to identification and signature problem
s ", Advances in Cryptology-Crypto 86, Springer-Ver
lag, pp.186-194. CP Schnorr: "Efficient Identifi
cation and Signatures for Smart Card "Advances in C
ryptology-EUROCRYPT'89, Springer-Verlag, pp.235-25
1 and M. Tompa and H. Woll: "Random Self-Reducibili
ty and Zero Knowledge Interactive Proofs Possesion
of Information, "Proceedings of the28th IEEE Symp
osium on the Fundation of computer Science, pp. 47
2-482 (1987)).
【0011】以下では、Schnorr の方法によるデジタル
署名について説明する。信頼できるセンタは、qがp-1
の約数となる関係を持つ2つの大きな素数p,qと、位
数qをもつ整数g (Z/pZ)*={1, 2, …, p-1} とを公
開する。 ステップS1: 署名者Aは、乱数s∈(Z/qZ)={0, 1,
2, …, q-1} を生成して、 I=gsmodp (1) で公開情報Iを計算し、個人識別情報(ID)とIの組を
公開する。The digital signature according to the Schnorr method will be described below. For a reliable center, q is p-1
, And two large prime numbers p and q having a relationship of divisors and an integer g (Z / pZ) * = {1, 2,..., P-1} having an order q. Step S1: The signer A obtains a random number s∈ (Z / qZ) = {0, 1,
2, ..., and generates a q-1}, and calculates the public information I in I = g s modp (1) , personal identification information (ID) and exposes a set of I.
【0012】署名者Aは、検証者Bに対して、文書mが
本物であることを、次の手順で証明する。 ステップS2: 署名者Aは、乱数r∈(Z/qZ) を生成し
て、 X=grmodp (2) を計算する。 ステップS3: 署名者Aは、整数e∈(Z/qZ) を一方向
性関数fを用いて e=f(X, m) (3) の演算で計算する。 ステップS4: 署名者Aは署名yを y= (r+es) modq (4) の演算で生成して、{ID,m,X,y}を署名つき通信文とし
て検証者Bに送る。 ステップS5: 検証者Bは、整数e∈(Z/qZ) を、一方
向性関数fを用いて e=f(X, m) (5) の演算で計算する。 ステップS6:検証者Bは、 gy≡ XIe(modp) (6) が成り立つことを検査する。ここで、Iは識別情報IDに
対応した公開情報である。The signer A proves to the verifier B that the document m is authentic by the following procedure. Step S2: The signer A generates a random number r∈ (Z / qZ) and calculates X = g r modp (2). Step S3: The signer A calculates the integer e∈ (Z / qZ) by the operation of e = f (X, m) (3) using the one-way function f. Step S4: The signer A generates a signature y by an operation of y = (r + es) modq (4), and sends {ID, m, X, y} to the verifier B as a signed communication message. Step S5: The verifier B calculates the integer e∈ (Z / qZ) by the calculation of e = f (X, m) (5) using the one-way function f. Step S6: The verifier B checks that g y ≡ XI e (modp) (6) holds. Here, I is public information corresponding to the identification information ID.
【0013】yの作り方よりgy≡gr(gs)e≡XIe(modp)
であるから、上記の検査に合格した場合、検証者Bは文
書mがAから送信されたものであると認める。上述のス
テップS2〜S4において、整数e∈(Z/qZ) とy∈(Z/q
Z) を決めてから式(6) の検査式に合格するX∈(Z/pZ)*
を計算して、e=f(X, m)が成り立つ場合に{ID,X,m,y}
を署名つき通信文とすると、署名の偽造に成功する。し
かし、検査式e=f(m, X)が成り立つ確率は1/q なので、
署名の偽造に要する計算量はqで決まる。以降では、p
のビット数を|p|で表す。From the way of creating y , g y ≡g r (g s ) e ≡XI e (modp)
Therefore, if the above-mentioned inspection is passed, the verifier B recognizes that the document m is transmitted from A. In the above steps S2 to S4, the integers e∈ (Z / qZ) and y∈ (Z / q
X) (Z / pZ) *
, And if e = f (X, m) holds, then {ID, X, m, y}
Is a signed message, the signature is successfully forged. However, the probability that the check formula e = f (m, X) is 1 / q,
The amount of computation required to forge a signature is determined by q. Hereafter, p
Is represented by | p |.
【0014】Schnorr の方式では、送信者における署名
作成処理は、|p|ビットの整数の乗算(ただし法pに
おける剰余計算を含む)が平均3/2|q|回、|q|ビッ
トの整数の乗算(ただし法qにおける剰余計算を含む)
が1回、|q|ビットの整数の加算(ただし法qにおけ
る剰余計算を含む)が1回となる。ここでは、署名つき
通信文を{ID,X,m,y}としたが、Xの代わりにeを用い
て{ID,e,m,y}とすることも可能である。このときに
は、X=(gy)(Ie)-1modpでXを計算して、e=f(X, m)
の関係式が成り立つことを検査することになる。|e|
<|X|のとき、後者の方が通信文を短くできる。According to Schnorr's scheme, the signature creation process at the sender is performed by multiplying an integer of | p | bits (including the remainder calculation in the modulus p) 3/2 | q | Multiplication (including the remainder calculation in modulo q)
Once, and the addition of an integer of | q | bits (including the remainder calculation in modulo q) is performed once. Here, the signed message is {ID, X, m, y}, but it is also possible to use {e, instead of X} to {ID, e, m, y}. At this time, X is calculated by X = (g y ) (I e ) -1 modp, and e = f (X, m)
It is checked that the relational expression holds. | e |
When <| X |, the latter can shorten the message.
【0015】ここで、複数の署名者が異なる文書に重畳
して署名することを考える。重畳署名方式が使用される
典型的な例として、公開情報管理者CAが、署名者の公
開識別情報IDと公開情報Iの対応関係の正当性を、文
書(ID, I) に対するデジタル署名、T=DCA(ID, I) 、に
よって保証し、そのデジタル署名Tを署名者に送り、署
名者は文書mと署名Tの組に対して公開情報Iに対応す
る秘密情報を用いて署名DID(m,T)を作成し、検証者に送
信し、検証者は署名者による署名DID(m,T)と公開情報管
理者による署名Tを検証することが考えられる。Here, consider a case where a plurality of signers superimpose a signature on different documents. As a typical example in which the superimposed signature method is used, the public information manager CA determines the validity of the correspondence between the signer's public identification information ID and the public information I by using a digital signature for the document (ID, I), T = D CA (ID, I) , ensured by, it sends the digital signature T signer, signer signed using the secret information corresponding to the public information I for a set of signatures T and document m D It is conceivable that the ID (m, T) is created and transmitted to the verifier, and the verifier verifies the signature D ID (m, T) by the signer and the signature T by the public information manager.
【0016】このとき、重畳署名方式では、署名者にお
ける署名生成の処理量をおさえること、検証者における
署名検証の処理量をおさえること、署名成分の増加をお
さえること等が問題となる。RSA暗号系を用いたデジ
タル署名では、それぞれの署名者iが文書mi に順次署
名を施し、即ち、DL(mL, …, D2(f(m2, D1(f(m1))))…)
によって重畳署名を実現できる。このとき、署名生成の
処理量が大きいことが問題となる。At this time, in the superimposed signature scheme, there are problems in that the processing amount of signature generation by the signer, the processing amount of signature verification by the verifier, and the increase in signature components are reduced. The digital signature using the RSA cryptosystem, each signer i sequentially signature applied to a document m i, i.e., D L (m L, ... , D 2 (f (m 2, D 1 (f (m 1 ))))…)
Thus, a superimposed signature can be realized. At this time, there is a problem that the processing amount of signature generation is large.
【0017】一方、単純にSchnorr 法を適用すると、署
名者i毎に文書(m1,…,mi-1,mi) に{IDi,Xi,yi}の情
報を付加する方法が考えられる。ここで、Xi成分は|p
|ビット、yi成分は|q| ビットである。L人の署名者
が署名するとき、最終的に(|p|+|q|)×Lビットの
情報がメッセージ、即ちL人のID及び文書(m1,…,mL)
に付加される。署名成分(X成分、y成分)の増加が問
題となる。On the other hand, when the Schnorr method is simply applied, a method of adding information of {ID i , X i , y i } to a document (m 1 ,..., Mi i , mi ) for each signer i Can be considered. Where the X i component is | p
Bits, the y i component is | q | bits. When L signers sign, finally (│p│ + │q│) × L bits of information are the message, ie, the L person's ID and the document (m 1 ,..., M L )
Is added to An increase in signature components (X component, y component) is a problem.
【0018】次に、複数の署名者が1つの文書に対して
順次署名する多重署名に適用することを考える。RSA
暗号系を用いたデジタル署名では、通信文{ID,m,y}の
署名yに順次署名を施して(即ちDL…D1(f(m)))で多重
署名を実現できる。このとき、署名生成の処理量が大き
いことが問題となる。一方、単純にSchnorr 法を適用す
ると、署名者毎にメッセージmに{ID,X,y}の情報を付
加する方法が考えられる。ここで、X成分は|p| ビッ
ト、y成分は|q|ビットである。L人の署名者が順次
署名するとき、最終的に(|p|+|q|)×Lビットの情
報がメッセージ(L人のID及び文書m)に付加される。
署名成分(X成分,y成分)の増加が問題となる。Next, consider application to a multiple signature in which a plurality of signers sequentially sign one document. RSA
In the digital signature using an encryption system, a multiple signature can be realized by sequentially applying a signature to the signature y of the message {ID, m, y} (that is, D L ... D 1 (f (m))). At this time, there is a problem that the processing amount of signature generation is large. On the other hand, if the Schnorr method is simply applied, a method of adding information of {ID, X, y} to the message m for each signer can be considered. Here, the X component is | p | bits, and the y component is | q | bits. When the L signers sequentially sign, the information of (| p | + | q |) × L bits is finally added to the message (the IDs of the L persons and the document m).
An increase in signature components (X component, y component) becomes a problem.
【0019】従来より、同一の文書に順次署名する多重
署名に関しては、X成分とy成分の値を署名作成処理毎
に累積することで、X成分とy成分をそれぞれ1個に削
減可能な多重署名法が提案されている(K.Ohta and T.O
kamoto: "A Digital Multisignature Scheme Based on
the Fiat-Shamir Scheme," Advances in Cryptology-AS
IACRYPT'91, Springer-Verlag,pp.139-148)。しかし、
この方式では、複数の署名者の間で通信文を2回持ち回
る(2巡回する)必要があるので、L人で多重署名する
には(2L-1)回の通信が必要であり、通信回数の増加が問
題となる。Conventionally, with respect to a multiple signature for sequentially signing the same document, the X component and the y component can be reduced to one by accumulating the values of the X component and the y component for each signature creation process. A signature method has been proposed (K. Ohta and TO
kamoto: "A Digital Multisignature Scheme Based on
the Fiat-Shamir Scheme, "Advances in Cryptology-AS
IACRYPT'91, Springer-Verlag, pp.139-148). But,
In this method, since it is necessary to carry a message twice (two rounds) between a plurality of signers, (2L-1) times of communication is required to perform multiple signatures by L persons. An increase in the number of times becomes a problem.
【0020】2巡回を要する多重署名では、署名対象の
文書が署名者ごとに異なる場合に拡張しようとしても、
重畳署名は実現できない。なぜなら、1巡目にすべての
文書、例えばm1,m2,を確定する必要があるために、文
書m1 に対する署名を生成後に、文書(m1,m2)に対する
署名を生成できないからである。ElGamal 署名を多重署
名に変形する方式が提案されている(新保淳:“多重署
名に適したElGamal 署名の一変形方式”SCIS94-2C)。し
かし、当該の文献では署名の重畳使用については考えら
れていない。そこで提案された変形法では、Schnorr 署
名を1巡回にすることは困難であり、さらに、そこで提
案されている、いずれの方式も安全性が厳密に評価でき
ていない問題がある(上記の文献のp.9 のむすび、を参
照)。In a multi-signature requiring two rounds, even if an attempt is made to expand the document to be signed when the signer differs for each signer,
Superimposed signatures cannot be realized. This is because it is not possible to generate a signature for the document (m 1 , m 2 ) after generating a signature for the document m 1 because all documents, for example, m 1 and m 2 , need to be determined in the first round. is there. A method of transforming ElGamal signatures into multiple signatures has been proposed (Jun Shinbo: "A modification of ElGamal signatures suitable for multiple signatures" SCIS94-2C). However, the reference does not consider the use of signature superposition. With the proposed modified method, it is difficult to make the Schnorr signature one cycle, and further, there is a problem that the security of any of the proposed methods cannot be strictly evaluated (see the above document). Conclusion on p.9).
【0021】デジタル署名を利用した応用システムで
は、重畳署名あるいは多重署名を行わない場合でも、複
数の署名が一ケ所に集められて検証処理を実行するよう
な状況をしばしば発生する。例えば、電子マネーが発行
機関に還流されて、電子マネーの正当性を検証する場合
などである。この様な場合、前述したように、対話証明
を用いると、署名の作成処理量を大幅に削減できる。し
かし、署名の検証処理については、処理量が増加するこ
とがある。例えば、Schnorrの方法をRSA法と比較す
ると、Schnorrの方法では|p|ビットの整数の乗算
(ただし法pにおける剰余計算を含む)が平均3|q|/2
回であるが、RSA法では安全性を損なわずにe=3と
することができるので、|N|ビットの整数の乗算(た
だし法Nにおける剰余計算を含む)が2回ですむ。In an application system using a digital signature, a situation in which a plurality of signatures are collected at one place and a verification process is executed often occurs even when a superimposed signature or a multiple signature is not performed. For example, there is a case where the electronic money is returned to the issuing institution to verify the validity of the electronic money. In such a case, as described above, the use of the interactive proof can significantly reduce the amount of processing for creating a signature. However, the amount of processing for signature verification may increase. For example, comparing Schnorr's method with the RSA method, the Schnorr's method requires | p | -bit integer multiplication (including the remainder calculation in modulo p) on average 3 | q | / 2
However, in the RSA method, e = 3 can be set without impairing security, so that multiplication by an integer of | N | bits (including the remainder calculation in the modulus N) is performed twice.
【0022】ここで、上記のデジタル署名方式を、複数
の署名を一括して検証することを考える。RSA暗号系
を用いたデジタル署名では、署名生成の処理量が大きい
ことが問題であったし、また、署名者ごとに異なる法の
値Niを用いるので、NiとNjの検証を一括処理できないと
考えられる。Here, consider the above digital signature scheme in which a plurality of signatures are collectively verified. The digital signature using the RSA cryptosystem, to be treated of signature generation is large has been a problem, and because using the value N i different laws for each signer, batch verification of N i and N j Probably not processed.
【0023】単純にSchnorr法を適用すると、署名者i
はメッセージmiに{IDi, Xi, yi}の情報を付加して署
名とする。ここで、Xi成分は|p|ビット、yi成分は|
q|ビットである。L人の署名者iがそれぞれ異なる文
書mi(1≦i≦L)に署名するとき、検証式をL個独立し
て検査すると、検査のための処理量はL回分となる。そ
こで、y成分の値を累積することで、検査式をWhen the Schnorr method is simply applied, the signer i
The message m i to {ID i, X i, y i} and signed by adding information. Here, the X i component is | p | bits, and the y i component is |
q | bits. When each of the L signers i signs a different document mi (1 ≦ i ≦ L), if L verification equations are independently checked, the processing amount for the inspection is L times. Therefore, by accumulating the value of the y component, the inspection formula is
【0024】[0024]
【数22】 ただし、y'=ΣL i=1yi及びei=f(Xi, mi)、と1つにす
る方法が提案されている。例えば、文献:太田,岡
本:"Fiat-Shamir法を用いた多重署名法",電子情報通
信学会春季全国大会(1989年)、A-277(1989)、文献:
原田、館林:“効率的なn変数べき乗剰余演算法とその
一応用”,電子情報通信学会技術報告ISEC91-40(199
1)。(Equation 22) However, y '= Σ L i = 1 y i and e i = f (X i, m i), and a method of one has been proposed. For example, Literature: Ota, Okamoto: "Multi-signature method using Fiat-Shamir method", IEICE Spring Conference (1989), A-277 (1989), Literature:
Harada, Tatebayashi: "Efficient n-variable modular exponentiation and its application", IEICE technical report ISEC91-40 (199)
1).
【0025】これらの方法では、署名者は他の署名者の
署名まで偽造できるため、安全性の問題が生じる。この
問題は、例えば、文献:新保、川村:“「n変数べき乗
剰余演算とその応用」に関する考察”電子情報通信学会
技術報告ISEC91-59(1991) の5章に書かれている。これ
らの文献では、1つの文書に複数人が署名を行なう状況
について署名の作成法と検証法及びその攻撃法が示され
ているが、文書が異なる場合でも、上記の検査式を用い
ると、多重署名に対する攻撃をそのまま適用できるの
で、安全性の問題がある。In these methods, the signer can forge the signature of another signer, and thus a security problem arises. This problem is described in, for example, literatures: Shinbo and Kawamura: "Study on" N-variable exponentiation operation and its application "", Chapter 5 of IEICE technical report ISEC91-59 (1991). Describes how to create and verify a signature and how to attack it in a situation where multiple persons sign a single document. However, even if the documents are different, the above check formula can be used to attack multiple signatures. Can be applied as it is, so there is a security problem.
【0026】[0026]
【発明が解決しようとする課題】この発明の第1の目的
は、複数の署名により同一文書又は異なる文書に対し与
えられた重畳署名又は多重署名又は個別署名を一括検証
することができる署名方法とその装置及び記録媒体を提
供することである。この発明の第2の目的は、複数の署
名者が異なる文書に署名を行ない、署名の順序関係を保
証したい場合、署名成分のデータ量の増加を押えた安全
な重畳署名方法とその装置及び記録媒体を提供すること
にある。A first object of the present invention is to provide a signature method capable of collectively verifying a superimposed signature, a multiple signature, or an individual signature given to the same document or different documents by a plurality of signatures. It is to provide the device and the recording medium. A second object of the present invention is to provide a secure superimposed signature method, an apparatus and a recording method thereof, in which a plurality of signers sign different documents and want to guarantee the order relationship of the signatures, while suppressing an increase in the data amount of the signature component. To provide a medium.
【0027】この発明の第3の目的は、複数の署名者間
で通信文を1回持ち回る(即ち、(L-1) 回の通信からな
る1巡回)のみで実現可能であり、かつ署名成分のデー
タ量の増加を押えた安全な多重署名方法及びその装置及
び記録媒体を提供することにある。この発明の第4の目
的は、複数の署名者がそれぞれ異なる文書に署名する場
合に、一括して効率良く検証可能な安全な署名法、その
装置、記録媒体を提供することにある。The third object of the present invention can be realized only by carrying a message once between a plurality of signers (that is, one round consisting of (L-1) communications), and can realize a signature. It is an object of the present invention to provide a secure multi-signature method, an apparatus and a recording medium which suppress the increase in the data amount of components. A fourth object of the present invention is to provide a secure signature method, an apparatus, and a recording medium that can be efficiently and collectively verified when a plurality of signers sign different documents.
【0028】[0028]
【課題を解決するための手段】この発明の第1の観点に
よる署名検証方法は、以下のステップを含む:各署名者
iは(a) 第1乱数siを秘密情報として生成し、公開パラ
メータβと上記第1乱数siとを使って関数G2により情報
Ii=(si,β)を生成し、上記署名者iが使用する2つの一
方向性関数fi, hiと識別情報IDi と共に署名者の公開情
報{IDi,Ii,fi,hi}として公開し、(b) 第2乱数riを生
成し、関数Φに上記パラメータβと上記第2乱数riとを
設定して情報Xi=Φ(ri, β) を生成し、上記情報Xiを含
む情報をX'i とおき、(c) 署名すべき文書miを含む文書
情報m'i と上記情報X'i を使い、一方向性関数fiとhiに
より ei= fi(X'i, m'i) di= hi(X'i, m'i) を生成し、(d) ei, di, si, riを含む情報に対し、上記
パラメータβを使って生成した上記署名関数Sgi により
署名 yi= Sgi(ei,di,si,ri,y'i-1) を生成し、上記識別情報IDi を含む情報を識別情報ID'i
とすると、{ID'i,X'i,m'i,yi}を、検証者を最終宛先
として送出し、ただし、直接検証者に送る場合はy'i-1
を空文とし、他の署名者を経由して送る場合はy'i-1=y
i-1とし、検証者は(e) 受信した情報{ID'i,X'i,m'i,
yi}中のID'iに含まれる識別情報IDi に対応する情報Ii
と上記一方向性関数fi, hiを公開情報{IDi,Ii,fi,hi}
から求め、上記一方向性関数fi, hiと受信したX'i, m'i
とを使ってeiとdiを求め、(f) 上記情報X'i 中のXiを
得て、i=1,…,L についてのdiとXiの演算(Xi*di)と、ei
とIiの演算(Ii*ei) を含む関数Vにより Z'= V((Xi*di), (Ii*ei)|i=1,…,L) を求め、(g) yiとβの演算(yi*β)を含む関数ΓによりW
=Γ(yi*β)を求め、W=Z'で検証処理を行い、値が一致
すれば全ての署名に不正がないと判定する。A signature verification method according to a first aspect of the present invention includes the following steps: each signer i: (a) generates a first random number s i as secret information; Information using the function G 2 using β and the first random number s i
I i = (s i , β) is generated, and the signer's public information {ID i , I i , f along with the two one-way functions f i , h i and the identification information ID i used by the signer i i, and published as h i}, (b) a second random number r i generates, information to set the above parameters beta and the second random number r i to the function Φ X i = Φ (r i , β) It generates the information including the information X i X uses i and the information X 'i to' i Distant, document information m containing documents m i should sign (c) ', the one-way function f i h i by e i = f i (X ' i, m' i) d i = h i (X 'i, m' i) to generate, (d) e i, d i, s i, the r i For the information included, a signature y i = Sg i (e i , d i , s i , r i , y ′ i−1 ) is generated by the signature function Sg i generated using the parameter β, and the identification is performed. The information including the information ID i is identified by the identification information ID ' i
Then, {ID ' i , X' i , m ' i , y i } is sent to the verifier as the final destination. However, when sent directly to the verifier, y' i-1
Is an empty sentence and sent via another signer, y ' i-1 = y
i-1 and the verifier (e) receives the information {ID ' i , X' i , m ' i
Information I i corresponding to identification information ID i included in ID ′ i in y i }
And the one-way function f i, public information h i {ID i, I i , f i, h i}
, And the one-way functions f i , h i and the received X ′ i , m ′ i
To obtain e i and d i using (f), obtain X i in the above information X ′ i , and calculate d i and X i for i = 1,..., L (X i * d i ) And e i
And calculation of I i (I i * e i ) Z by a function V including '= V | seeking ((X i * d i) , (I i * e i) i = 1, ..., L), ( g) By the function Γ including the operation of y i and β (y i * β),
= Γ (y i * β), and a verification process is performed with W = Z ′. If the values match, it is determined that all signatures are correct.
【0029】この発明の第2の観点によれば、主要な署
名成分であるy成分の値を署名作成処理毎に累積して署
名成分のデータ量の増加をおさえることで、Fiat-Shami
r 法やSchnorr 法に対して適用可能な重畳署名法を構成
する。従来、検証処理で用いる指数成分はIのべき乗成
分として用いるe成分のみであったが、新たに、Xのべ
き乗も行なうこととして第二のべき乗成分としてd成分
を導入し、e成分とd成分を署名者の順序を考慮して作
成することで、安全性を保証しつつ、通信回数の増加を
押える。According to the second aspect of the present invention, the value of the y component, which is the main signature component, is accumulated for each signature creation process to suppress an increase in the data amount of the signature component, thereby achieving the Fiat-Shami
Construct a superposition signature method applicable to the r method and the Schnorr method. Conventionally, the exponent component used in the verification process is only the e component used as a power component of I. However, a power component of X is newly performed, and a d component is introduced as a second power component. Is created in consideration of the order of the signers, thereby suppressing the increase in the number of communications while ensuring security.
【0030】この発明の第3の観点によれば、主要な署
名成分であるy成分の値を署名作成処理毎に累積して署
名成分のデータ量の増加をおさえることで、Fiat-Shami
r 法やSchnorr 法に対して適用可能な多重署名法を構成
する。従来、検証処理で用いる指数成分はIのべき乗成
分として用いるe成分のみであったが、新たに、Xのべ
き乗も行なうこととして第二のべき乗成分としてd成分
を導入することで、安全性を保証しつつ、通信回数の増
加を押える。According to the third aspect of the present invention, the value of the y component, which is a main signature component, is accumulated for each signature creation process to suppress an increase in the data amount of the signature component, thereby achieving a Fiat-Shami
Construct a multisignature method applicable to the r method and the Schnorr method. Conventionally, the exponent component used in the verification processing is only the e component used as a power of I component. However, by introducing a power of X as a new power component and introducing a d component as a second power component, safety is improved. Suppress the increase in the number of communications while guaranteeing.
【0031】この発明の第4の観点によれば、従来、検
証処理で用いる指数成分はIのべき乗成分として用いる
e成分のみであったが、新たに、Xのべき乗も行なうこ
ととして第二のべき乗成分としてd成分を導入すること
で、主要な署名成分であるy成分の値を署名検証時に累
積して署名検証のための検査式を1つにしても、安全性
を保証できるFiat-Shamir 法やSchnorr法に対して適
用可能な一括検証可能な署名法を構成する。According to the fourth aspect of the present invention, conventionally, the exponent component used in the verification processing is only the e component used as a power of I component. By introducing the d component as a power component, the value of the y component, which is the main signature component, is accumulated at the time of signature verification, and even if there is only one check formula for signature verification, the Fiat-Shamir can guarantee security. A signature method that can be collectively verified that can be applied to the law and the Schnorr method is constructed.
【0032】[0032]
【発明の実施の形態】この発明による一括署名を実施す
るシステムとしては、図1Aに示すように、センタ装置
(以下単にセンタとも呼ぶ)100 とL個(Lは2以上の
整数)の署名者装置(以下単に署名者とも呼ぶ)301, 3
02, …, 30L 及び検証者装置(以下単に検証者とも呼
ぶ)800 とが、安全性が保障された回線400 で接続さ
れ、署名者装置301, 302, …, 30L は安全性が保証され
ていない回線500 で順次接続されている。L番目の署名
者装置30L は安全性が保証されてない回線700 により検
証者装置800 に接続されている。このシステムにおい
て、署名者301 は、文書m1に署名関数Sg1 により署名を
付けてy1=Sg1(m1)として次の署名者302 に送信し、署名
者302 は文書m2と受信した署名情報y1に対し署名関数Sg
2により署名を付けてy2=Sg2(m1,y1) として署名者303
に送信し、以下同様に繰り返し、最後の署名者30Lは文
書mLと受信した署名情報yL-1に対し、署名関数SgLによ
り署名を付けてyL=SgL(mL,yL-1) として検証者装置800
に与える。この様な署名処理を重畳署名と呼ぶ。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS As shown in FIG. 1A, a system for performing a collective signature according to the present invention includes a center device (hereinafter simply referred to as a center) 100 and L (L is an integer of 2 or more) signers. Equipment (hereinafter also simply referred to as signer) 30 1 , 3
0 2, ..., (hereinafter also referred to as simply the verifier) 30 L and the verifier's apparatus 800 and is connected by line 400 safety is guaranteed, the signer apparatus 30 1, 30 2, ..., 30 L safety Are sequentially connected by a line 500 whose performance is not guaranteed. The Lth signer device 30 L is connected to the verifier device 800 by a line 700 whose security is not guaranteed. In this system, the signer 30 1, y 1 = transmitted as Sg 1 (m 1) to the next signer 30 2 with a signature by the signature function Sg 1 to document m 1, signer 30 2 Article m 2 and signature function Sg for received signature information y 1
2 by with the signature y 2 = Sg 2 (m 1 , y 1) as a signer 30 3
Transmitted to, and so repetition, the last signer 30 L whereas signature information y L-1 and the received document m L, with a signature by the signature function Sg L y L = Sg L ( m L, y L-1 ) as verifier device 800
Give to. Such a signature process is called a superimposed signature.
【0033】この例において、最初の署名者の文書m1の
みが存在し、以降の署名者の文書m2,…,mLが存在しない
場合は、同一文書m1に対しL人の署名者が順次重ねて署
名を行うことになり、これを多重署名と呼ぶ。いずれに
しても、この発明では、検証者800 は受信した署名情報
yLを一括検証する。なお、この発明の検証方法では、全
ての署名に不正がなければ、1回の検証処理により終了
するが、何れか1つに不正があった場合、その不正署名
者を検出するため、例えば署名者数が2Mの場合、前半又
は後半の2M-1人の署名について一括検証を行い、不正が
あればその2M-1人の前半又は後半の2M-2人、無ければ残
りの2M-1人の前半又は後半の2M-2人についての署名を一
括検証し、以下同様に繰り返すことでM+1 回の検証処理
により不正署名を検出することができる。In this example, if only the first signer's document m 1 exists and no subsequent signer's documents m 2 ,..., M L exist, L signers for the same document m 1 Are sequentially superimposed on each other, and this is called a multiple signature. In any case, according to the present invention, the verifier 800
Verify y L collectively. In the verification method of the present invention, if all signatures are not invalid, the process is completed by one verification process. However, if any one is invalid, in order to detect the unauthorized signer, for example, If the number of Sha is 2 M, the first half or about 2 M-1 person of the signature of the second half performs a batch verification, the 2 M-1 person of the first half or the second half of the 2 M-2 people if there is fraud, the remaining without signed batch verification of 2 M-1 person half or 2 M-2 people in the second half, it is possible to detect illegal signature by M + 1 times of the verification process by repeating on.
【0034】この発明を実施するもう1つのシステムと
しては、図1Bに示すように、センタ装置100 とL個の
署名者装置301, …, 30Lと検証者装置800 が図1Aの場
合と同様に安全性の保証された回線400 で接続されてい
るが、それぞれの署名者装置301, …, 30Lと検証者装置
800 との間は安全性の保証されていない回線500 で直接
接続されている。このシステムにおいては、各署名者は
文書miに対し署名関数Sgi により署名を付けてyi=Sgi(m
i)として検証者800 に送信し、検証者800 は受信した署
名情報yi=Sgi(mi), i=1,…,L、を一括検証する。[0034] The second system embodying the present invention, as shown in FIG. 1B, the center device 100 and the L signer apparatus 30 1, ..., and if 30 L and verifier device 800 of FIG. 1A Similarly, they are connected by a secure line 400, but each signer device 30 1 ,…, 30 L and verifier device
800 is directly connected by a line 500 whose security is not guaranteed. In this system, each signer signs a document m i with a signature function Sg i and y i = Sg i (m
i ) is transmitted to the verifier 800, and the verifier 800 collectively verifies the received signature information y i = Sg i (m i ), i = 1,..., L.
【0035】これら2つのシステムにおいて、この発明
による複数の署名者による署名の一括検証を行う方法の
原理をまず説明する。 ステップS1: センタ100 は各署名者が署名関数Sgi
を生成するためのパラメータqと、そのパラメータqを
使って関数G1により生成したパラメータβ=G1(q)とを
含む公開パラメータを公開する(全署名者及び検証者に
配送する)。 ステップS2: 各署名者iは第1乱数siを秘密情報と
して生成し、記憶装置に保持しておく。また、上記公開
パラメータβと第1乱数siとを使って関数G2により情報
Ii=G2(si,β)を生成し、署名者iが使用する2つの一方
向性関数fi, hiと識別情報IDi と共に署名者公開情報
{IDi,Ii,fi,hi}としてセンタ100 に登録する。 ステップS3: 署名者iは第2乱数riを生成し、関数
Φにパラメータβと第2乱数riとを設定して情報Xi=Φ
(ri,β)を生成し、その情報Xiを含む情報をX'i とお
く。 ステップS4: 署名者iは署名すべき文書miを含む文
書情報m'i と情報X'i を使い、2つの一方向性関数fiと
hiにより ei= fi(X'i, m'i) (8) di= hi(X'i, m'i) (9) を生成する。 ステップS5: 署名者iはei, di, si, riを含む情報
に対し、署名関数Sgi により署名 yi= Sgi(ei,di,si,ri,y'i-1) (10) を生成し、識別情報IDi を含む情報を識別情報ID'iとお
き、{ID'i,X'i,m'i,yi}を検証者を最終宛先として直
接、又は他の署名者を経由して送出する。ただし、直接
検証者に送る場合は、y'i-1=空文とし、他の署名者を経
由して送る場合はy'i-1=yi-1とする。 ステップS6: 検証者は受信した情報{ID'i,X'i,
m'i,yi }中のID'iに含まれる識別情報IDi に対応する
情報Iiと2つの一方向性関数fi, hi を公開情報{IDi,I
i,fi,hi}から求め、式(8), (9)の一方向性関数fi, hi
と受信したX'i, m'i とを使ってeiとdiを求める。更に
受信した情報X'i に含まれるXiを抽出して、diとXi間の
演算di*Xi と、eiとIi間の演算ei*Ii を行い、その演算
結果について関数Vにより Z'= V((Xi*di), (Ii*ei)|i=1,…,L) (11) を求める。記号*で示す演算としては、べき乗演算、乗
算などを使用することができる。 ステップS7: 検証者は更に、yiとβの間の演算結果
yi*β を関数Γに設定してW=Γ(yi*β) を求め、W=Z'
の比較によって検証処理を行い、等号が成立すれば全て
の署名に不正がないと判定する。In these two systems, the principle of the method for collectively verifying signatures by a plurality of signers according to the present invention will be described first. Step S1: The center 100 determines that each signer has a signature function Sg i
Public parameters including a parameter q for generating and a parameter β = G 1 (q) generated by the function G 1 using the parameter q (distributed to all signers and verifiers). Step S2: Each signer i generates the first random number s i as secret information and holds it in the storage device. The information by a function G 2 with the public parameter β and the first random number s i
I i = G 2 (s i , β) to generate a signer i is two used one-way function f i, h i and the identification information ID signer public information with i {ID i, I i, f i , h i } are registered in the center 100. Step S3: The signer i generates a second random number r i, information to set the parameters β and the second random number r i to the function [Phi X i = [Phi
(r i , β) is generated, and information including the information X i is set as X ′ i . Step S4: The signer i uses the document information m 'i and information X' i including the document m i should sign, and two one-way function f i
h i by e i = f i (X ' i, m' i) (8) d i = h i (X 'i, m' i) to generate (9). Step S5: The signer i signs the information including e i , d i , s i , and r i by the signature function Sg i y i = Sg i (e i , d i , s i , r i , y ′). i-1) (10) generates the identification information ID i information identification information ID including 'i Distant, {ID' i, X ' i, m' i, y i} the verifier as the final destination Send out directly or via another signer. However, when sending directly to the verifier, set y ' i-1 = blank sentence, and when sending via another signer, set y' i-1 = y i-1 . Step S6: The verifier receives the received information {ID ′ i , X ′ i ,
The information I i corresponding to the identification information ID i included in the ID ′ i in m ′ i , y iと and the two one-way functions f i , h i are made public information {ID i , I
i , f i , h i 、, and the one-way functions f i , h i in equations (8) and (9)
Request e i and d i with the X 'i, m' i and the received. Extracts X i further included in the information X 'i received, it performs an arithmetic d i * X i between d i and X i, the operation e i * I i between e i and I i, the calculation With respect to the result, Z ′ = V ((X i * d i ), (I i * e i ) | i = 1,..., L) (11) is obtained by the function V. As the operation indicated by the symbol *, a power operation, multiplication, or the like can be used. Step S7: The verifier further calculates the operation result between y i and β
Set y i * β to the function Γ to obtain W = Γ (y i * β), and W = Z '
The verification process is performed by comparing the above, and if the equality sign is satisfied, it is determined that all signatures are correct.
【0036】図1Aの重畳又は多重署名システムで上述
の方法により一括検証を行うには、y'i-1=yi-1とし、更
に X'i=(X'i-1, Xi) (12) m'i=(m'i-1, mi) (13) ID'i=(ID'i-1, IDi) (14) とし、署名者iは署名者(i-1) から{ID'i-1, X'i-1,
m'i, yi-1}を受信し、ステップS3〜S5を実行し、
{ID'i,X'i,m'i,yi}を署名者(i+1) に送信し、最後の
署名者はステップS3〜S5を実行して{ID'L,X'L,
m'L,yL}を検証者に送信する。この場合、重畳署名が行
われることになる。In order to perform batch verification by the above-described method in the superimposition or multi-signature system of FIG. 1A, y ′ i−1 = y i−1 and X ′ i = (X ′ i−1 , X i ) (12) m ′ i = (m ′ i−1 , m i ) (13) ID ′ i = (ID ′ i−1 , ID i ) (14), and signer i is signer (i−1) From {ID ' i-1 , X' i-1 ,
m ′ i , y i−1 } and execute steps S3 to S5,
Send {ID ′ i , X ′ i , m ′ i , y i } to the signer (i + 1), and the last signer executes steps S3 to S5 to execute {ID ′ L , X ′ L ,
Send m ' L , y Lに to the verifier. In this case, a superimposed signature is performed.
【0037】上述において、m'1=m1=mとし、m2=m3=…=m
L=“空文”とすると、即ちm'2=m'3=…=m'L=mとすると、
前述の多重署名となる。図1Bの個別署名システムで上
述のステップS1〜S7の方法により一括検証を行うに
は、y'i-1=空文, X'i=Xi, m'i=mi, ID'i=IDiとし、署名
者iはステップS3,S4,S5により生成した情報
{IDi,Xi,mi,yi}を直接検証者へ送る。In the above, m ′ 1 = m 1 = m, and m 2 = m 3 =... = M
If L = “empty statement”, that is, m ' 2 = m' 3 =… = m ' L = m,
This is the multiple signature described above. In the individual signature system shown in FIG. 1B, in order to perform batch verification by the method of the above-mentioned steps S1 to S7, y ′ i−1 = empty sentence, X ′ i = X i , m ′ i = m i , ID ′ i = and ID i, the signer i sends steps S3, S4, information generated by S5 {ID i, X i, m i, y i} a directly verifier.
【0038】この様に、この発明ではステップS4で示
したように、各署名者は2つの一方向性関数fi, hiを使
ってeiとdiの2つの情報を生成し、それらの成分を含む
yiを生成し、検証において、これら2つの情報ei, diを
織り込んで署名を検証するので、署名者1〜Lによる署
名を経て一回の情報のフローに基づいて検証を行うこと
ができ、しかも安全性が保証される。これに対し、前述
したSchnorrの署名検証方法では、式(3)、(4)で示すよ
うに、1つの一方向性関数fを使って求めたeと乱数
r、sから署名yを求めているため、その方法を単純に
重畳署名に適用しようとすると、署名者が署名を付加す
る毎に次の署名者へ送信する情報{IDi,Xi,yi} の情報
量の増加が大きくなり、検証者における処理の負担が大
きくなる問題がある。As described above, in the present invention, as shown in step S4, each signer generates two pieces of information, e i and d i , using two one-way functions f i , h i. Contains the components of
Since y i is generated and the signature is verified by incorporating these two pieces of information e i and d i in the verification, it is possible to perform verification based on a single information flow after signing by the signers 1 to L. Yes, and safety is guaranteed. On the other hand, according to the above-mentioned Schnorr signature verification method, as shown in equations (3) and (4), a signature y is obtained from e and a random number r and s obtained using one one-way function f. Therefore, if the method is simply applied to a superimposed signature, the amount of information {ID i , X i , y i } transmitted to the next signer every time the signer adds a signature increases greatly. Thus, there is a problem that the burden of processing on the verifier increases.
【0039】以下に、図1A,1Bのシステムにおいて
適用する上述の原理的署名一括検証方法を実施する具体
的方法と、それを実行する各署名者装置、及び検証者装
置の構成例を説明する。 実施例1 ここでは、図1Aのシステムにおいて前述のこの発明の
原理に基づく重畳署名とその一括検証をSchnorr法に適
用して行う実施例について説明する。ここで示す、第二
のべき乗成分を利用する考え方は、Fiat −Shamir 法
及びそれらを包括する対話証明を利用したデジタル署名
に対しても広く適用可能である。Fiat-Shamir法などを
包括する対話証明の構成例は、TompaとWollの論文に述
べられている。Hereinafter, a specific method for carrying out the above-described principle signature batch verification method applied to the system of FIGS. 1A and 1B, each signer apparatus for executing the method, and a configuration example of the verifier apparatus will be described. . Embodiment 1 Here, an embodiment will be described in which a superimposed signature based on the principle of the present invention and its collective verification are applied to the Schnorr method in the system of FIG. 1A. The concept using the second power component shown here can be widely applied to the Fiat-Shamir method and a digital signature using interactive proof that includes them. Examples of constructing dialog proofs that include the Fiat-Shamir method and others are given in the paper by Tompa and Woll.
【0040】各署名者装置30i(i=1,…,L) はシステム加
入時にそれぞれ秘密情報siと公開情報を生成し、公開情
報(ID,I)をセンタ装置100 の公開情報管理簿に登録す
る。センタ装置100 は、必要に応じて公開情報を署名者
装置301,…,30L及び検証者装置800 に配送する。まず、
センタ装置100 がシステムを開始する際の初期情報設定
処理について説明する(図2参照)。ここでは、システ
ム一意の値{p,q,g }を公開するのが目的である。Each signer device 30 i (i = 1,..., L) generates secret information s i and public information when joining the system, and stores the public information (ID, I) in the public information management book of the center device 100. Register with. The center device 100 delivers the public information to the signer devices 30 1 ,..., 30 L and the verifier device 800 as necessary. First,
Initial information setting processing when the center device 100 starts the system will be described (see FIG. 2). Here, the purpose is to make the system unique values {p, q, g} public.
【0041】(1-A) 初期情報設定処理(システム開始時
におけるセンタ装置の処理) ステップS1: 素数生成器110 を用いて素数pを生成
し、除算器120 を用いてp-1 の約数となる素数qを生成
する。 ステップS2: 原始元生成器130 を用いて(Z/pZ)* の
原始元αを生成し、剰余つきべき乗乗算器140 を用い
て、 g = α(p-1)/qmodp (15) の演算で位数qを持つ整数gを生成する。式(15)の右辺
は前述の関数G1を表し、右辺のgはβに対応する。 ステップS3: 安全な通信路400 を介して、署名者装
置301, …, 30Lと検証者装置800 に公開情報{p,q,g}
を配送する。(1-A) Initial information setting processing (processing of the center device at the start of the system) Step S1: A prime number p is generated using the prime number generator 110, and a divisor of p-1 is calculated using the divider 120. A prime number q is generated. Step S2: A primitive element α of (Z / pZ) * is generated by using the primitive element generator 130, and g = α (p−1) / q modp (15) An integer g having an order q is generated by the operation. Right side of equation (15) represents a function G 1 of the foregoing, the right side of g corresponds to beta. Step S3: via a secure channel 400, the signer apparatus 30 1, ..., public information to the verifier apparatus 800 and 30 L {p, q, g }
Deliver.
【0042】(1-B) システム加入時における署名者i装
置の処理 次に、署名者iがシステムに加入する際の処理について
説明する(署名者i装置30i を示す図3参照)。署名者
装置30i の記憶部33には、センタ100 から与えられ
た公開情報{p,q,g}が保持されている。 ステップS4: 乱数発生器31を用いて乱数si を生
成し、剰余つきべき乗乗算器32に公開情報g,pと共
に入力して(1-B) Processing of Signer i Apparatus When Joining System Next, processing when the signer i joins the system will be described (see FIG. 3 showing the signer i apparatus 30i ). The public information {p, q, g} given from the center 100 is stored in the storage unit 33 of the signer apparatus 30 i . Step S4: A random number s i is generated by using the random number generator 31 and input to the modular exponentiation multiplier 32 together with the public information g and p.
【0043】[0043]
【数23】 の演算で公開情報Iiを計算する。式(16)の右辺は前述の
関数G2を表す。ステップS5: 署名者i装置は安全な
通信路400 を介して、センタ装置100 に個人識別情報ID
i と共に公開情報Ii,一方向性関数fi,hiを送信して公
開情報{IDi,Ii,fi,hi}として登録する。siを秘密情報
として記憶部33に保持する。(Equation 23) To the calculation of the public information I i in operation. Right side of equation (16) represents the aforementioned function G 2. Step S5: The signer i apparatus sends the personal identification information ID to the center apparatus 100 via the secure communication path 400.
The public information I i and the one-way functions f i and h i are transmitted together with i and registered as public information {ID i , I i , f i , h i }. s i is stored in the storage unit 33 as secret information.
【0044】他の署名者装置がシステムに加入する際に
も同様の処理を行う。センタ装置100 は全署名者からの
公開情報(IDi,Ii,fi,hi)(i=1, 2,…,L) を何らかの方
法、例えば公開簿により公開することにより検証者装置
800 に与えておく。以降では、署名者i装置の出力する
文書m'i に対する署名つき通信文を{ID'i,X'i,m'i,
yi} と表す。以下では、署名対象とする通信文を署名
者(i-1) 装置が送信し、これに対し署名者i装置が署名
作成処理を行い、その結果を署名者(i+1) 装置に送信す
る場合について説明する。L人が重畳署名する場合に
は、iを1からLまで1つずつ増加して、以下の手順を
繰り返せばよい。ここでは署名者(L+1) 装置を検証者装
置とみなす。ただし、ID'0=空集合、X'0 =空集合、y0
=0とおく。Similar processing is performed when another signer apparatus joins the system. Center device 100 public information from all signer (ID i, I i, f i, h i) (i = 1, 2, ..., L) somehow verifier device by exposing, for example, by public list
Give 800. Hereinafter, the signed communication message for the document m ′ i output from the signer i apparatus is denoted by {ID ′ i , X ′ i , m ′ i ,
y i }. In the following, the signer (i-1) device transmits a message to be signed, the signer i device performs a signature creation process, and transmits the result to the signer (i + 1) device. The case will be described. In a case where L persons perform the superimposition signature, i may be increased by 1 from 1 to L, and the following procedure may be repeated. Here, the signer (L + 1) device is regarded as a verifier device. Where ID ' 0 = empty set, X' 0 = empty set, y 0
= 0.
【0045】(1-C) 署名作成時の署名者i装置の処理 図4に通信文の交信シーケンスを、図5に署名者i装置
の機能構成を示す。署名者(i-1) 装置から通信文{ID'
i-1,X'i-1,m'i,yi-1} を受信すると、署名者i装置は
以下の署名作成処理を行う。ステップS6: 乱数発生
器310 を用いて乱数riを生成して、記憶部33に保持さ
れている公開情報p,gと共に、関数Фを演算する剰余
つきべき乗乗算器320に入力して(1-C) Processing of Signer i-Device at the Time of Signature Creation FIG. 4 shows a communication sequence of a communication message, and FIG. 5 shows a functional configuration of the signer i-device. Signer (i-1) Message {ID 'from device
i-1, X 'i- 1, m', receives the y i-1}, the signer i device performs the following signature creation process. Step S6: generates a random number r i using a random number generator 310, public information p stored in the storage unit 33, together with g, and enter the remainder with a power multiplier 320 for calculating a function Ф
【0046】[0046]
【数24】 の演算でXiを計算する。 ステップS7: 関数fi計算器330 と関数hi計算器340
を用いて ei = fi(X'i, m'i) (18) di = hi(X'i, m'i) (19) の各演算でeiとdiを求める。ここでX'i=(X'i-1,Xi)ま
たm'i=(m'i-1,mi)とする。miは署名者iの署名対象の
文書である。 ステップS8: ei,di,riを公開情報q,秘密情報si
と共に、剰余つき乗算器350 、剰余つき加算器360 に入
力して、署名 yi = (yi-1+diri+eisi)modq (20) を生成する。式(20)の右辺は前述の式(10)における署名
関数Sgiを表す。 ステップS9: ID'i=(ID'i-1,IDi)とおき、{ID'i,
X'i,m'i,yi}を署名者(i+1) 装置に送信する。(Equation 24) Calculate X i by the following operation. Step S7: function f i calculator 330 and a function h i calculator 340
Is used to obtain e i and d i in each operation of e i = f i (X ′ i , m ′ i ) (18) d i = h i (X ′ i , m ′ i ) (19). Here, it is assumed that X ′ i = (X ′ i−1 , X i ) and m ′ i = (m ′ i−1 , m i ). mi is the document to be signed by signer i. Step S8: e i , d i , r i are made public information q, secret information s i
At the same time, it is input to a multiplier 350 with a remainder and an adder 360 with a remainder to generate a signature y i = (y i−1 + d i r i + e i s i ) modq (20). Right side of the equation (20) represents a signature function Sg i in the above equation (10). Step S9: Set ID ′ i = (ID ′ i−1 , ID i ) and {ID ′ i ,
X ′ i , m ′ i , y i } are sent to the signer (i + 1) device.
【0047】(1-D) 署名検証時の検証者装置800 の処理 図6に検証者装置800 の機能構成を示す。署名者L装置
から通信文{ID'L,X'L,m'L,yL} を受信すると、検証者
装置800 は以下の処理により署名が正しいか検証する。 ステップS10: センタ装置100 から与えられた公開
情報{IDi, Ii, fi, hi} 中の一方向性関数fi,hiを一
方向性関数計算器810 と820 に設定する。X'Lの先頭の
i個の成分からX'i を構成し、m'L の先頭のi個の成分
からm'i を構成し、X'i ,m'i を関数fi計算器810 と関
数hi計算器820 に設定して ei=fi(X'i,m'i)=fi(X1,X2,…,Xi,{m1,m2,…,mi}) (21) di=hi(X'i,m'i)=hi(X1,X2,…,Xi,{m1,m2,…,mi}) (22) の各演算でeiとdiを求める(1≦i≦L)。 ステップS11: センタ装置100 から与えられた公開
情報{IDi,Ii,fi,hi} (i=1,2,…,L)からIiを得て、ま
たX'L 中のXiを求め、上記で作成したei,di,公開情報
pと共に複数成分剰余つきべき乗乗算器830 に入力して(1-D) Processing of Verifier Apparatus 800 at the Time of Signature Verification FIG. 6 shows a functional configuration of the verifier apparatus 800. Signer L communication text from the device {ID 'L, X' L , m 'L, y L} receives a verifier device 800 signature to verify correct by the following process. Step S10: To set the public information given from the center apparatus 100 {ID i, I i, f i, h i} one-way function f i in the h i one-way function calculator 810 and 820. X constitute a 'beginning of i pieces of components from the X of L' i, constitutes the i 'm from the beginning of the i-number of components of the L' m, X 'i, m' i-function f i calculator 810 And the function h i calculator 820 are set to e i = f i (X ′ i , m ′ i ) = f i (X 1 , X 2 ,…, X i , {m 1 , m 2 ,…, m i }) (21) d i = h i (X ′ i , m ′ i ) = h i (X 1 , X 2 ,…, X i , {m 1 , m 2 ,…, m i }) (22 ) And e i and d i are obtained (1 ≦ i ≦ L). Step S11: I i is obtained from public information {ID i , I i , f i , h i } (i = 1, 2,..., L) given from the center apparatus 100, and X in X ′ L is obtained. i is obtained and input to the exponentiation multiplier 830 with the multi-component remainder together with e i , d i , and the public information p created above.
【0048】[0048]
【数25】 の演算でZ'を求める。式(23)の右辺は発明の原理で説明
した関数V((Xi*di),(Ii*ei)|i=1,…,L)に対応する。 ステップS12: yLを記憶部88に保持されている公
開情報p,gと共に剰余つきべき乗乗算器840 に入力し
て(Equation 25) Z ′ is calculated by the following operation. The right side of equation (23) corresponds to the function V ((X i * d i ), (I i * e i ) | i = 1,..., L) described in the principle of the present invention. Step S12: y L public information p, which is held in the storage unit 88, is input to modular with a power multiplier 840 with g
【0049】[0049]
【数26】 の演算でWを求める。 ステップS13: Z'とWを比較器850 に入力して W = Z' (25) が成立するかを検査して、一致すれば、文書(m1,…,
mL)はL個の正しい署名者i装置によってそれぞれ署名
されたものであると認める。(Equation 26) W is calculated by the following calculation. Step S13: Z ′ and W are input to the comparator 850 to check whether W = Z ′ (25) holds. If they match, the document (m 1 ,...,
m L ) are each signed by L correct signer i devices.
【0050】(1-E) 複数成分用に改良された平方乗算ア
ルゴリズム 複数成分剰余つきべき乗乗算器830 における式(23)の演
算のように、例えばxaybmodN で表されるような複数成
分の剰余付きべき乗乗算を計算するための、改良された
平方乗算アルゴリズムは以下のとおりである。 Step 1: z=1 Step 2: 添字i=0, 1, …, |a|-1 について以下の処
理を実行する(|a|はaのビット数を表す) Step 2-1: z=z2modN (26) Step 2-2: (ai, bi)=(1, 0)であれば z= zx modN (27) (ai, bi)=(0, 1)であれば z= zy modN (28) (ai, bi)=(1, 1)であれば z=z(xy)modN (29) ここで、aiはa の第iビット目の値であり、0又は1の値
をとり、 biも同様である。Step 3: zを出力する。(1-E) An improved square multiplication algorithm for a plurality of components. As in the operation of equation (23) in the multiplicative remainder exponentiation multiplier 830, for example, a plurality of squares represented by x ay b modN An improved square multiplication algorithm for calculating a modular exponentiation multiplication of components is as follows. Step 1: z = 1 Step 2: Perform the following processing on the subscripts i = 0, 1,..., | A | -1 (| a | represents the number of bits of a) Step 2-1: z = z 2 modN (26) Step 2-2: If (a i , b i ) = (1, 0), z = zx mod N (27) If (a i , b i ) = (0, 1), then z = Zy mod N (28) If (a i , b i ) = (1, 1), then z = z (xy) mod N (29) where a i is the value of the i-th bit of a and 0 Or take the value of 1, and b i is the same. Step 3: Output z.
【0051】x=Xi,a=di,y=Ii,b=ei,N=pで上記
のアルゴリズムを用いれば、 Z1Z2modp が求まる。ただし、By using the above algorithm with x = X i , a = d i , y = I i , b = e i , and N = p, Z 1 Z 2 modp can be obtained. However,
【0052】[0052]
【数27】 である。yLの作り方より[Equation 27] It is. From how to make y L
【0053】[0053]
【数28】 であるから、上記の検査に合格した場合、検証者装置80
0 は文書{m1, …, mL}がL人(個)の正しい署名者
(装置)によって署名されたものであると認める。複数
成分用平方乗算アルゴリズムの更に効率良い実現法は、
例えば、D.E.Knuth“The Art of Computer Programmin
g, Vol.2, Seminumerical Argorithms,“Addison-Wesle
y pubilishing (1981), p.465のExercises 27と35に書
かれている。[Equation 28] Therefore, if the above inspection is passed, the verifier device 80
0 recognizes that the document {m 1 ,..., M L } has been signed by L (number) correct signers (devices). A more efficient implementation of the square multiplication algorithm for multiple components is:
For example, DEKnuth “The Art of Computer Programmin
g, Vol. 2, Seminumerical Argorithms, “Addison-Wesle
y pubilishing (1981), p. 465, Exercises 27 and 35.
【0054】この方法によれば、乗算(法pによる剰余
計算を含む)の回数は、sを、事前計算の結果をテーブ
ルに記憶しておく際の、記憶の単位(上記の複数成分用
の平方乗算アルゴリズムでは、s=2である。)とおく
と、 (2s-s-1)[(2L+1)/s]+[(2L+1)/s]|q|-1+|q|-1 となる。[b/a] はb/a 以上の最小の整数を表す。According to this method, the number of times of multiplication (including the remainder calculation by the modulus p) is expressed by s as the unit of storage (the above-described multi-component In the square multiplication algorithm, s = 2.) If (2 s -s-1) [(2L + 1) / s] + [(2L + 1) / s] | q | -1+ | q | -1. [b / a] represents the smallest integer not less than b / a.
【0055】なお署名者i装置30i がその署名に先立
ち、受信した通信文{ID'i-1,X'i-1,m'i,yi-1}が先行
する署名者1装置乃至署名者(i-1) 装置によりそれぞれ
正しく署名されたものであることを検証し、その検証に
合格すれば、署名をするようにすることもできる。この
場合、予めセンタ100 は署名者iにi=1, …, (i-1)に付
いての公開情報(IDi, Ii, fi, hi) を与えておき、検証
は検証者装置800 での処理ステップS10 〜S13 と同様に
行えばよい。この場合はこのステップS10 〜S13中のL
の代りに(i-1) とすればよい。Prior to the signature, the signer i device 30 i is preceded by the received message {ID ′ i−1 , X ′ i−1 , m ′ i , y i−1 }. The signer (i-1) can verify that the signatures are correctly signed by the devices, and if the verification is successful, sign the signature. In this case, the center 100 previously gives the signer i public information (ID i , I i , f i , h i ) associated with i = 1,..., (I-1), The processing may be performed in the same manner as the processing steps S10 to S13 in the device 800. In this case, L in steps S10 to S13
Instead of (i-1).
【0056】また署名者装置、検証者装置は通常は上記
各処理をコンピュータにより実行する。この発明はSch
norr法に適用されるのみならず、Fiat−Shamir法、及
びそれらを包括する対話証明を利用したデジタル署名に
対して広く適用できることを先に述べた。従ってこの発
明の方法を一般的に述べれば次のようになる。The signer apparatus and the verifier apparatus usually execute each of the above-described processes using a computer. The invention is based on Sch
It was mentioned earlier that the method is applicable not only to the norr method but also to the Fiat-Shamir method and digital signatures using interactive proofs that include them. Therefore, the method of the present invention is generally described as follows.
【0057】つまり公開するシステムパラメータは群の
要素の個数を指定するp,群演算で演算の起点となる群
の要素g,要素gをq回演算するとgに戻るような正の
整数qである。署名者i装置は、システム加入時に、乱
数発生器を用いて乱数siを生成し、siを群演算計算器に
公開情報g,pと共に入力してgをsi回演算することで
公開情報Iiを計算し、個人識別情報IDi と共に公開情報
Ii,一方向性関数fi,hiを公開情報として公開して、si
を秘密情報として保持し、署名処理においては署名者i
装置は、署名者(i-1) 装置から文書mi-1に対する署名つ
き通信文{ID'i-1,X'i-1,m'i-1,yi-1 }を受信すると、
乱数発生器を用いて乱数riを生成して、riを公開情報
p,gと共に、群演算計算器に入力してgをri回演算す
ることでXiを計算し、X'i=(X'i-1, Xi)とおき、またm'
i=(m'i-1,mi) とし、更に関数fi計算器と関数hi計算器
を用いて ei = fi(X'i, m'i) di = hi(X'i, m'i) を計算してeiとdiを求め、ei,di,riを公開情報q,秘
密情報si と共に、指数成分乗算器、指数成分加算器に
入力して、署名関数Sgiにより署名 yi = (yi-1+diri+eisi)modq を計算してyiを求め、ID'i=(ID'i-1,IDi)とおき、{I
D'i,X'i,m'i,yi} を署名者(i+1) 装置に送信する。That is, the system parameters to be disclosed are p specifying the number of elements of the group, element g of the group which is the starting point of the operation in the group operation, and a positive integer q which returns to g when the element g is operated q times. . Signer i device, published by the time of system subscriber, generates a random number s i by using a random number generator, publish s i in group operation calculator information g, the g and enter with p computes s i times Calculate information I i and public information together with personal identification information ID i
I i and the one-way functions f i and h i are disclosed as public information, and s i
Is held as secret information, and the signer i
Upon receiving the signed message {ID ′ i−1 , X ′ i−1 , m ′ i−1 , y i−1 } for the document mi−1 from the signer (i−1) device,
Generates a random number r i using a random number generator, publish r i information p, with g, the g is input to the group operation calculator calculates the X i by calculating r i times, X 'i = (X ' i-1 , X i ) and m'
i = (m 'i-1 , m i) and then, further with a function f i calculator and function h i calculator e i = f i (X' i, m 'i) d i = h i (X 'i, m' seek e i and d i by calculating the i), e i, d i, publish r i information q, together with the secret information s i, type index component multiplier, the exponential component adder Te, the signature y i = (y i-1 + d i r i + e i s i) modq by signature function Sg i calculates sought y i by, ID a 'i = (ID' i- 1, ID i) Every {I
D ′ i , X ′ i , m ′ i , y i } are sent to the signer (i + 1) device.
【0058】一方検証装置は、署名者L装置から通信文
{ID'L,X'L,m'L,yL}を受信すると、X'L の先頭のi個
の成分からX'i を構成し、またm'L の先頭のi個の成分
からm'i を構成し、X'i ,m'i を関数fi計算器と関数hi
計算器にそれぞれ入力して ei = fi(X'i, m'i) di = hi(X'i, m'i) を演算してeiとdiを各iについて求め(1≦i≦L)、I
D'L中のIDi 成分から対応公開情報Iiを、またX'L 中のX
iを求め、上記で作成したei,di,公開情報pと共に複
数成分群演算計算器に入力して1からLまでのiについ
てXiをdi回演算した値と、Iiをei回演算した値とを順に
演算することでZ'を求め、またyLを公開情報p,gと共
に群演算計算器入力してgをyL回演算することでWを求
め、Z'とWを比較器に入力して W≡ Z' を検査して、一致すれば、文書{m1,…,mL}はL個の正
しい署名者i装置によってそれぞれ署名されたものであ
ると認める。Meanwhile verification device, signer L communication text from the device {ID 'L, X' L , m 'L, y L} Upon receiving the, X' the leading i pieces of X from component 'i of L configured, and m constitute the i 'm from the beginning of the i-number of components of the L', X 'i, m' i the function f i calculator and function h i
Each of them is input to a calculator, and e i = f i (X ′ i , m ′ i ) d i = h i (X ′ i , m ′ i ) is calculated to obtain e i and d i for each i ( 1 ≦ i ≦ L), I
The corresponding public information I i is obtained from the ID i component in D ′ L , and X in X ′ L
seeking i, e i created above, d i, a value of X i computed d i times for i from 1 to enter the multicomponent group arithmetic calculator with public information p to L, and I i e The value calculated i times is sequentially calculated to obtain Z ′, and y L is input to the group operation calculator together with the public information p and g, and W is calculated by calculating g y L times to obtain Z ′ and Z ′. W is input to the comparator to check W {Z ', and if they match, the document {m 1 ,..., M L } is recognized to have been signed by each of the L correct signers i devices. .
【0059】この一般的手法についても、各署名者i装
置、利用者装置、記録媒体が同様に構成される。更に上
述において、ID'i=(ID'i-1,IDi)としたが、ID'i=(ID'
i-1,Ii) としてもよい。この場合は、検証者装置で、ID
i からIiを探す手間がはぶける。 実施例2 図2〜6を参照して説明した重畳署名とその一括検証に
おいて、署名者装置30 1 で署名する文書m1をm1=mとし、
署名者装置302〜30Lでは文書m2,…,mLを全て空文とした
場合は前述のように文書mに対し、署名者1〜Lが多重署
名をする事になる。その場合の実施例を以下に説明す
る。この実施例においても、Schnorr 法を用いた場合に
ついて説明する。For this general method, each signer i
The device, the user device, and the recording medium are similarly configured. Further above
In the description, ID 'i= (ID 'i-1, IDi) But ID 'i= (ID '
i-1, Ii). In this case, the verifier uses the ID
iTo IiThe hassle of searching for is lost. Embodiment 2 The superimposed signature described with reference to FIGS.
The signer device 30 1 Document m to sign with1M1= m,
Signer device 30Two~ 30LThen document mTwo,…, MLAre all empty sentences
In this case, as described above, signers 1 to L are multi-signed for document m.
Will be named. An embodiment in that case will be described below.
You. Also in this embodiment, when the Schnorr method is used,
explain about.
【0060】第2実施例が適用されるシステム構成は図
1Aと同様であり、センタ装置100の構成も図2に示す
ものと同じである。また、センタ装置100 が実行する処
理も第1実施例と全く同じであり、初期情報設定処理に
より公開情報{p,q,g} を生成し、署名者装置301〜3
0L、検証者装置800 に配信する。署名者iがシステムに
加入する際の処理も第1実施例の場合と同じであり、そ
のための装置30i も図3に示すものと同じである。この
処理により公開情報Iiを生成し、安全な通信路400 を介
して、センタ装置100 に個人識別情報IDi と共に公開情
報Ii,一方向性関数fi及びhiを送信して公開情報{IDi,
Ii,fi,hi}として登録する。一方、siを秘密情報として
記憶部33に保持する。The system configuration to which the second embodiment is applied is the same as that of FIG. 1A, and the configuration of the center device 100 is also the same as that shown in FIG. The processing of the center apparatus 100 executes also identical to that of the first embodiment, generates public information by the initial information setting process {p, q, g}, the signer apparatus 30 1-3
0 L is delivered to the verifier apparatus 800. The processing when the signer i joins the system is the same as in the first embodiment, and the device 30i for that is the same as that shown in FIG. This process generates public information I i, via a secure channel 400, published to the center device 100 together with the personal identification information ID i information I i, public information by sending a one-way function f i and h i {ID i ,
Register as I i , f i , h i }. On the other hand, held in the storage unit 33 a s i as confidential.
【0061】他の署名者装置がシステムに加入する際に
も同様の処理を行なう。この実施例では、署名者i装置
の出力する文書mに対する署名つき通信文を{ID'i,
X'i,m,yi} と表す。署名対象とする通信文を署名者(i-
1) 装置が送信し、これに対し署名者i装置が署名作成
処理を行ない、その結果を署名者(i+1) 装置に送信す
る。L人が順次署名する場合には、iを1からLまで1
つずつ増加して、以下の手順を繰り返せばよい。ここで
は署名者(L+1) 装置を検証者装置とみなす。ただし、I
D'0=空集合、X'0 =空集合、y0=0とおく。Similar processing is performed when another signer apparatus joins the system. In this embodiment, a signed communication message for the document m output from the signer i apparatus is represented by {ID ′ i ,
X ′ i , m, y i }. The message to be signed is signed by the signer (i-
1) The device transmits the data, the signer i performs the signature creation process, and transmits the result to the signer (i + 1) device. When L people sign sequentially, i is 1 from L to 1
Then, the following procedure may be repeated. Here, the signer (L + 1) device is regarded as a verifier device. Where I
Let D ' 0 = empty set, X' 0 = empty set, y 0 = 0.
【0062】(2-A) 署名作成時の署名者i装置の処理 図7に通信文の交信シーケンスを、図8に署名者i装置
の機能構成を示す。署名者(i-1) 装置から通信文{ID'
i-1,X'i-1,m,yi-1} を受信すると、署名者i装置は以
下の署名作成処理を行なう。記憶部33にはセンタ100
から与えられた公開情報{p,q,g}、秘密乱数si、識別
情報IDi が保持されている。 ステップS1: 乱数発生器310 を用いて乱数riを生成
して、公開情報p,gと共に、剰余つきべき乗乗算器32
0 に入力して、関数Φにより(2-A) Processing of Signer i-Device at Signature Creation FIG. 7 shows a communication sequence of a communication message, and FIG. 8 shows a functional configuration of the signer i-device. Signer (i-1) Message {ID 'from device
Upon receiving i−1 , X ′ i−1 , m, y i−1 }, the signer i apparatus performs the following signature creation processing. The storage unit 33 has a center 100
Holds the public information {p, q, g}, the secret random number s i , and the identification information ID i . Step S1: A random number r i is generated by using the random number generator 310, and the exponentiation multiplier 32 with the remainder is generated together with the public information p and g.
0 and the function Φ
【0063】[0063]
【数29】 を計算し、X'i=(X'i-1, Xi)とおく。 ステップS2: 関数fi計算器330 と関数hi計算器340
を用いて ei = fi(X'i, m) (32) di = hi(X'i, m) (33) の各演算でeiとdiを求める。 ステップS3: ei,di,riを公開情報q,秘密情報si
と共に、剰余つき乗算器350 、剰余つき加算器360 に入
力して、署名関数Sgiにより yi=Sgi(ei,di,si,ri,yi-1)=(yi-1+diri+eisi)modq (34) を求める。 ステップS4: ID'i=(ID'i-1, IDi)とおき、{ID'i,
X'i, m, yi}を署名者(i+1) 装置に送信する。(Equation 29) Is calculated, and X ′ i = (X ′ i−1 , X i ) is set. Step S2: the function f i calculator 330 and a function h i calculator 340
Is used to calculate e i and d i in each operation of e i = f i (X ′ i , m) (32) d i = h i (X ′ i , m) (33). Step S3: e i , d i , r i are made public information q, secret information s i
With the remainder with the multiplier 350, and input to the remainder with the adder 360, the signature function Sg i y i = Sg i ( e i, d i, s i, r i, y i-1) = (y i -1 + d i r i + e i s i) obtaining a mod q (34). Step S4: Set ID ′ i = (ID ′ i−1 , ID i ) and set {ID ′ i ,
X ′ i , m, y i } is sent to the signer (i + 1) device.
【0064】(2-B) 署名検証時の検証者装置800 の処理 図9に検証者装置800 の機能構成を示す。署名者L装置
から通信文{ID'L, X' L, m, yL}を受信すると、検証者
装置800 は以下の検証処理により署名が正しいかを調べ
る。 ステップS5: X'L の先頭のi個の成分からX'i を構
成し、文書mと共に関数fi計算器810 と関数hi計算器82
0 に入力して ei=fi(X'i, m)=fi(X1…Xi, m) (35) di=hi(X'i, m)=hi(X1…Xi, m) (36) の各演算でeiとdiを求める(1≦i≦L)。 ステップS6: ID'L中のIDi 成分からIiを求め、X'L
中のXiを抽出し、上記で作成したei,di,公開情報pと
共に複数成分剰余つきべき乗乗算器830 に入力して検証
関数Vにより(2-B) Processing of Verifier Apparatus 800 at the Time of Signature Verification FIG. 9 shows a functional configuration of the verifier apparatus 800. Signer L device
From the message {ID 'L, X ' L, m, yLUpon receiving}, the verifier
The device 800 checks whether the signature is correct by the following verification processing.
You. Step S5: X 'LX ′ from the first i components ofiBe composed
Function f with document miCalculator 810 and function hiCalculator 82
Enter 0 and ei= fi(X 'i, m) = fi(X1… Xi, m) (35) di= hi(X 'i, m) = hi(X1… Xi, m) (36)iAnd di(1 ≦ i ≦ L). Step S6: ID 'LID insideiIngredient from IiX 'L
X iniAnd extract the e created abovei, Di, Public information p and
Both are input to the power multiplier 830 with multiple component remainder and verified.
By function V
【0065】[0065]
【数30】 の演算でZ'を求める。 ステップS7: yLを記憶部88に保持されている公開
情報p,gと共に剰余つきべき乗乗算器840 に入力して
第3関数Γにより[Equation 30] Z ′ is calculated by the following operation. Step S7: y L is input to the modular exponentiation multiplier 840 together with the public information p and g held in the storage unit 88, and the third function Γ
【0066】[0066]
【数31】 の演算でWを求める。 ステップS8: Z'とWを比較器850 に入力して W=Z' が成立するかを検査して、一致すれば、文書mはL個の
正しい署名者装置によって署名されたものであると認め
る。(Equation 31) W is calculated by the following calculation. Step S8: Z ′ and W are input to the comparator 850 to check whether W = Z ′ holds. If they match, the document m has been signed by L correct signer devices. Admit.
【0067】複数成分剰余つきべき乗乗算器において、
xaybmodNを計算するための、改良された平方乗算アルゴ
リズムは第1実施例において説明したものと同じアルゴ
リズムを使うことができる。yLの作り方よりIn a power multiplier with a multi-component remainder,
An improved square multiplication algorithm for calculating x a y b mod N may use the same algorithm as described in the first embodiment. From how to make y L
【0068】[0068]
【数32】 であるから、上記の検査に合格した場合、検証者装置80
0 は文書mがL人(個)の正しい署名者(装置)によっ
て署名されたものであると認める。なお署名者i装置が
その署名に先立ち、受信した通信文{ID'i-1, X'i-1,
m,yi-1}が先行する署名者1装置乃至署名者(i-1) 装置
によりそれぞれ正しく署名されたものであることを検証
し、その検証に合格すれば、署名をするようにすること
もできる。この場合の検証は検証者装置800 での処理ス
テップS10〜S13と同様に行えばよい。この場合は
このステップS10〜S13中のLの代りに(i-1) とす
ればよい。(Equation 32) Therefore, if the above inspection is passed, the verifier device 80
0 recognizes that document m has been signed by L (significant) correct signers (devices). Prior to the signature, the signer i device receives the received message {ID ′ i−1 , X ′ i−1 ,
m, y i-1 } are verified to have been correctly signed by the preceding signer 1 device to signer (i-1) device, respectively, and if the verification is passed, signing is performed. You can also. The verification in this case may be performed in the same manner as the processing steps S10 to S13 in the verifier device 800. In this case, (i-1) may be used instead of L in steps S10 to S13.
【0069】また署名者装置、検証者装置は通常は上記
各処理をコンピュータで実行する。この第2実施例はSc
hnorr 法に適用されるのみならず、Fiat-Shamir 法、及
びそれらを包括する対話証明を利用したデジタル署名に
対して広く適用できることを先に述べた。従ってこの発
明の方法を一般的に述べれば次のようになる。つまり公
開するシステムパラメータは群の要素の個数を指定する
p、群演算で演算の起点となる群の要素g、要素gをq
回演算するとgに戻るような正の整数qである。The signer apparatus and the verifier apparatus usually execute each of the above-mentioned processes by computer. This second embodiment uses Sc
It was mentioned earlier that the method can be applied not only to the hnorr method but also to the Fiat-Shamir method and digital signatures using interactive proofs that include them. Therefore, the method of the present invention is generally described as follows. In other words, the system parameters to be disclosed are p specifying the number of elements in the group, the element g of the group that is the starting point of the operation in the group operation, and q
This is a positive integer q that returns to g when it is calculated a number of times.
【0070】署名者i装置は、システム加入時に、乱数
発生器を用いて乱数si を生成し、siを群演算計算器に
公開情報g,pと共に入力してgをsi回演算することで
公開情報Iiを計算し、個人識別情報IDi と共に公開情報
Ii、関数fi、関数giを公開情報として公開して、siを秘
密情報として保持し、署名処理においては署名者i装置
は、署名者(i-1) 装置から文書mに対する署名つき通信
文{ID'i-1, X'i-1, m, yi-1}を受信すると、乱数発生
器を用いて乱数riを生成して、riを公開情報p,gと共
に、群演算計算器に入力してgをri回演算することでXi
を計算し、X'i=(X'i-1, Xi)とおき、更に関数fi 計算
器と関数hi 計算器を用いて ei = fi(X'i, m) di = hi(X'i, m) を計算してeiとdiを求め、ei,di,riを公開情報q、秘
密情報siと共に、指数成分乗算器、指数成分加算器に入
力して、署名関数Sgiにより yi = Sgi(ei,di,si,ri,yi-1)=(yi-1+diri+eisi)mod
q を計算して求めて、ID'i=(ID'i-1, IDi) とおき、{I
D'i, X'i, m, yi}を署名者(i+1) 装置に送信する。[0070] signer i device, when the system subscriber, generates a random number s i by using a random number generator, s i published group operation calculator information g, the g computes s i times to input with p public information I i calculated by the public information together with the personal identification information ID i
I i , function f i , and function g i are disclosed as public information, and s i is held as secret information. In the signature processing, the signer i device signs the document m from the signer (i-1) device. communication text regarding {ID 'i-1, X ' i-1, m, y i-1} receives the generates a random number r i using a random number generator, the r i public information p, with g , Input to the group operation calculator and calculate g by r i times to obtain X i
Was calculated, X 'i = (X' i-1, X i) Distant, further by using the function f i calculator and function h i calculator e i = f i (X ' i, m) d i = h i (X 'i, m) the calculated seek e i and d i, e i, d i, publish r i information q, together with the secret information s i, the index component multiplier, exponent component adder , And y i = Sg i (e i , d i , s i , r i , y i−1 ) = (y i−1 + d i r i + e i s i ) mod by the signature function Sg i
q ′ is calculated and obtained, and ID ′ i = (ID ′ i−1 , ID i ), and {I
D ′ i , X ′ i , m, y i } are sent to the signer (i + 1) device.
【0071】一方、検証装置は、署名者L装置から通信
文{ID'L, X'L, m, yL}を受信すると、X'L の先頭のi
個の成分からX'i を構成し、文書mと共に関数fi計算器
と関数hi計算器にそれぞれ入力して ei = fi(X'i, m) di = hi(X'i, m) を演算してeiとdiを各iについて求め(1≦i≦L)、I
D'L中のIDi 成分から対応公開情報Iiを、またX'L 中のX
iを求め、上記で作成したei,di、公開情報pと共に複
数成分群演算計算器に入力して1からLまでのiについ
てXiをdi回演算した値と、Iiをei回演算した値とを順に
演算することでZ'を求め、またyLを公開情報p,gと共
に群演算計算器入力してgをyL回演算することでWを求
め、Z'とWを比較器に入力して W≡ Z' を検査して、一致すれば、文書mはL個の正しい署名者
によって署名されたものであると認める。[0071] On the other hand, the verification device, the signer L communication text from the device {ID 'L, X' L , m, y L} Upon receiving the, X 'beginning of i of L
X ′ i are constructed from the components and input to the function f i calculator and the function h i calculator together with the document m, and e i = f i (X ′ i , m) d i = h i (X ′ i , m) to obtain e i and d i for each i (1 ≦ i ≦ L).
The corresponding public information I i is obtained from the ID i component in D ′ L , and X in X ′ L
i is obtained and input to the multi-component group calculation calculator together with e i , d i created above and the public information p to calculate X i di times for i from 1 to L, and I i to e The value calculated i times is sequentially calculated to obtain Z ′, and y L is input to the group operation calculator together with the public information p and g, and W is calculated by calculating g y L times to obtain Z ′ and Z ′. W is entered into the comparator to check W≡Z 'and if they match, document m is deemed to have been signed by the L correct signers.
【0072】この一般的手法についても、各署名者i装
置、利用者装置、記録媒体が同様に構成される。更に上
述において、ID'i=(ID'i-1, IDi)としたが、ID'i=(I
D'i-1, Ii) としてもよい。この場合は、検証者装置
で、IDi からIiを探す手間がはぶける。 実施例3 次に図1Bに示すシステムにおいて、それぞれの署名者
装置301〜30Lでそれぞれの文書m1〜mLに個別に署名を付
けて検証者装置800 に与え、検証者がそれら署名文書を
一括して検証する実施例を、Schnorr法を用いた例で示
す。ここで示す、第二のべき乗成分を利用する考え方
も、Fiat-Shamir 法、及びそれらを包括する対話証明
を利用したデジタル署名に対しても広く適用可能であ
る。In this general method, each signer i device, user device, and recording medium are similarly configured. Further, in the above, ID ′ i = (ID ′ i−1 , ID i ), but ID ′ i = (I
D ′ i−1 , I i ). In this case, it is not necessary for the verifier to search for I i from ID i . Embodiment 3 Next, in the system shown in FIG. 1B, each document m 1 to m L is individually signed by each signer device 30 1 to 30 L and given to the verifier device 800. An example in which documents are collectively verified will be described with an example using the Schnorr method. The concept using the second power component shown here is also widely applicable to the Fiat-Shamir method and a digital signature using interactive proof that includes them.
【0073】(3-A) 初期情報設定処理 センタ装置100 がシステム一意の値{p, q, g }を公開
する初期情報設定処理を行うための装置構成は図2と同
じであり、また以下に述べるその処理も同じである。 ステップS1: 素数生成器110 を用いて素数pを生成
し、除算器120 を用いてp-1 の約数となる素数qを生成
する。 ステップS2: 原始元生成器130 を用いて(Z/pZ)* の
原始元αを生成し、発明の原理で説明した関数G1(q) の
演算を実行する剰余つきべき乗乗算器140 を用いて、 β=g= G1(q)=α(p-1)/qmodp (40) の演算で位数qを持つ整数gを前述のパラメータβとし
て生成する。 ステップS3: 安全な通信路400 を介して、各署名者
装置301 ,…,30L と検証者装置800 に公開情報{p,
q, g }を配送する。(3-A) Initial Information Setting Processing The apparatus configuration for the center apparatus 100 to perform the initial information setting processing for disclosing the system unique values {p, q, g} is the same as that in FIG. The processing described in (1) is the same. Step S1: A prime number p is generated using the prime number generator 110, and a prime number q that is a divisor of p-1 is generated using the divider 120. Step S2: Use the primitive element generator 130 to generate a primitive element α of (Z / pZ) * , and use the modular exponentiation multiplier 140 for executing the operation of the function G 1 (q) described in the principle of the present invention. Then, an integer g having an order q is generated as the above-mentioned parameter β by an operation of β = g = G 1 (q) = α (p−1) / q modp (40). Step S3: via a secure channel 400, the signer apparatus 30 1, ..., 30 L and the public information to the verifier device 800 {p,
Deliver q, g}.
【0074】(3-B) システム加入時における署名者i装
置の処理 次に、署名者i装置がシステムに加入する際の処理につ
いて図10に示す署名者i装置30i を参照して説明す
る。なお、記憶部33にはセンタ100 から与えられた公
開情報{p,q,g}が保持されている。 ステップS4: 乱数発生器31を用いて乱数si を生
成し、発明の原理で説明した関数G2(si, β)の演算を行
う剰余つきべき乗乗算器32に公開情報g(=β),pと
共に入力して[0074] processing (3-B) signer i device during system subscriber Then, the signer i device is described with reference to the signer i apparatus 30 i shown in FIG. 10 for the process at the time of subscribing to the system . Note that the storage unit 33 holds the public information {p, q, g} provided from the center 100. Step S4: A random number generator 31 is used to generate a random number s i , and a public information g (= β) is output to a modular exponentiation multiplier 32 for calculating the function G 2 (s i , β) described in the principle of the present invention. , P
【0075】[0075]
【数33】 の演算で公開情報Iiを計算する。 ステップS5: 署名者i装置は安全な通信路400 を介
して、センタ装置100 に個人識別情報IDi と共に公開情
報Ii,一方向性関数fi,hiを送信して公開情報として登
録し、siを秘密情報として記憶部33に保持する。[Equation 33] To the calculation of the public information I i in operation. Step S5: The signer i device via a secure channel 400, published together with the personal identification information ID i to the center device 100 information I i, the one-way function f i, registered as public information by sending h i , held in the storage unit 33 a s i as confidential.
【0076】他の署名者装置がシステムに加入する際に
も同様の処理を行なう。以降では、署名者i装置は文書
miに署名するとして署名つき通信文を{IDi, X i, mi, y
i }と表す。 (3-C) 署名作成時の署名者i装置の処理 図11に通信文の交信シーケンスを、図12に署名者i
装置30i の機能構成をそれぞれ示す。 ステップS6: 乱数発生器310 を用いて乱数riを生成
して、公開情報p,gと共に、関数Фを演算する剰余つ
きべき乗乗算器320 に入力してWhen another signer device joins the system
Performs the same processing. Hereinafter, the signer i-device is a document
mi通信 IDi, X i, mi, y
i Expressed as}. (3-C) Processing of Signer i Device at the Time of Signature Creation FIG. 11 shows a communication sequence of a communication message, and FIG.
Device 30i Are shown below. Step S6: Random number r using random number generator 310iGenerate a
And the remainder to calculate the function Ф together with the public information p and g
Input to the exponentiation multiplier 320
【0077】[0077]
【数34】 でXiを計算する。 ステップS7: 関数fi計算器330 と関数hi計算器340
を用いてそれぞれ ei = fi(Xi, mi) (43) di = hi(Xi, mi) (44) の各演算でeiとdiを求める。 ステップS8: ei,di,riを公開情報q,秘密情報si
と共に、剰余つき乗算器350 、剰余つき加算器360 に入
力して、署名関数Sgiにより yi=Sgi(ei,di,si,ri,q)=(diri+eisi)modq (45) を求める。 ステップS9: {IDi, Xi, mi, yi}を検証者装置800
に送信する。(Equation 34) To calculate X i . Step S7: function f i calculator 330 and a function h i calculator 340
Respectively, using the e i = f i (X i , m i) (43) obtains the d i = h i (X i , m i) e i and d i in each computation of (44). Step S8: e i , d i , r i are made public information q, secret information s i
With the remainder with the multiplier 350, and input to the remainder with the adder 360, the signature function Sg i by y i = Sg i (e i , d i, s i, r i, q) = (d i r i + e i s i ) modq (45) is obtained. Step S9: {ID i , X i , m i , y i } are verified by the verifier device 800
Send to
【0078】(3-D) 署名検証時の検証者装置800 の処理 図13に検証者装置800 の機能構成を示す。記憶部88
にはセンタ100 からの公開情報{p,q,g}が保持されて
おり、L個の署名者装置からL個の通信文{IDi, Xi, m
i, yi}を受信すると、検証者装置800 は以下の検証に
よりそれぞれの署名が正しか一括検証する。 ステップS10: Xiを文書miと共に関数fi計算器810
と関数hi計算器720 に入力してそれぞれ ei = fi(Xi, mi) di = hi(Xi, mi) の各演算でeiとdiを求める(1≦i≦L)。ステップS1
1: センタ100 からIDi に対応する公開情報Iiを得
て、Xiと上記で作成したei,di公開情報p、と共に関数
Vを演算する複数成分剰余つきべき乗乗算器830 に入力
して(3-D) Processing of Verifier Device 800 During Signature Verification FIG. 13 shows a functional configuration of the verifier device 800. Storage unit 88
Holds public information {p, q, g} from the center 100, and transmits L communication messages {ID i , X i , m
i , y i }, the verifier apparatus 800 collectively verifies that each signature is correct by the following verification. Step S10: function X i with Article m i f i calculator 810
A function h i each input to the calculator 720 e i = f i (X i, m i) d i = h i (X i, m i) in the calculation of obtaining the e i and d i (1 ≦ i ≦ L). Step S1
1: Input from the center 100 obtains public information I i corresponding to ID i, e i created by X i and said, d i public information p, the multi-component residue with power multiplier 830 for calculating a function V with do it
【0079】[0079]
【数35】 でZ'を求める。 ステップS12: L個のyiを公開情報qと共に剰余つ
き加算器840 に入力して Y = Σi=1 L yimodq (47) の演算で累積値Yを求め、公開情報p,qと共に関数Γ
(Y*g)を演算する剰余つきべき乗乗算器845 に入力して W =Γ(Y*g)= gYmodp (48) でWを求める。 ステップS13: Z'とWを比較器850 に入力してW =
Z'が成立するかを検査して、一致すれば、それぞれの
文書miはL人の正しい署名者iによって署名されたもの
であると認める。(Equation 35) To find Z '. Step S12: L y i are input to the adder with remainder 840 together with the public information q, and Y = Σ i = 1 L y i modq (47) to obtain the cumulative value Y, and together with the public information p and q, the function Γ
(Y * g) is input to a modular exponentiation multiplier 845 to calculate W, and W = Γ (Y * g) = g Y modp (48) to obtain W. Step S13: Z ′ and W are input to the comparator 850, and W =
It is checked whether Z ′ holds, and if they match, each document mi is recognized as having been signed by L correct signers i.
【0080】複数成分剰余つきべき乗乗算器830 におい
て、xaybmodNを計算するための、平方乗算アルゴリズム
の一方法は前述と同じである。累積値Yの作り方より[0080] In multi-component residue with power multiplier 830, for computing a x a y b modN, one method of square-and-multiply algorithm is the same as described above. From how to make the cumulative value Y
【0081】[0081]
【数36】 であるから、上記の検査に合格した場合、検証者装置80
0 はそれぞれの文書miがL個の正しい署名者i装置によ
って署名されたものであると認める。ステップS13に
おいてW=Z'が成立しなければ、例えばL=100 であればL/
2=50ずつに通信文{IDi, Xi, mi, yi }を分け、これら
>2つの分割通信文の一方について、ステップS9〜S
13をそれぞれ処理し、不一致となるかを調べ、不一致
であればその分割通信文を、一致であれば他方の分割通
信文を更に2分割してその一方についてステップS9〜
S13を実行し、同様の分割処理を繰返すことにより、
検証者装置はどの署名者装置で正しい署名がなされなか
ったかを検出することができる。[Equation 36] Therefore, if the above inspection is passed, the verifier device 80
0 admits one in which each document m i is signed by the L good signer i device. If W = Z ′ is not satisfied in step S13, for example, if L = 100, L /
The message {ID i , X i , mi , y i } is divided into 2 = 50
> Steps S9 to S9 for one of the two divided messages
13 is checked to see if there is any mismatch. If they do not match, the divided message is further divided.
By executing S13 and repeating the same division processing,
The verifier device can detect which signer device has not been correctly signed.
【0082】この発明はSchnorr法に適用されるのみな
らず、Fiat-Shamir 法、及びそれらを包括する対話証
明を利用したデジタル署名に対して広く適用できること
を先に述べた。従ってこの発明の方法を一般的に述べれ
ば次のようになる。つまり公開するシステムパラメータ
は群の要素の個数を指定するp、群演算で演算の起点と
なる群の要素g、要素gをq回演算するとgに戻るよう
な正の整数qである。It has been mentioned above that the present invention can be applied not only to the Schnorr method but also to the Fiat-Shamir method and digital signatures using interactive proofs that include them. Therefore, the method of the present invention is generally described as follows. That is, the system parameters to be disclosed are p specifying the number of elements of the group, element g of the group which is the starting point of the operation in the group operation, and a positive integer q which returns to g when the element g is operated q times.
【0083】署名者i装置は、システム加入時に、乱数
発生器を用いて乱数si を生成し、si を群演算計算器
に公開情報g,pと共に入力してgをsi回演算すること
で公開情報Iiを計算し、個人識別情報IDi と共に公開情
報Ii、関数fi、hiを公開情報として公開して、siを秘密
情報として保持し、署名処理においては、署名者i装置
は、乱数発生器を用いて乱数riを生成して、riを公開情
報p,gと共に、群演算計算器に入力してgをri回演算
することでXiを計算し、関数fi計算器と関数hi計算器を
用いて ei = fi(Xi, mi) di = hi(Xi, mi) を演算してeiとdiを求め、ei,di,riを公開情報q、秘
密情報siと共に、指数成分乗算器、指数成分加算器に入
力して、 yi =(diri+eisi)modq を演算してyiを求め、通信文{IDi,Xi,mi,yi}を求めて
検証者装置に送信する。[0083] signer i device, when the system subscriber, generates a random number s i by using a random number generator, s i published group operation calculator information g, the g computes s i times to input with p The public information I i is calculated in this way, the public information I i , the functions f i , and h i are disclosed as public information along with the personal identification information ID i , and s i is held as secret information. who i unit generates a random number r i using a random number generator, publish r i information p, with g, calculate the X i by the g is input to the group operation calculator calculates r i times And e i = f i (X i , m i ) d i = h i (X i , m i ) using the function f i calculator and the function h i calculator to obtain e i and d i Then, e i , d i , and r i are input to an exponential component multiplier and an exponential component adder together with public information q and secret information s i , and y i = (d i r i + e i s i ) modq is obtained. calculated seeking y i, communication text {ID i, X i, m i, y i} Determined to send to the verifier device.
【0084】検証者装置は、L人の署名者i装置から通
信文{IDi,Xi,mi,yi}を受信すると(1≦i≦L)、X
iを、文書miと共に関数fi計算器と関数hi計算器にそれ
ぞれ入力して ei = fi(Xi, mi) di = hi(Xi, mi) を演算してeiとdiを各iについて求め(1≦i≦L)、ID
i からIiを求め、IiとXiを、上記で作成したei,di、公
開情報pと共に複数成分群演算計算器に入力して1から
LまでのiについてXiをdi回演算した値と、Iiをei回演
算した値とを順に演算することでZ'を求め、一方、L個
のyiを公開情報qと共に指数成分加算器に入力して、 Y = Σi=1 L yimodq を計算してYを求め、Yを公開情報p,gと共に群演算
計算器に入力してgをY回演算することでWを求め、Z'
とWを比較器に入力して W≡Z' を検査して、一致すれば、L個の文書miはL個の正しい
署名者i装置によって署名されたものであると認める。When the verifier apparatus receives the message {ID i , X i , m i , y i } from the L signer i apparatuses (1 ≦ i ≦ L), X
The i, and input to the function f i calculator and function h i calculator with documents m i e i = f i ( X i, m i) d i = h i (X i, m i) calculates the Te seeking e i and d i for each i (1 ≦ i ≦ L) , ID
seeking I i from i, the I i and X i, e i created above, d i, the X i for i from 1 to enter the multicomponent group arithmetic calculator with public information p to L d i Z ′ is obtained by sequentially calculating the value calculated i times and the value calculated I i times e i , while L y i are input to the exponential component adder together with the public information q, and Y = Σ i = 1 L y i modq to obtain Y, input Y to the group operation calculator together with public information p and g, calculate g by Y times to obtain W, and Z ′
And it examines the W≡Z 'by entering W to the comparator, if they match, the L document m i admit that it was signed by the L good signer i device.
【0085】また署名者装置、検証者装置はそれぞれ、
通常はコンピュータによりその処理を実行するものであ
る。ところで、上述した実施例1〜3は、パラメータq
により規定される有限体の可換群としてZqを用いる場合
であったが、可換群として楕円曲線を使うことができ、
それにより署名者における署名作成の処理量の増加の問
題を解決することができる。RSA暗号が素因数分解問
題が難しいことに安全性の根拠をおいているのに対し
て、楕円曲線暗号は素因数分解問題よりも解くのが難し
いと考えられている楕円曲線上の離散対数問題に安全性
の根拠をおいている。The signer device and the verifier device respectively
Usually, the processing is executed by a computer. By the way, in the above-described first to third embodiments, the parameter q
Was a case where Zq was used as a commutative group of a finite field defined by
As a result, the problem of an increase in the amount of processing for creating a signature by the signer can be solved. While the RSA cipher bases security on the difficulty of the prime factorization problem, the elliptic curve cryptosystem secures the discrete logarithm problem on the elliptic curve, which is considered to be more difficult to solve than the prime factorization problem. Have a gender basis.
【0086】有限体GF(q) 上の楕円曲線とは、パラメー
タa, b∈GF(q)(4a3+27b2≠0)を用いて、以下のように定
義される。 Ea,b(GF(q))={(x,y)∈GF(q)2|y2=x3+ax+b}∪{O} (50) ここで、GF(q) を楕円曲線Ea,b(GF(q))の定義体とよ
ぶ。Oは無限遠点を示す。このときの楕円曲線上の加法
は Pi =(xi, yi)∈Ea,b(GF(q))(i=1, 2) とおいたときに、(x3, y3)=P1+P2は (a): P1≠P2の場合λ=(y2-y1)/(x2-x1)とおくと、 x3=λ2−(x1+x2), y3=−y1+λ(x1−x3) (51) (b): P1=P2の場合、つまり(x3, y3)=2P1の場合、λ
=(3x1 2+a)/(2y1) とおくと、 x3=λ2−2x1, y3=−y1+λ(x1−x3) (52) と書ける。楕円曲線上の群の演算については例えばDagl
as R.Stinson,“CRYPTOGRAPHY Theory and Practic
e”, CRC Press, pp.187-190, 1995,に示されている。
以下の説明では、楕円曲線Ea,b(GF(q)) 上のP1とP2の加
法演算を(P1+P2) overEa,b(GF(q))と表す。The elliptic curve on the finite field GF (q) is defined as follows using the parameters a, b∈GF (q) (4a 3 + 27b 2 ≠ 0). E a, b (GF (q)) = {(x, y) ∈GF (q) 2 | y 2 = x 3 + ax + b} ∪ {O} (50) Here, GF (q) is transformed into an elliptic curve E a , b (GF (q)). O indicates a point at infinity. The addition on the elliptic curve at this time is given by P i = (x i , y i ) ∈E a, b (GF (q)) (i = 1, 2), and (x 3 , y 3 ) = P 1 + P 2 is (a): In the case of P 1 λP 2 , if λ = (y 2 -y 1 ) / (x 2 -x 1 ), x 3 = λ 2 − (x 1 + x 2 ) , Y 3 = −y 1 + λ (x 1 −x 3 ) (51) (b): When P 1 = P 2 , that is, when (x 3 , y 3 ) = 2P 1 , λ
= Putting the (3x 1 2 + a) / (2y 1), x 3 = λ 2 -2x 1, y 3 = -y 1 + λ (x 1 -x 3) written as (52). For operations on groups on elliptic curves, for example, Dagl
as R. Stinson, “CRYPTOGRAPHY Theory and Practic
e ", CRC Press, pp. 187-190, 1995.
In the following description, representative of the elliptic curve E a, b (GF (q )) the addition operation of the P 1 and P 2 on the (P 1 + P 2) overE a, b (GF (q)).
【0087】現在知られている楕円曲線上の離散対数問
題を解く方法は、素因数分解問題を解く方法よりも効率
が悪いので、即ち困難なので、その分だけ楕円曲線の定
義体のパラメータqを小さくし、演算量を少なくするこ
とができる。具体的には|N|=1024 の場合と同等の安
全性を保証するには、|q|=160 と選べばよいと言われ
ている。ここで、|p| はpのビット数を表す。(例え
ばBruce Schneicer,“APPLIED CRYPTOGRAPHY (Second E
dition)”, John Wiley & Sons, Inc., pp. 480-481, 1
996,を参照)。The method of solving a discrete logarithm problem on an elliptic curve which is currently known is less efficient than the method of solving a prime factorization problem, that is, it is more difficult. However, the amount of calculation can be reduced. Specifically, it is said that in order to guarantee the same security as when | N | = 1024, it is sufficient to select | q | = 160. Here, | p | represents the number of bits of p. (For example, Bruce Schneicer, “APPLIED CRYPTOGRAPHY (Second E
dition) ”, John Wiley & Sons, Inc., pp. 480-481, 1
996,).
【0088】通常の離散対数問題とは、大きな素数pと
位数qをもつ整数g∈(Z/pZ)*={1,2, …, p-1} が公
開情報として与えられたとき、整数x∈(Z/pZ)*に対し
て、gyx(modp)を満たすy∈Z/qZ を求める問題であ
る。一方、楕円曲線上の離散対数問題とは、定義体GF
(q) 、楕円曲線のパラメータa, b, GF(q) と楕円曲線上
の位数がkとなる楕円曲線上の点P∈Ea,b(GF(q))が公開
情報として与えられたとき(即ちkP=Oが成り立つと
き)、楕円曲線上の点X∈Ea,b(GF(q)) に対して、yP≡X
over Ea,b(GF(q)) を満たすy∈Z/kZ を求める問題であ
る。点Pをベース点とよぶ。ここで、yP≡X over E
a,b(GF(q))とは、ベース点Pを楕円曲線上でy回加算し
た場合に、点X∈Ea,b(GF(q))に一致することを表してい
る。特に、楕円曲線Ea,b(GF(q)) 上でベース点Pをy回
加算することを、yP over Ea,b(GF(q)) と表し、楕円曲
線上での群演算を規定する。An ordinary discrete logarithm problem is that when an integer g∈ (Z / pZ) * = {1,2,..., P-1} having a large prime p and an order q is given as public information, This is a problem of finding y∈Z / qZ that satisfies g y x (modp) for an integer x∈ (Z / pZ) * . On the other hand, the discrete logarithm problem on an elliptic curve is defined by the definition field GF
(q), parameters a, b, GF (q) of the elliptic curve and a point P∈E a, b (GF (q)) on the elliptic curve where the order on the elliptic curve is k are given as public information. (That is, when kP = O holds), for a point X∈E a, b (GF (q)) on the elliptic curve, yP≡X
This is a problem to find y∈Z / kZ that satisfies overE a, b (GF (q)). Point P is called a base point. Where yP≡X over E
a, b (GF (q)) indicates that when the base point P is added y times on the elliptic curve, it matches the point X aE a, b (GF (q)). In particular, an elliptic curve E a, b and adding y times the base point P on (GF (q)), yP over E a, expressed as b (GF (q)), a group operation on the elliptic curve Stipulate.
【0089】上で定義した楕円曲線上の群演算を用いる
と、通常の離散対数問題の難しさを利用した、Diffie−
Hellman の鍵共有法、ElGamal 暗号、ElGamal 署名等
を、すべて楕円曲線上の離散対数の難しさを利用した方
式に変形できる。対話証明を使用したSchnorr の方法や
Fiat-Shamir の方法も楕円曲線上の離散対数の難しさを
利用した方式に変形できる。例えば、楕円曲線を用いた
Schnorrの方法によるデジタル署名は以下のようにな
る。Using the group operation on the elliptic curve defined above, Diffie-
Hellman's key agreement method, ElGamal encryption, ElGamal signature, etc. can all be transformed into methods that use the difficulty of discrete logarithms on elliptic curves. Schnorr's method using interactive proofs
The Fiat-Shamir method can also be transformed into a method that uses the difficulty of discrete logarithms on elliptic curves. For example, using an elliptic curve
The digital signature according to Schnorr's method is as follows.
【0090】信頼できるセンタが定義体GF(q) のパラメ
ータq、楕円曲線のパラメータa, b, GF(q) と、楕円曲
線上の位数がkである曲線上のベース点P∈Ea,b(GF(q))
を公開する。 Step 1: 署名者Aは、乱数s∈(Z/kZ) を生成して、 I=sP over Ea,b(GF(q)) (53) で公開情報Iを計算し、個人識別情報(ID)とIの組を
公開する。The reliable center is defined by the parameter q of the definition field GF (q), the parameters a, b, and GF (q) of the elliptic curve, and the base point P∈E a on the curve whose order on the elliptic curve is k. , b (GF (q))
Publish. Step 1: The signer A generates a random number s∈ (Z / kZ), calculates public information I by using I = sP overE a, b (GF (q)) (53), and obtains personal identification information ( Publish the set of ID) and I.
【0091】署名者Aは、検証者Bに対して、文書mが
本物であることを、次の手順で証明する。 Step 2: 署名者Aは、乱数r∈(Z/kZ)を生成して、 X=rP over Ea,b(GF(q)) (54) を計算する。 Step 3: 署名者Aは、整数e∈(Z/kZ)を一方向性関数
fを用いて e=f(X, m) (55) で計算する。 Step 4: 署名者Aは署名yを y = (r+es)modk (56) で生成して、{ID, m, X, y} を署名つき通信文として
検証者Bに送る。 Step 5: 検証者Bは、整数e∈(Z/kZ) を一方向性関数
fを用いてe = f(X, m)で計算する。 Step 6: 検証者Bは、 yP ≡ (X+eI) over Ea,b(GF(q)) (57) が成り立つことを検査する。ここで、IはIDに対応し
た公開情報。The signer A proves to the verifier B that the document m is genuine by the following procedure. Step 2: The signer A generates a random number r∈ (Z / kZ), and calculates X = rP overE a, b (GF (q)) (54). Step 3: The signer A calculates the integer e∈ (Z / kZ) by using the one-way function f as e = f (X, m) (55). Step 4: The signer A generates a signature y by y = (r + es) modk (56) and sends {ID, m, X, y} to the verifier B as a signed message. Step 5: The verifier B calculates the integer e∈ (Z / kZ) by using the one-way function f with e = f (X, m). Step 6: Verifier B checks that yPP (X + eI) overE a, b (GF (q)) (57) holds. Here, I is public information corresponding to the ID.
【0092】yの作り方より yP≡(r+es)P≡rP+e(sP)≡(X+eI) over Ea,b(GF(q)) (58) であるから、上記の検査に合格した場合、検証者Bは文
書mがAから送信されたものであると認める。上述にお
いて、整数e∈(Z/kZ) とy∈(Z/kZ) を適当に決めてから
検査式に合格するX∈Ea,b(GF(q))を計算して、e=f(X,m)
が成り立つようなeを見つけた場合に、{ID,X,m,y}を
署名つき通信文とすると、署名の偽造に成功する。検査
式e=f(m,X)が成り立つ確率は1/k なので、署名の偽造に
要する計算量はkで決まる。Since yP≡ (r + es) P≡rP + e (sP) ≡ (X + eI) overE a, b (GF (q)) (58), y If it passes, verifier B acknowledges that document m was sent from A. In the above, the integers e, (Z / kZ) and y∈ (Z / kZ) are appropriately determined, then X∈E a, b (GF (q)) that passes the check formula is calculated, and e = f (X, m)
Is found, and if {ID, X, m, y} is defined as a signed message, the signature is successfully forged. Since the probability that the check formula e = f (m, X) holds is 1 / k, the amount of calculation required for forging a signature is determined by k.
【0093】楕円Schnorr 法では、楕円曲線上でのn倍
点計算をするための式(51)と式(52)の実行回数(ただし
法qにおける剰余計算を含む)が平均3|q|/2回、|k|
ビットの整数の乗算(ただし法kにおける剰余計算を含
む)が1回、|k| ビットの整数の加算(ただし法kに
おける剰余計算を含む)が1回となる。そこで上記の楕
円曲線法を前述した第1〜第3実施例に適用した実施例
を以下に説明する。In the elliptic Schnorr method, the number of executions of equations (51) and (52) for calculating the n-fold point on the elliptic curve (including the remainder calculation in the modulus q) is an average of 3 | q | / Twice, | k |
The multiplication of the bit integer (including the remainder calculation in the modulus k) is performed once, and the addition of the | k | -bit integer (including the remainder calculation in the modulus k) is performed once. Therefore, an embodiment in which the above-described elliptic curve method is applied to the above-described first to third embodiments will be described below.
【0094】楕円曲線上の加算結果P3(=P1+P2)はx座
標とy座標を用いて式(51)及び式(52)により計算される
が、楕円曲線の定義式(50)から明らかなように、x座標
が決まれば、y座標の値の正/負によって、楕円曲線上
の点が一意的に定まる。ここで、x座標は定義体GF(q)
の値なので、楕円曲線上の点は(|q|+1) ビットで表記
できることに注意。 実施例4 この実施例に重畳署名と一括検証を行う第1実施例に対
応する。ここでは、楕円曲線法を用いた重畳署名とその
一括検証にSchnorr 法を適用した実施例について説明す
る。ここで示す、第二の倍数成分を利用する考え方は、
ElGamal 署名法、及びそれらを包括する対話証明を利用
したデジタル署名に対しても広く適用可能である。この
実施例が適用されるシステム構成は図1Aと同じであ
り、その説明は省略する。The addition result P 3 (= P 1 + P 2 ) on the elliptic curve is calculated by the equations (51) and (52) using the x coordinate and the y coordinate. As is clear from), once the x coordinate is determined, a point on the elliptic curve is uniquely determined by the positive / negative value of the y coordinate. Where the x coordinate is the definition field GF (q)
Note that the point on the elliptic curve can be represented by (| q | +1) bits. Embodiment 4 This embodiment corresponds to the first embodiment in which a superimposed signature and batch verification are performed. Here, an embodiment in which the Schnorr method is applied to a superimposed signature using the elliptic curve method and its collective verification will be described. Here, the concept of using the second multiple component is as follows.
It is widely applicable to the ElGamal signature method and digital signatures using interactive proofs that include them. The system configuration to which this embodiment is applied is the same as that of FIG. 1A, and a description thereof will be omitted.
【0095】(4-A) 初期情報設定処理 センタ100 がシステムを開始する際の初期情報設定処理
について図14を参照して説明する。ここでは、システ
ム一意の値{q,a,b,P,k} を公開するのが目的である。 ステップS1: 素数生成器110 を用いて素数qを生成
し、パラメータ生成器120 を用いてa, b∈GF(q) を生成
する。 ステップS2: ベース点生成器130 を用いて楕円曲線
上の点P∈Ea,b(GF(q))を生成し、位数計算機140 を用い
て、ベース点Pの位数kを求める。Ea,b(GF(q))は発明
原理で説明した関数値Gi(q) に対応し、Pはβに対応す
る。 ステップS3: 安全な通信路400 を介して、署名者30
1,…,30Lと検証者800 に公開情報{q,a,b,P,k} を配送
し、署名者装置301〜30Lの記憶部33と、検証者装置80
0 の記憶部88に保持される。(4-A) Initial Information Setting Process The initial information setting process when the center 100 starts the system will be described with reference to FIG. Here, the purpose is to make the system unique values {q, a, b, P, k} public. Step S1: A prime number q is generated by using the prime number generator 110, and a, b∈GF (q) is generated by using the parameter generator 120. Step S2: A point P∈E a, b (GF (q)) on the elliptic curve is generated using the base point generator 130, and the order k of the base point P is obtained using the order calculator 140. E a, corresponding to b (GF (q)) function value G i described invention principles (q), P corresponds to beta. Step S3: Signer 30 via secure communication channel 400
1, ..., 30 L and the public information to the verifier 800 {q, a, b, P, k} to deliver, a storage unit 33 of the signer apparatus 30 1 to 30 L, the verifier apparatus 80
0 is stored in the storage unit 88.
【0096】位数計算機140 は、例えば楕円曲線Ea,b(G
F(q)) の位数(曲線上の点の個数)を求めるSchoofのア
ルゴリズムを利用することで容易に実現できる。(参考
文献:R.Schoof;"Elliptic Curves Over Finite Fields
and the Computation of Square Roots Mod p," Math.
Comp.,44,pp.483−494, 1985)。 (4-B) システム加入時における署名者iの処理 次に、署名者iがシステムに加入する際の処理について
図15を参照して説明する。 ステップS4: 乱数発生器31を用いて乱数si を生成
し、n倍点計算器32に公開情報{q, a, b, P}と共に入
力して、発明の原理で説明した関数G2(si,β) により Ii =G2(si, P)=siP over Ea,b(GF(q)) (59) で公開情報Iiを計算する。ステップS5: 各署名者i
は安全な通信路400 を介して、センタ100 に個人識別情
報IDi と共に公開情報Ii, 一方向性関数fi, hiを送信し
て公開情報{IDi, I i, fi, hi }として登録する。siを
秘密情報として記憶部33に保持する。The order calculator 140 has, for example, an elliptic curve Ea, b(G
F (q)) 's order (number of points on the curve)
It can be easily realized by using the algorithm. (reference
Reference: R. Schoof; "Elliptic Curves Over Finite Fields
and the Computation of Square Roots Mod p, "Math.
Comp., 44, pp. 483-494, 1985). (4-B) Processing of signer i when joining system Next, processing when signer i joins the system
This will be described with reference to FIG. Step S4: Random number s using random number generator 31iGenerate a
And enters it into the n-fold point calculator 32 together with the public information {q, a, b, P}.
Force the function G explained in the principle of the inventionTwo(si, β)i= GTwo(si, P) = siP over Ea, b(GF (q)) Information published in (59) IiIs calculated. Step S5: Each signer i
Sends the personal identification information to the center 100 via the secure communication path 400.
Report IDi Public Information I withi, One-way function fi, hiSend
Public information {IDi, I i, fi, hi Register as}. siTo
It is stored in the storage unit 33 as secret information.
【0097】署名者iの出力する文書miに対する署名つ
き通信文を{ID'i, X'i, m'i, yi}と表す。通信文の交
信シーケンスは図4の場合と同じであり、署名者(i-1)
から通信文{ID'i-1,X'i-1,m'i-1,yi-1 }を受信する
と、署名者iは以下の署名作成処理を行う。署名者装置
30i の構成を図16に示す。以下では、署名対象とする
通信文を署名者(i-1) が送信し、署名者iが署名作成処
理を行い、その結果を署名者(i+1) に送信する場合につ
いて説明する。L人が重畳署名する場合には、iを1か
らLまで1つずつ増加して、以下の手順を繰り返せばよ
い。ここでは署名者(L+1) を検証者とみなす。ただし、
ID'0=空集合,X0=空集合,y0=0とおく。[0097] The signer i output document m i signed communication text for the {ID 'i, X' i , m 'i, y i} represents the. The communication sequence of the message is the same as that of FIG. 4, and the signer (i-1)
When the message {ID ′ i−1 , X ′ i−1 , m ′ i−1 , y i−1 } is received from the user, the signer i performs the following signature creation processing. Signer device
The structure of 30 i shown in FIG. 16. Hereinafter, a case will be described in which the signer (i-1) transmits a message to be signed, the signer i performs a signature creation process, and transmits the result to the signer (i + 1). In a case where L persons perform the superimposition signature, i may be increased by 1 from 1 to L, and the following procedure may be repeated. Here, the signer (L + 1) is regarded as the verifier. However,
ID '0 = empty set, put the X 0 = empty set, y 0 = 0.
【0098】(4-C) 署名作成時の署名者iの処理 ステップS6: 乱数発生器310 を用いて乱数riを生成
して、記憶部33から読み出した公開情報{q,a,b,P}
と共に第2関数Фを計算するn倍点計算器320 に入力し
て Xi =Ф(ri,P)= riP over Ea,b(GF(q)) (60) でXiを計算する。 ステップS7: 関数fi計算器330 と関数hi計算器340
を用いて ei = fi(X'i, m'i) (61) di = hi(X'i, m'i) (62) でeiとdiを求める。ここで X'i=(X'i-1, Xi) (63) m'i=(m'i-1, mi) (64) とする。 ステップS8: ei,di,riを公開情報k,秘密情報si
と共に、剰余つき乗算器350 と剰余つき加算器360 に入
力して、署名関数Sgiにより yi=Sgi(ei,di,si,ri,yi-1)=(yi-1+diri+eisi)modk (65) を求める。 ステップS9: ID'i=(ID'i-1,IDi)とおき、{ID'i,
X'i,m'i,yi}を署名者(i+1) に送信する。[0098] (4-C) signature creation signer i process Step S6: generates a random number r i using a random number generator 310, public information {q read from the storage unit 33, a, b, P}
With Type n times point calculator 320 for calculating a second function Ф X i = Ф (r i , P) = r i P over E a, b at X i (GF (q)) (60) calculate. Step S7: function f i calculator 330 and a function h i calculator 340
Is used, e i = f i (X ′ i , m ′ i ) (61) d i = h i (X ′ i , m ′ i ) (62) to obtain e i and d i . Here, it is assumed that X ′ i = (X ′ i−1 , X i ) (63) m ′ i = (m ′ i−1 , m i ) (64) Step S8: e i , d i , r i are made public information k, secret information s i
With, by entering the remainder with the multiplier 350 and the remainder with the adder 360, the signature function Sg i y i = Sg i ( e i, d i, s i, r i, y i-1) = (y i -1 + d i r i + e i s i) obtaining the modk (65). Step S9: Set ID ′ i = (ID ′ i−1 , ID i ) and {ID ′ i ,
X ′ i , m ′ i , y i } are sent to the signer (i + 1).
【0099】(4-D) 署名検証時の検証者800 の処理 図17に検証者装置800 の構成を示す。検証者は署名者
Lから通信文{ID'L,X'L, m'L, yL}を受信すると、以
下の処理により署名が正しいか検証する。 ステップS10: X'L の先頭のi個の成分からX'i,
m'Lの先頭のi個の成分からm'i を構成し、関数fi計算
器810 と関数hi計算器820 に入力して ei = fi(X'i, m'i) di = hi(X'i, m'i) でeiとdiを求める。(1≦i≦L) ステップS11: ID'L中のIDi 成分からIiを、X'L中
からXiを求め、上記で作成したei,di及び記憶部88か
ら読み出した公開情報{q,a,b,P}と共に、関数Vを演
算するn倍計算器830 に入力して、 Z'=V((Xi*di), (Ii*ei)|i=1,…,L) =(d1X1+…+dLXL+e1I1+…+eLIL)over Ea,b(GF(q)) (66) でZ'を求める。ここで、 ei=fi(X1,…, Xi,{m1,…,mi}) (67) di=hi(X1,…, Xi,{m1,…,mi}) (68) とする(1≦i≦L)。 ステップS12: yLを公開情報{q, a, b, P}と共に
関数Γ(yL*P)を演算するn倍点計算器840 に入力して W=Γ(yL,P)=yLP over Ea,b(GF(q)) (69) で、Wを求める。 ステップS13: Z'とWを比較器850 に入力して W=Z' を検査して、一致すれば、文書{m1,…,mL}はL人の正
しい署名者によって署名されたものであると認める。 実施例5 この第5実施例は多重署名と一括検証を行う第2実施例
に対応する。ここでは、楕円曲線法を用いた多重署名と
一括検証にSchnorr 法を適用した実施例について説明す
る。この実施例においても、第二の倍数成分を利用する
考え方は、ElGamal 署名法、及びそれらを包括する対話
証明を利用したデジタル署名に対しても広く適用可能で
ある。(4-D) Processing of Verifier 800 at Signature Verification FIG. 17 shows the configuration of the verifier device 800. Verifier signer L communication text from {ID 'L, X' L , m 'L, y L} receives a signature or verifying correct by the following process. Step S10: From the first i components of X ′ L , X ′ i ,
m ′ i is constructed from the first i components of m ′ L and input to the function f i calculator 810 and the function h i calculator 820, and e i = f i (X ′ i , m ′ i ) d e i and d i are obtained by i = h i (X ′ i , m ′ i ). (1 ≦ i ≦ L) Step S11: the public 'the ID i component from I i in L, X' ID sought X i from in L, read from e i, d i and the storage section 88 created above Along with the information {q, a, b, P}, it is input to an n-fold calculator 830 that calculates a function V, and Z ′ = V ((X i * d i ), (I i * e i ) | i = 1, ..., L) = (d 1 X 1 +... + D L X L + e 1 I 1 +... + E L I L ) overE a, b (GF (q)) (66) Here, e i = f i (X 1 ,…, X i , {m 1 ,…, m i }) (67) d i = h i (X 1 ,…, X i , {m 1 ,…, m i }) (68) (1 ≦ i ≦ L). Step S12: Publish y L information {q, a, b, P } is input to the n-times point calculator 840 for calculating a function gamma a (y L * P) with W = Γ (y L, P ) = y W is obtained by L P over E a, b (GF (q)) (69). Step S13: Z ′ and W are input to the comparator 850 to check W = Z ′, and if they match, the document {m 1 ,..., M L } is signed by L correct signers Admit. Embodiment 5 This fifth embodiment corresponds to the second embodiment in which multiple signatures and batch verification are performed. Here, an embodiment in which the Schnorr method is applied to multiple signatures and batch verification using the elliptic curve method will be described. Also in this embodiment, the concept of using the second multiple component is widely applicable to ElGamal signature methods and digital signatures using interactive proofs that include them.
【0100】第5実施例が適用されるシステムの構成は
図1Aと同じであり、センタ装置100 の構成は図14に
示すものと同じである。 (5-A) システムの初期情報設定処理 まず、センタ装置100 がシステムを開始する際の初期情
報設定処理について図14を参照して説明する。 ステップS1: 素数生成器110 を用いて素数qを生成
し、パラメータ生成器120 を用いてa, b, GF(q) を生成
する。 ステップS2: 関数G1(q) を演算するベース点生成器
130 を用いて楕円曲線上の点P Ea,b(GF(q)) を生成
し、位数計算器140 を用いて、ベース点Pの位数kを求
める。Pは発明の原理で説明したパラメータβに対応す
る。 ステップS3: 安全な通信路400 を介して、署名者装
置301,…,30Lと検証者装置800 に公開情報{q,a,b,P,
k} を配送し、それぞれの記憶部33及び88に記憶さ
れる。The structure of the system to which the fifth embodiment is applied is the same as that of FIG. 1A, and the structure of the center device 100 is the same as that shown in FIG. (5-A) Initial Information Setting Process of System First, the initial information setting process when the center device 100 starts the system will be described with reference to FIG. Step S1: A prime number q is generated using the prime number generator 110, and a, b, GF (q) are generated using the parameter generator 120. Step S2: Base point generator for calculating function G 1 (q)
A point P E a, b (GF (q)) on the elliptic curve is generated using 130 and an order k of the base point P is obtained using the order calculator 140. P corresponds to the parameter β described in the principle of the invention. Step S3: via a secure channel 400, the signer apparatus 30 1, ..., public information on the 30 L and verifier device 800 {q, a, b, P,
k} is delivered and stored in the respective storage units 33 and 88.
【0101】ここで、位数計算器140 は、前述のように
楕円曲線Ea,b(GF(q)) の位数(曲線上の点の個数)を求
めるSchoofのアルゴリズムを利用することで容易に実現
できる。 (5-B) システム加入時における署名者i装置の処理 次に、署名者i装置がシステムに加入する際の処理につ
いて図18を参照して説明する。 ステップS4: 乱数発生器310 を用いて乱数si を生
成し、関数G2(si,P)を演算するn倍点計算器220 に公開
情報q, a, b, Pと共に入力して Ii=G2(si, P)= siP over Ea,b(GF(q)) (70) の演算で公開情報Iiを計算する。 ステップS5: 各署名者i装置は安全な通信路400 を
介して、センタ装置100に個人識別情報IDi と共に公開
情報Ii,一方向性関数fi,hiを送信して公開情報{IDi,
Ii,f1,h1}として登録する。siを秘密情報として保持す
る。Here, the order calculator 140 uses the Schoof algorithm for obtaining the order (the number of points on the curve) of the elliptic curve E a, b (GF (q)) as described above. Can be easily realized. (5-B) Processing of Signer i-Device at System Subscription Next, the processing when the signer i-device joins the system will be described with reference to FIG. Step S4: A random number generator 310 is used to generate a random number s i, which is input to an n-fold calculator 220 for calculating a function G 2 (s i , P) together with the public information q, a, b, P and I i = G 2 (s i , P) = s i P overE a, b (GF (q)) (70) The public information I i is calculated. Step S5: Each signer i device transmits the public information I i , the one-way function f i , h i together with the personal identification information ID i to the center device 100 via the secure communication channel 400, and the public information {ID i ,
Register as I i , f 1 , h 1 }. s i is held as secret information.
【0102】以降では、署名者i装置の出力する文書m
に対する署名つき通信文を{I'i,X' i,m,yi}と表す。通
信文の交信シーケンスは図7の場合と同じであり、署名
者(i-1) 装置から通信文{ID'i-1,X'i-1,m,yi-1} を受
信すると、署名者i装置は次の署名作成処理を行なう。
署名者装置30i の構成を図18に示す。以下では、署名
対象とする通信文を署名者(i-1) 装置が送信し、これに
対し署名者i装置が署名作成処理を行ない、その結果を
署名者(i+1) 装置に送信する場合について説明する。L
人が多重署名する場合には、iを1からLまで1つずつ
増加して、以下の手順を繰り返せばよい。ここでは署名
者(L+1) 装置を検証者装置とみなす。ただし、ID'0=空
集合、X'0 =空集合、y0=0 とおく。Hereinafter, the document m output from the signer i
署名 I 'i, X ' i, m, yiExpressed as}. Through
The communication sequence of the message is the same as that of FIG.
(I-1) Message {ID 'from devicei-1, X 'i-1, m, yi-1}
Upon receipt, the signer i apparatus performs the following signature creation processing.
Signer device 30i 18 is shown in FIG. In the following, the signature
The signer (i-1) device sends the target message and sends it to
On the other hand, the signer i-device performs the signature creation process, and
The case of transmitting to the signer (i + 1) device will be described. L
When a person performs multiple signatures, i is one from 1 to L
Then, the following procedure may be repeated. Here is the signature
The verifier (L + 1) device is regarded as the verifier device. Where ID '0= Empty
Set, X '0 = Empty set, y0= 0.
【0103】(5-C) 署名作成時の署名者i装置の処理 ステップS6: 乱数発生器310 を用いて乱数ri を生
成して、記憶部33から読み出した公開情報{q,a,b,
P} と共に、関数Φを演算するn倍点計算器320 に入力
して Xi=Φ(ri, P)= riP over Ea,b(GF(q)) (71) の演算でXiを計算する。ステップS7: 一方向性関数
fi計算器330 と一方向性関数hi計算器340 を用いて ei = fi(X'i, m) (72) di = hi(X'i, m) (73) の各演算でeiとdiを求める。ここでX'i=(X'i-1, Xi) と
する。ステップS8: ei, di, ri, yi-1を公開情報
k,秘密情報si と共に、剰余つき乗算器350 、剰余つ
き加算器360 に入力して、署名関数Sgi により署名 yi=Sgi(ei,di,si,ri,yi-1,k) =(yi-1+diri+eisi)modk (74) を求める。 ステップS9: ID'i=(ID'i-1, IDi) とおき、{I
D'i,X'i,m,yi}を署名者(i+1)装置に送信する。[0103] processing steps (5-C) signature creation signer i device S6: generates a random number r i using a random number generator 310, public information {q read from the storage unit 33, a, b ,
With P}, X i = Φ ( r i, P) = r i P over E a is input to the n-times point calculator 320 for calculating a function [Phi, in the calculation of b (GF (q)) ( 71) Calculate X i . Step S7: One-way function
f i calculator 330 and a one-way function h i using calculators 340 e i = f i (X 'i, m) (72) d i = h i (X' i, m) each of (73) calculation of acquiring e i and d i in. Here, X ′ i = (X ′ i−1 , X i ). Step S8: e i, d i, r i, y i-1 public information k, together with the secret information s i, the remainder with the multiplier 350, and input to the remainder with the adder 360, signed by the signature function Sg i y i = Sg i (e i , d i , s i , r i , y i−1 , k) = (y i−1 + d i r i + e i s i ) modk (74) Step S9: Set ID ′ i = (ID ′ i−1 , ID i ) and set ΔI
D ′ i , X ′ i , m, y i } are sent to the signer (i + 1) device.
【0104】(5-D) 署名検証時の検証者装置800 の処理 図19に検証者装置800 の機能構成を示す。署名者L装
置から通信文{ID'L,X'L, m, yL}を受信すると、検証
者装置800 は以下の処理により署名が正しいか検証す
る。 ステップS10: X'L の先頭のi個の成分からX'i を
構成し、文書mと共に関数fi計算器810 と関数hi計算器
820 に入力して ei = fi(X'i, m) di = hi(X'i, m) の各演算でeiとdiを求める(1≦i≦L)。 ステップS11: ID'L中のIDi 成分からIiを、X'L の
中からXiを求め、上記で作成したei,di及び記憶部88
から読み出した公開情報{q,a,b,P,k} と共に関数Vを
演算するn倍点計算器830 に入力して Z'=V((Xi*di),(Ii*ei)|i=1,…,L) =(d1X1+…+dLXL+e1I1+…+eLIL)over Ea,b(GF(q)) (75) の演算でZ'を求める。ここで、 ei = fi(X1, …, Xi, m) (76) di = hi(X1, …, Xi, m) ただし1≦i≦L (77) である。 ステップS12: yLを公開情報q, a, b, Pと共に関数
Γ(yL*P)を演算するn倍点計算器840 に入力して W= Γ(yL*P)= yLP over Ea,b(GF(q)) (78) の演算でWを求める。 ステップS13: Z'とWを比較器850 に入力して W=Z' が成立するかを検査して、一致すれば、文書mはL個の
正しい署名者装置によって署名されたものであると認め
る。(5-D) Processing of Verifier Apparatus 800 at the Time of Signature Verification FIG. 19 shows a functional configuration of the verifier apparatus 800. Communication text from the signer L device {ID 'L, X' L , m, y L} receives a verifier device 800 to verify the signature by the following process is correct. Step S10: X ′ i is constructed from the first i components of X ′ L , and the function f i calculator 810 and the function h i calculator together with the document m
820 and e i = f i (X ′ i , m) d i = h i (X ′ i , m) to obtain e i and d i (1 ≦ i ≦ L). Step S11: 'the ID i component from I i in L, X' ID sought X i from the L, e i, d i and the storage section 88 created above
And the public information {q, a, b, P, k} read out from the input to the n-fold calculator 830 that calculates the function V, and Z ′ = V ((X i * d i ), (I i * e i) | i = 1, ... , L) = computation of (d 1 X 1 + ... + d L X L + e 1 I 1 + ... + e L I L) over E a, b (GF (q)) (75) To find Z '. Here, e i = f i (X 1 ,..., X i , m) (76) d i = h i (X 1 ,..., X i , m) where 1 ≦ i ≦ L (77). Step S12: Publish y L information q, a, b, and input to the n-times point calculator 840 for calculating a function gamma a (y L * P) with P W = Γ (y L * P) = y L P over E a, b (GF (q)) W is obtained by the operation of (78). Step S13: Z ′ and W are input to the comparator 850 to check whether W = Z ′ is satisfied. If they match, the document m has been signed by L correct signer devices. Admit.
【0105】各装置はコンピュータによりプログラムを
読出し、解読実行してその機能を遂行するようにするこ
とができる。また各署名者i装置でID'i=(ID'i-1, IDi)
の代りにID'i=(ID'i-1, Ii) としてもよい。この場合Ii
を記憶手段に記憶しておく必要があり、検証者装置でID
i からIiを探す手間がはぶける。 実施例6 この第6実施例は複数の署名者がそれぞれの文書に個別
に署名を付け、それらを一括検証する第3実施例に対応
する。この実施例においても、楕円曲線法を用いたSch
norr法を適用した場合について説明する。この実施例に
おいても、第二の倍数成分を利用する考え方は、ElGama
l 署名法、及びそれらを包括する対話証明を利用したデ
ジタル署名に対しても広く適用可能である。Each device can read a program by a computer, execute the decoding, and execute its function. Also, ID ′ i = (ID ′ i−1 , ID i ) at each signer i device
May be set as ID ′ i = (ID ′ i−1 , I i ). In this case I i
Must be stored in the storage means.
Finding I i from i is troublesome. Embodiment 6 This sixth embodiment corresponds to a third embodiment in which a plurality of signers individually sign each document and collectively verify them. Also in this embodiment, the Sch using the elliptic curve method is used.
The case where the norr method is applied will be described. Also in this embodiment, the idea of using the second multiple component is ElGama
l It is widely applicable to digital signatures using signature methods and interactive proofs that include them.
【0106】第6実施例が適用されるシステムの構成は
図1Bと同じであり、センタ装置100 の構成は図14に
示すものと同じである。以降では、署名者iは文書miに
署名するとして署名つき通信文を{IDi,Xi,mi,yi}と表
す。通信文の交信シーケンスは図11に示すものと同じ
である。第20図に署名者iのブロック図を示す。The structure of the system to which the sixth embodiment is applied is the same as that of FIG. 1B, and the structure of the center device 100 is the same as that shown in FIG. Hereinafter, it is assumed that the signer i signs the document mi and the signed communication message is represented as {ID i , X i , mi , y i }. The communication sequence of the message is the same as that shown in FIG. FIG. 20 shows a block diagram of the signer i.
【0107】(6-A) 署名作成時の署名者iの処理 ステップS14: 乱数発生器310 を用いて乱数riを生
成して、記憶部33から読み出した公開情報{q,a,b,
P}と共に、関数Φ(ri,P)を演算するn倍点計算器320
に入力して Xi = Φ(ri, P)=riP over Ea,b(GF(Q)) (79) でXiを計算する。 ステップS15: 一方向性関数fi計算器330 と一方向
性関数hi計算器340 を用いて ei = fi(Xi, mi) (80) di = hi(Xi, mi) (81) でeiとdiを求める。 ステップS16: ei,di,riを公開情報k,秘密情報
siと共に、剰余つき乗算器350 ,剰余つき加算器360 に
入力して、署名関数Sgiにより署名 yi= Sgi(ei,di,si,ri,k)=(diri+eisi)modk (82) を求める。 ステップS17: (IDi,Xi,mi,yi)を検証者800 に送信
する。[0107] (6-A) signature creation signer i processing step S14: generates a random number r i using a random number generator 310, public information {q read from the storage unit 33, a, b,
N times-multiplier calculator 320 for calculating a function Φ (r i , P) together with P}
In Type X i = Φ (r i, P) = r i P over E a, b (GF (Q)) (79) to calculate the X i in. Step S15: the one-way function f i calculator 330 and a one-way function h i using calculators 340 e i = f i (X i, m i) (80) d i = h i (X i, m i ) Find e i and d i in (81). Step S16: e i , d i , r i are made public information k, secret information
with s i, the remainder with the multiplier 350, and input to the remainder with the adder 360, signed by the signature function Sg i y i = Sg i ( e i, d i, s i, r i, k) = (d i r i + e i s i ) modk (82). Step S17: (ID i , X i , m i , y i ) is transmitted to the verifier 800.
【0108】(6-B) 署名検証時の検証者800 の処理 図21に検証者800 のブロック図を示す。L人の署名者
からL個の通信文{Ii ,Xi,mi,yi}を受信すると、検証
者800 は以下の処理により署名を一括検証する。 ステップS18: Xiを文書miと共に関数fi計算器810
と関数hi計算器820 に入力して ei = fi(Xi, mi) di = hi(Xi, mi) でeiとdiを求める(1≦i≦L)。 ステップS19: IDi 成分からIiを求め、Xiと上記で
作成したei,di及び記憶部88から読み出した公開情報
{q,a,b,P} と共に関数Vを演算するn倍点計算器830
に入力して Z'=V((Xi*di),(Ii*ei)|i=1,…,L) =(d1X1+…+dLXL+e1I1+…+eLIL)over Ea,b(GF(q)) (83) でZ'を求める。ここで、 ei = fi(X1,…,Xi,{m1,…,mi}) (84) di = hi(X1,…,Xi,{m1,…,mi}) ただし1≦i≦L (85) とする。 ステップS20: L個のyiを公開情報kと共に剰余つ
き加算器840 に入力してY= Σi=1 L yimodk
(86)で累積値Yを求め、公開
情報{q,a,b,P}と共に関数Γ(Y*P)を演算するn倍点計
算器845 に入力して W = Γ(Y*P)=YP over Ea,b(GF(q)) (87) でWを求める。 ステップS21: Z'とWを比較器850 に入力して W=Z' を検査して、一致すれば、L個の文書mi はそれぞれ正
しい署名者iによって署名されたものであると認める。(6-B) Processing of Verifier 800 at Signature Verification FIG. 21 is a block diagram of the verifier 800. Upon receiving L messages {I i , X i, mi, y i } from the L signers, verifier 800 collectively verifies the signature by the following processing. Step S18: function X i with Article m i f i calculator 810
And the function h i calculator 820 to obtain e i and d i by e i = f i (X i , m i ) d i = h i (X i , m i ) (1 ≦ i ≦ L) . Step S19: determine the I i from ID i component, e i created by X i and said, n times the public information read from the d i and the storage section 88 {q, a, b, P} with computing function V Point calculator 830
And Z ′ = V ((X i * d i ), (I i * e i ) | i = 1, ..., L) = (d 1 X 1 + ... + d L X L + e 1 I 1 + … + E L I L ) over E a, b (GF (q)) (83) Here, e i = f i (X 1 ,…, X i , {m 1 ,…, m i }) (84) d i = h i (X 1 ,…, X i , {m 1 ,…, m i }) where 1 ≦ i ≦ L (85). Step S20: L y i are input to the adder with remainder 840 together with the public information k, and Y = Σ i = 1 L y i modk
The accumulated value Y is obtained in (86), and input to the n-fold calculator 845 which calculates the function Γ (Y * P) together with the public information {q, a, b, P}, and W = Γ (Y * P) = YP over E a, b (GF (q)) (87) Step S21: Examine the 'enter a and W to the comparator 850 W = Z' Z, if they match, finds the L is the document m i are those signed by the correct signer i, respectively.
【0109】累積値Yの作り方より YP≡(yL-1P)+{dL(rLP)}+{eL(sLP)} ≡yL-1P+dLXL+eLIL≡ ・・・ ≡(d1X1+…+dLXL+e1I1+…+eLIL)over Ea,b(GF(q)) (88) であるから、上記の検査に合格した場合、検証者800 は
文書mi(i=1,…L)がそれぞれL人の正しい署名
者によって署名されたものであると認める。 実施例の評価 この発明の実施例による署名と検証で使用される基本的
演算に必要な計算量、通信文の冗長度、その他に付いて
RSA暗号を用いた場合及びSchnorr 法を用いた場合と
比較して以下に示す。ただし、システムは多重署名とそ
の検証を行う場合のシステムであり、従って、この発明
の第2及び第5実施例を評価の対象としている。[0109] YP≡ than how to make the cumulative value Y (y L-1 P) + {d L (r L P)} + {e L (s L P)} ≡y L-1 P + d L X L + e L I L ≡ ≡ d (d 1 X 1 + ... + d L X L + e 1 I 1 + ... + e L I L ) over E a, b (GF (q)) (88) In that case, the verifier 800 recognizes that the documents mi (i = 1,... L) are each signed by L correct signers. Evaluation of the embodiment The amount of computation required for basic operations used in signature and verification according to the embodiment of the present invention, the redundancy of the message, the case where the RSA encryption is used, and the case where the Schnorr method is used The following is a comparison. However, the system is a system for performing a multiple signature and its verification, and therefore the second and fifth embodiments of the present invention are evaluated.
【0110】図22の表はRSA暗号、Schnorr 法、第
2実施例及び第5実施例で多重署名及び検証を行う場合
に使用される基本的な演算式を比較して示している。図
23の表は、図22の式を使用する場合、それぞれの方
式の署名と検証に必要な演算回数を示す。また、通信文
の冗長度、及び全署名を検証するのに必要な通信回数
と、通信文の巡回回数も示している。The table of FIG. 22 shows a comparison between the RSA encryption, the Schnorr method, and the basic arithmetic expressions used for performing the multiple signature and verification in the second and fifth embodiments. The table in FIG. 23 shows the number of operations required for signature and verification in each system when using the formula in FIG. The table also shows the redundancy of the message, the number of communications required to verify all signatures, and the number of rounds of the message.
【0111】(1) 署名者装置の処理量 図22の表で示した署名に使用される演算において、一
方向性関数f,fi,hiの計算は乗算及びn倍点計算より
高速なので、それぞれの署名者装置の処理量を法Nでの
乗算(法Nあるいは法pによる剰余計算を含む)の楕円
曲線上でのn倍点計算の実行回数を用いて比較する。[0111] (1) In the calculation used to sign shown in Table amount of processing Figure 22 of the signer's apparatus, the one-way function f, f i, since the calculation of the h i is faster than multiplication and n times point calculator Then, the processing amount of each signer apparatus is compared using the number of times the multiplication by the modulus N (including the remainder calculation by the modulus N or the modulus p) on the elliptic curve is performed on the elliptic curve.
【0112】通常、|N|=1024、|q|=160 が推奨さ
れている。このとき主要項はそれぞれ第1番目の演算で
あるのでほぼ図23に示すようになり、第2及び第5実
施例では、RSA暗号を用いる方法の5倍以上の処理速
度となる。また、第5実施例のような楕円曲線上のn倍
点計算量を、RSA暗号を用いる署名処理量と比較する
と約10倍高速であることが報告されている(例えば、
http://WWW.certicom.com/html/eccqa.html. 参照)。Normally, | N | = 1024 and | q | = 160 are recommended. At this time, since the main terms are the first operation, they are almost as shown in FIG. 23. In the second and fifth embodiments, the processing speed is more than five times as fast as the method using the RSA encryption. Further, it is reported that the calculation amount of the n-fold point on the elliptic curve as in the fifth embodiment is about 10 times faster when compared with the signature processing amount using the RSA encryption (for example,
http: //www.certicom.com/html/eccqa.html.)
【0113】(2) 検証者装置の処理量 図22に示した検証に使用される演算において、一方向
性関数f,fi,hiの計算は乗算及び楕円曲線上のn倍点
の計算より高速なので、検証者装置の処理量を、RSA
暗号におけるべき乗乗算(ただし法Nあるいは法pによ
る剰余計算を含む)の回数、楕円曲線上でのn倍点計算
の実行回数を用いて比較する。図23に示すように、こ
の発明による検証に必要なの演算量はRSA暗号法を用
いた場合と同等であり、Schnorr 法を用いた場合のほぼ
半分となる。(2) Processing Amount of Verifier Device In the calculation used for the verification shown in FIG. 22, the calculation of the one-way functions f, f i , and h i is performed by multiplication and calculation of the n-fold point on the elliptic curve. Since it is faster, the processing amount of the verifier
The comparison is made using the number of exponentiation multiplications (including the remainder calculation by the modulus N or the modulus p) in the cryptography and the number of executions of the n-fold point calculation on the elliptic curve. As shown in FIG. 23, the amount of calculation required for the verification according to the present invention is equivalent to the case where the RSA encryption method is used, and is almost half the case where the Schnorr method is used.
【0114】(3) 通信文の冗長度 順次多重署名では、いずれの方法でも署名者を明らかに
するために、署名毎にID情報が付加される(ID'L成
分)。以下では、通信文{ID',X,m,y} の冗長度をX成
分、y成分のビット数で評価する。RSA暗号系を利用
した署名成分(y成分)はDL…D1(f(m))とする。その結
果を図23に示す。(3) Redundancy of communication message In the sequential multiple signature, ID information is added to each signature (ID ' L component) in order to clarify the signer by any method. In the following, the redundancy of the message {ID ', X, m, y} is evaluated by the number of bits of the X component and the y component. The signature component (y component) using the RSA encryption system is D L ... D 1 (f (m)). The result is shown in FIG.
【0115】この発明による第2及び第5の実施例の方
法ではL×|X|+|y|ビット となり、この第5実施例
に適用すると、|p|=|q|=|e|=160,|X|=|q
|+1とできるので、161L+160ビットとなる。2≦L≦6の
とき、第5実施例の方法が有利なことが分かる。 (4) 通信回数と巡回回数 発明の背景で説明したように、Schnorr 法を使って多重
署名とその検証を行うためには、通信文を2巡回させる
必要がある。そのため、必要な通信回数も他の方式に比
べてほぼ2倍となっている。In the method of the second and fifth embodiments according to the present invention, L × │X│ + │y│ bits. When applied to the fifth embodiment, | p│ = │q│ = │e│ = 160, | X | = | q
Since it can be | +1, it becomes 161L + 160 bits. When 2 ≦ L ≦ 6, it can be seen that the method of the fifth embodiment is advantageous. (4) Number of Communication and Number of Circulations As described in the background of the invention, in order to perform a multiple signature and its verification using the Schnorr method, it is necessary to make a message twice. Therefore, the required number of times of communication is almost double that of the other systems.
【0116】なお、この発明による署名と一括検証法の
安全性の根拠について述べると、公開情報p,q,g,
Iiから秘密情報siを計算できないことは、法pでの離散
対数問題が困難なことによって保障できる。署名者装置
が他の署名者装置の署名を含めて多重署名を偽造できな
いことは、この発明の方法が計算量理論の理論的な研究
成果であるランダムオラクルモデルでの“Exact Securi
ty”性を満たすことによって保障できる。Note that the security of the signature and the batch verification method according to the present invention will be described.
Not be able to calculate the secret information s i from I i can guarantee by can be difficult discrete logarithm problem by law p. The inability of a signer device to forge a multiple signature, including the signatures of other signer devices, indicates that the method of the present invention is based on the "Exact Securi"
It can be guaranteed by satisfying the ty ”property.
【0117】“Exact Security”性については、例えば
M.Bellare and P.Rogaway,“RandomOracles are Practi
cal:A Paradigm for Designing Efficient Protocols,
”Proc.of the First ACM Conference on Computer an
d Communications Security,pp.62-73,及び K.Ohta and
T.Okamoto,“The Exact Security of Multi-Signature
Schemes,”Technical Report of IEICE ISEC 97-27,を
参照。Regarding the “Exact Security” property, for example,
M. Bellare and P. Rogaway, “RandomOracles are Practi
cal: A Paradigm for Designing Efficient Protocols,
”Proc. Of the First ACM Conference on Computer an
d Communications Security, pp. 62-73, and K. Ohta and
T. Okamoto, “The Exact Security of Multi-Signature
See Schemes, “Technical Report of IEICE ISEC 97-27.
【0118】[0118]
【発明の効果】以上説明したように、この発明では、R
SA法を用いる場合の5倍以上の署名生成処理速度を実
現できる。検証処理については、RSA法と同等であ
り、Schnorr 法を繰り返して起用する場合に比べて2倍
の高速化を実現できる。通信文の冗長度はLが6以下の
場合、この発明による方法とSchnorr 法を繰り返し適用
する場合が同等であり、RSA法を用いる場合に比べて
有利である。As described above, according to the present invention, R
It is possible to realize a signature generation processing speed five times or more that in the case of using the SA method. The verification processing is equivalent to the RSA method, and can achieve twice the speed as compared with the case where the Schnorr method is repeatedly used. When the redundancy of the message is 6 or less, the method according to the present invention and the case where the Schnorr method is repeatedly applied are equivalent, and are more advantageous than the case where the RSA method is used.
【図1】Aはこの発明の重畳署名又は多重署名とその一
括検証が適用されるシステムの構成を示すブロック図、
Bはこの発明の個別署名とその一括検証が適用されるシ
ステムの構成を示すブロック図。FIG. 1A is a block diagram showing a configuration of a system to which a superimposed signature or a multi-signature and a collective verification thereof are applied according to the present invention;
1B is a block diagram showing the configuration of a system to which the individual signature and the collective verification thereof according to the present invention are applied.
【図2】図1A又は1B中のセンタ装置100 の初期情報
設定処理と関連する機能構成を示すブロック図。FIG. 2 is a block diagram showing a functional configuration related to an initial information setting process of the center device 100 in FIG. 1A or 1B.
【図3】図1A中の署名者i装置30i のシステム加入時
の処理と関連する機能構成を示すブロック図。3 is a block diagram showing the relevant functional configuration as the signer i apparatus 30 i process during system subscription in Figure 1A.
【図4】重畳署名された情報の交信シーケンスを示す
図。FIG. 4 is a diagram showing a communication sequence of superimposed signed information.
【図5】図1A中の署名者i装置30i の署名作成処理と
関連する機能構成を示すブロック図。[5] signer i apparatus 30 i a block diagram showing a functional structure associated with the signature generation processing in Figure 1A.
【図6】図1A中の検証者装置800 の署名検証処理と関
連する機能構成を示すブロック図。FIG. 6 is a block diagram showing a functional configuration related to signature verification processing of the verifier device 800 in FIG. 1A.
【図7】多重署名された情報の交信シーケンスを示す
図。FIG. 7 is a diagram showing a communication sequence of information that has been multiply signed.
【図8】多重署名において図1A中の署名者i装置30i
の署名作成処理と関連する機能構成を示すブロック図。FIG. 8 shows a signer i device 30 i in FIG. 1A in a multiple signature.
FIG. 2 is a block diagram showing a functional configuration related to a signature creation process of FIG.
【図9】多重署名において図1A中の検証者装置800 の
署名検証処理と関連する機能構成を示すブロック図。FIG. 9 is a block diagram showing a functional configuration related to a signature verification process of the verifier device 800 in FIG. 1A in a multiple signature.
【図10】個別署名における図1B中の署名者i装置30
i のシステム加入時の処理と関連する機能構成を示すブ
ロック図。FIG. 10 shows a signer i-device 30 in FIG. 1B for an individual signature.
FIG. 6 is a block diagram showing a functional configuration related to processing at the time of system subscription i .
【図11】個別署名における情報の交信シーケンスを示
す図。FIG. 11 is a diagram showing a communication sequence of information in an individual signature.
【図12】図1B中の署名者i装置30i の署名作成処理
と関連する機能構成を示すブロック図。[12] signer i apparatus 30 i a block diagram showing a functional structure associated with the signature creation process in FIG. 1B.
【図13】図1B中の検証者装置800 の署名検証処理と
関連する機能構成を示すブロック図。FIG. 13 is a block diagram showing a functional configuration related to a signature verification process of the verifier device 800 in FIG. 1B.
【図14】楕円曲線暗号を用いる場合の図1A中のセン
タ装置100 の初期情報設定処理に関連する機能構成を示
すブロック図。FIG. 14 is a block diagram showing a functional configuration related to initial information setting processing of the center device 100 in FIG. 1A when using elliptic curve cryptography.
【図15】楕円曲線暗号を用いる図1A及び図1Bのシ
ステムにおける署名者i装置30iのシステム加入時の処
理に関連する機能構成を示すブロック図。FIG. 15 is a block diagram showing a functional configuration related to processing when the signer i-device 30i joins the system in the system shown in FIGS. 1A and 1B using the elliptic curve cryptosystem.
【図16】楕円曲線暗号を用いる重畳署名を行う図1A
のシステムにおける署名者i装置30i の署名作成処理に
関連する機能構成を示すブロック図。FIG. 16A is a diagram showing a superimposed signature using elliptic curve cryptography.
FIG. 13 is a block diagram showing a functional configuration related to a signature creation process of the signer i device 30 i in the system of FIG.
【図17】楕円曲線暗号を用いる重畳署名を行う図1A
のシステムにおける検証者装置800 の署名検証処理に関
連する機能構成を示すブロック図。FIG. 17A is a diagram showing a superimposed signature using elliptic curve cryptography.
FIG. 13 is a block diagram showing a functional configuration related to a signature verification process of the verifier device 800 in the system of FIG.
【図18】楕円曲線を用いる多重署名を行う図1Aのシ
ステムにおける署名者i装置30iの構成を示すブロック
図。Figure 18 is a block diagram showing the configuration of a signer i apparatus 30 i in the system of Figure 1A performing multiple signature using elliptic curve.
【図19】楕円曲線を用いる多重署名を行う図1Aのシ
ステムにおける検証者装置800 の構成を示すブロック
図。FIG. 19 is a block diagram showing a configuration of a verifier device 800 in the system shown in FIG. 1A for performing a multiple signature using an elliptic curve.
【図20】楕円曲線を用いる個別署名を行う図1Bのシ
ステムにおける署名者i装置30iの構成を示すブロック
図。Figure 20 is a block diagram showing the configuration of a signer i apparatus 30 i in FIG. 1B system that provides individual signature using elliptic curve.
【図21】楕円曲線を用いる個別署名を行う図1Bのシ
ステムにおける検証者装置800 の構成を示すブロック
図。FIG. 21 is a block diagram showing a configuration of a verifier device 800 in the system shown in FIG. 1B for performing an individual signature using an elliptic curve.
【図22】この発明を評価するため、基本的演算式をR
SA法及びSchnorr 法と比較して示す表。FIG. 22 is a diagram for explaining a basic operation expression of R to evaluate the present invention;
Table showing comparison with SA method and Schnorr method.
【図23】この発明の評価として、必要な演算量をRS
A法及びSchnorr 法と比較して示す表である。FIG. 23 is a diagram illustrating an evaluation of the present invention.
It is a table shown in comparison with the A method and the Schnorr method.
フロントページの続き (31)優先権主張番号 特願平10−141342 (32)優先日 平成10年5月22日(1998.5.22) (33)優先権主張国 日本(JP) (56)参考文献 特開 平2−275983(JP,A) 特開 平6−118873(JP,A) 特開 平5−128132(JP,A) 特開 平10−133576(JP,A) 特許2511464(JP,B2) 多重署名の厳密な安全性,電子情報通 信学会技術研究報告,1997年7月19日, Vol.97,No.182,p.41−52 「n変数べき乗剰余演算とその応用」 に関する考察,電子情報通信学会技術研 究報告,1992年3月18日,Vol.91, No.524,p.27−32 (58)調査した分野(Int.Cl.7,DB名) H04L 9/32 G09C 1/00 640 JICSTファイル(JOIS)Continued on front page (31) Priority claim number Japanese Patent Application No. Hei 10-141342 (32) Priority date May 22, 1998 (1998.5.22) (33) Priority claim country Japan (JP) (56) References JP-A-2-275983 (JP, A) JP-A-6-118873 (JP, A) JP-A-5-128132 (JP, A) JP-A-10-133576 (JP, A) Patent 2511464 (JP) , B2) Strict security of multiple signatures, IEICE Technical Report, July 19, 1997, Vol. 97, no. 182, p. 41-52 Consideration on “N-variable exponentiation operation and its application”, IEICE Technical Report, March 18, 1992, Vol. 91, No. 524, p. 27-32 (58) Field surveyed (Int. Cl. 7 , DB name) H04L 9/32 G09C 1/00 640 JICST file (JOIS)
Claims (17)
装置乃至署名者L装置(Lは2以上の整数)が順次重複
して電子的署名を行う方法において、 群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素g、および要素gをq回演算すると、gにも
どるような正の整数qをシステム公開情報として公開
し、 各署名者i装置(i=1,2,…,L)は (a)第1 乱数si を生成し、gを、pを用いてsi 回
群演算してIi を求め、情報Ii 、署名者i装置の個人
識別情報IDi 、一方向性関数fi 、一方向性関数hi
を公開し、第1乱数s i を秘密情報として保持し、(b) 署名者(i−1)装置から文書mに対する署名つ
き通信文(ID′ i-1 ,X′i-1 ,m,y′i-1 )を受
信すると、第2 乱数ri を生成し、gと、pとを用いてri 回群演
算してXi を求め、(c) Xi =(X′i-1 ,Xi )と統合し、一方向性関
数fi ,hi を、それぞれX′i ,mについて演算し
て、 ei =fi (X′i ,m) di =hi (X′i ,m) を求め、 (d) これらei ,di 、上記ri ,si ,q,y′
i-1 を用いて、 yi =y′i-1 +di ri +ei si mod q を求めて、そのyi をy′i とし、かつID′ i =(I
D′ i-1 ,IDi )として、通信文(ID′ i ,
X′i ,m,y′i )を次の署名者i+1装置へ送信
し、 検証者装置は署名者L装置から通信文(ID′ L ,X′
L ,m,y′L )を受信すると、(e) X′L の先頭のi個の成分からX′i を構成し、
そのX′i と文書mとについて一方向性関数fi ,hi
をそれぞれ演算して ei =fi (X′i ,m) di =hi (X′i ,m) を求めることを各i(1<i<L)について行い、(f) 受信したID′ L 中のIDi 成分から対応公開情
報Ii を、受信したX′L 中からXi をそれぞれ求め、
これらと、上記求めたei ,di 、更に公開情報pとを
用いて、複数成分群演算により、1からLまでの各iに
ついて、Xi をdi 回演算した値と、Ii をei 回演算
した値とを順に演算してZ′を求め、(g) 一方、受信したy′L と公開情報p,qを用い
て、gをy′L 回演算してWを求め、Z′ とWを比較し、一致すれば文書mはL個の署名者1
装置乃至署名者L装置によりそれぞれ署名されたものと
認める複数のデジタル署名一括検証方法。An electronic document m is sent to a signer 1
The apparatus to the signer L device (L is an integer of 2 or more) rows cormorants Way Method electronic signature sequentially overlapped, p specifying the number of groups of elements, the group as a starting point of the operation in the group computing element When g and the element g are operated q times, a positive integer q that returns to g is made public as system public information, and each signer i device (i = 1, 2,..., L) has (a) generates a random number s i, the g, seek I i by computing s i times groups using the p, information I i, personal identification information ID i of the signer i device, the unidirectional function f i, the one-way Sex function h i
Is held, and the first random number s i is held as secret information. (B) Signed message ( ID ′ i−1 , X ′ i−1 , m, Upon receiving the y 'i-1), generates a second random number r i, obtains the X i and r i times groups Starring <br/> calculated using the g, and p, (c) X i = (X 'i-1, X i) and integrating the unidirectional function <br/> number f i, the h i, respectively X' i, and calculates the m, e i = f i ( X 'i , M) d i = h i (X ′ i , m), and (d) these e i , d i , and the above r i , s i , q, y ′
using i-1, 'seeking i-1 + d i r i + e i s i mod q, the y i y' y i = y and i, and ID 'i = (I
D ′ i−1 , ID i ) as a message ( ID ′ i , ID i ).
X 'i, m, y' i) was sent to the next signer i + 1 system, the verifier apparatus communication text from signer L device (ID 'L, X'
L , m, y ′ L ), (e) construct X ′ i from the first i components of X ′ L ,
Its X 'i and the document m and the one-way function f i, h i
The performed for each operation e i = f i (X ' i, m) d i = h i (X' i, m) each to seek i (1 <i <L) , the received (f) obtains ID 'corresponding public information I i from ID i component in the L, the received X' from in L X i, respectively,
Using these, the obtained e i , d i , and the public information p, a value obtained by calculating X i di times for each i from 1 to L by a multiple component group operation, and I i ( i ) Using the received y ′ L and the public information p and q, g is calculated y ′ L times to obtain W, Compare Z ' and W, and if they match, document m is L signers 1
A plurality of digital signature collective verification methods, each of which is recognized as being signed by a device or a signer L device.
…,L;Lは2以上の整数)を、署名者i装置が順次重
畳して電子的署名を行う方法において、 群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素g、および要素gをq回群演算すると、gに
もどるような正の整数qをシステム公開情報として公開
し、 各署名者i装置(i=1,2,…,L)は (a)第1乱数si を生成し、gを、pを用いてsi 回
群演算してIi を求め、情報Ii 、署名者i装置の個人
識別情報IDi ,一方向性関数fi ,一方向性関数hi
を公開し、第1乱数si を秘密情報として保持し、 (b)署名者(i−1)装置から文書m′i-1 =
(m1 ,…,mi-1 )に対する署名つき通信文(ID′
i-1 ,X′i-1 ,m′i-1 ,y′i-1 )を受信すると、 第2乱数ri を生成し、gと、pとを用いてri 回群演
算してXi を求め、 (c)Xi =(X′i-1 ,Xi ),m′i =
(m′i-1 ,mi )とそれぞれ統合し、一方向性関数f
i ,hi を、それぞれX′i ,m′i について演算し
て、 ei =fi (X′i ,m′i ) di =hi (X′i ,m′i ) を求め、 (d)これらei ,di ,上記ri ,si ,q,y′
i-1 を用いて、 yi =y′i-1 +di ri +ei si mod q を求めて、そのyi をy′i とし、かつID′i =(I
D′i-1 ,IDi )として、通信文(ID′i ,
X′i ,m′i ,y′i )を次の署名者i+1装置へ送
信し、 検証者装置は署名者L装置から通信文(ID′L ,X′
L ,m′L ,y′L )を受信すると、 (e)X′L の先頭のi個の成分からX′i を構成し、
m′L の先頭のi個の成分からm′i を構成し、これら
X′i とm′i とについて一方向性関数fi ,hi をそ
れぞれ演算して ei =fi (X′i ,m′ i ) di =hi (X′i ,m′i ) を求めることを各i(1<i<L)について行い、 (f)受信したID′L 中のIDi 成分から対応公開情
報Ii を、受信したX′L 中からXi をそれぞれ求め、
これらと、上記求めたei ,di ,更に公開情報pとを
用いて、複数成分群演算により、1からLまでの各iに
ついて、Xi をdi 回群演算した値と、Ii をei 回群
演算した値とを順に演算してZ′を求め、 (g)一方、受信したy′L と公開情報p,qを用い
て、gをy′L 回演算してWを求め、 Z′とWを比較し、一致すれば文書mi は署名者i装置
により予め決めた順にそれぞれ署名されたものと認める
複数のデジタル署名一括検証方法。2. An electronic document m i (i = 1, 2, 2)
.., L; L is an integer of 2 or more) and the signer i device sequentially superimposes the electronic signatures. P, which specifies the number of elements of the group, p of the group which is the starting point of the operation in the group operation When the element g and the element g are group-operated q times, a positive integer q returning to g is disclosed as system public information, and each signer i device (i = 1, 2,..., L) is represented by (a) generating a first random number s i, the g, seek I i by computing s i times groups using the p, information I i, personal identification information ID i of the signer i device, the one-way function f i, One-way function h i
And hold the first random number s i as secret information. (B) The document m ′ i−1 =
(M 1 ,..., M i-1 ) signed message (ID ′)
i-1, X 'i- 1, m' i-1, y 'i-1) receives the generates a second random number r i, and g, and calculates r i times groups using the p seeking X i, (c) X i = (X 'i-1, X i), m' i =
(M ′ i−1 , m i ), and the one-way function f
i and h i are calculated for X ′ i and m ′ i , respectively, to obtain e i = f i (X ′ i , m ′ i ) d i = h i (X ′ i , m ′ i ), (D) These e i , d i , and the above r i , s i , q, y ′
using i-1, 'seeking i-1 + d i r i + e i s i mod q, the y i y' y i = y and i, and ID 'i = (I
D ′ i−1 , ID i ) as a message (ID ′ i ,
X ′ i , m ′ i , y ′ i ) to the next signer i + 1 device, and the verifier device transmits a message (ID ′ L , X ′) from the signer L device.
L, m 'L, y' receives the L), constitutes a i 'X from the beginning of the i-number of components of the L' (e) X,
m ′ i is constructed from the first i components of m ′ L , and the one-way functions f i and h i are respectively operated on these X ′ i and m ′ i to obtain e i = f i (X ′ i , m ′ i ) d i = h i (X ′ i , m ′ i ) is obtained for each i (1 < i < L). (f) From the ID i component in the received ID ′ L The corresponding public information I i is obtained from the received X ′ L to obtain X i ,
Using with these, the obtained e i, d i, further the public information p, the plurality of components group arithmetic, for each i from 1 to L, a value obtained by the X i is calculated d i times group, I i Is calculated in order by e i times to obtain Z ′. (G) On the other hand, using the received y ′ L and public information p and q, g is calculated y ′ L times and W is calculated. A plurality of digital signature collective verification methods for recognizing that the document mi is signed in a predetermined order by the signer i device if Z 'and W are matched.
…,L;Lは2以上の整数)を、署名者i装置がそれぞ
れ個別に電子的署名し、これらL個の署名を一括して検
証する方法において、 群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素g、および要素gをq回演算すると、gにも
どるような正の整数qをシステム公開情報として公開
し、 各署名者i装置は (a)第1 乱数si を生成し、gを、pを用いてsi 回
群演算してIi を求め、情報Ii 、署名者i装置の個人
識別情報IDi 、一方向性関数fi 、一方向性関数hi
を公開し、第1乱数s i を秘密情報として保持し、(b)第2 乱数ri を生成し、gを、pを用いてri 回
群演算してX i を求め、(c)一方向性 関数fi 、hi を、それぞれXi ,mi
について演算して、 ei =fi (Xi ,mi ) di =hi (Xi ,mi ) を求め、 (d) これらei ,di 、上記ri ,si ,qを用い
て、 yi =di ri +ei si mod q を演算して、通信文(IDi ,Xi ,mi ,yi )を検
証者装置へ送信し、 検証者装置は (e) 署名者1装置乃至署名者L装置から通信文(ID
i ,Xi ,mi ,yi)を受信すると、 Xi と文書mi とについて一方向性関数fi 、hi をそ
れぞれ演算して ei =fi (X i ,mi ) di =hi (X i ,mi ) を求めることを各i(1<i<L)について行い、(f) 受信したIDi からIi を求め、上記Ii と
Xi 、上記求めたei ,di 、更に公開情報pとを用い
て、複数成分群演算により、1からLまでの各iについ
て、Xi をdi 回演算した値と、Ii をei 回演算した
値とを順に演算してZ′を求め、(g) 一方、受信したL個のyi と公開情報qを用い
て、 y′L =ΣL i=1 yi mod q を求め、 このy′L と公開情報p,qを用いて、gをy′L 回演
算してWを求め、 ZとWを比較し、一致すればL個の文書mi はL個の署
名者i装置の対応するものによりそれぞれ署名されたも
のと認める複数のデジタル署名一括検証方法。3. An electronic document m i (i = 1, 2, 2, 3)
, L; L is an integer of 2 or more), each of which is individually electronically signed by the signer i device, and these L signatures are collectively verified. In this method, p, which specifies the number of elements in the group, If an element g of the group as a starting point of the operation in group operation, and the element g for calculating q times, publish a positive integer q as return to g as a system public information, each signer i device the 1 (a) Generate a random number s i , and calculate g by s i times using p
Seeking I i and group operation, information I i, personal identification information ID i of the signer i device, the unidirectional function f i, unidirectional function h i
Publish, a first random number s i is held as confidential information, (b) generating a second random number r i, the g, seek X i by computing r i times groups using the p, (c) unidirectional function f i, the h i, respectively X i, m i
Is calculated to obtain e i = f i (X i , m i ) d i = h i (X i , m i ) . (D) These e i , d i , and the above r i , s i , q using, by calculating y i = d i r i + e i s i mod q, sends communication text (ID i, X i, m i, y i) to the verifier device, the verifier device ( e) Message (ID ) from signer 1 device to signer L device
i, X i, m i, upon receiving the y i), X i and the document m i and the one-way function f i, and calculates the h i, respectively e i = f i (X i , m i) d i = h i ( X i , m i ) is obtained for each i (1 < i < L). (f) I i is obtained from the received ID i , and the above I i and X i are obtained. Using i e, d i , and the public information p, for each i from 1 to L, a value obtained by calculating X i di times and a value obtained by calculating I i e i times for each i from 1 to L preparative 'seek, (g) on the other hand, using the L y i public information q received, y' Z calculates sequentially obtains the L = Σ L i = 1 y i mod q, the y ' L and public information p, with q, determine the W and g by computing y 'L times, it compares the Z and W, if they match the L document m i corresponding the L signer i device Are signed by A plurality of digital signature batch verification method to recognize those.
予め1=pmodq なる関係の素数である上記pとqを生成
し、(Z/pZ)* の原始元αを生成するステップがあり、 上記gを次式 g=G1(q)=α(p-1)/qmodpを演算して求め、 上記ステップ(a) における上記I i は次式 【数1】 により演算され、 上記ステップ(b)における上記X i を求める演算は次
式 【数2】 により行われ、 上 記ステップ(f)における上記Z′を求める演算は次
式 【数3】 により行われ、 上記ステップ(g)における上記Wを求める演算は次式 【数4】 により行われる。 4. The method according to claim 1, wherein
Generating the p and q are prime numbers of pre-1 = pmodq the relationship, (Z / pZ) * There is the step of generating a primitive element alpha of, the following equation the g g = G 1 (q) = α ( determined by calculating the p-1) / q modp, the I i is [1 number] following equation in step (a) It is calculated by, the calculation for obtaining the X i in step (b) [2 Number] following formula Done, following equation 3] operation of obtaining the Z 'in the above Symbol step (f) by The calculation for obtaining the W in the step (g) is performed by the following equation: It is performed by
…,L;Lは2以上の整数)を、署名者i装置がそれぞ
れ個別に電子的署名し、これらL個の署名を一括して検
証する方法において、 定義体GF(q)のパラメータq、楕円曲線のパラメー
タa、b∈GF(q)と、楕円曲線上の位数がkである
曲線上のベース点P∈Ea,b (GF(q))をシステム
公開情報として公開し、 各署名者i装置(i=1,2,…,L)は、 乱数si を生成し、公開情報q,a,b,Pを用いて Ii =si PoverEa,b (GF(q)) を計算し、情報Ii 、署名者i装置の個人識別情報ID
i 、一方向性関数fi 、一方向性関数hi を公開し、s
i を秘密情報として保持し、 各署名者i装置は乱数ri を生成し、公開情報q,a,
b,Pを用いて Xi =ri PoverEa,b (GF(q)) を計算し、一方向性関数fi ,hi を、それぞれXi ,
m i について演算して、 ei =fi (Xi ,m i ) di =hi (Xi ,m i ) を求め、これらei ,di 、上記ri ,si ,公開情報
kを用いて、 yi =di ri +ei si mod k を演算して、通信文(IDi ,Xi ,mi,yi )を検
証者装置へ送信し、 検証者装置は署名者i装置乃至署名者L装置から通信文
(IDi ,Xi ,mi,yi )を受信すると、 そのXi と文書miとについて一方向性関数fi ,hi
をそれぞれ演算して ei =fi (Xi ,mi) di =hi (Xi ,mi) を求めることを各i(1<i<L)について行い、 受信したIDi から対応公開情報Ii を求め、このIi
と受信したXi 、上記求めたei ,di 、更に公開情報
q,a,b,Pとを用いて、1からLまでの各iについ
て、 Z′=d1 X1 +…+dL XL +e1 I1 +…+eL I
L overEa,b (GF(q)) を演算してZ′を求め、 一方、L個の受信したyiと公開情報q,a,b,Pを
用いて、 Y=Σi=1 L yi mod k W=Y PoverEa,b (GF(q)) を演算してWを求め、 Z′とWを比較し、一致すればL個の文書miはそれぞ
れ署名者i装置により署名されたものと認める複数のデ
ジタル署名一括検証方法。5. An electronic document m i (i = 1, 2, 2)
, L; L is an integer of 2 or more) by the signer i device individually and individually, and the L signatures are collectively verified. In this method, the parameters q, The parameters a and b パ ラ メ ー タ GF (q) of the elliptic curve and the base point P∈E a, b (GF (q)) on the curve whose order on the elliptic curve is k are disclosed as system public information. The signer i device (i = 1, 2,..., L) generates a random number s i and uses public information q, a, b, P to obtain I i = s i PoverE a, b (GF (q) ) Is calculated, and the information I i and the personal identification information ID of the signer i device are calculated.
i , one-way function f i , one-way function h i
i as secret information, each signer i device generates a random number r i ,
X i = r i PoverE a, b (GF (q)) is calculated using b and P, and the one-way functions f i and h i are calculated as X i , h i , respectively.
and calculates the m i, e i = f i (X i, m i) d i = h i (X i, m i) seeking, these e i, d i, the r i, s i, public information Using k, y i = d i r i + e i s i mod k is calculated, and the message (ID i , X i , m i , y i ) is transmitted to the verifier device. signer i device to communication text from the signer L device (ID i, X i, m i, y i) When receiving a one-way function for its X i and the document m i f i, h i
Is calculated for each i (1 < i < L) to obtain e i = f i (X i , m i ) d i = h i (X i , m i ), and from the received ID i The corresponding public information I i is obtained, and this I i
X i, the obtained e i and received, d i, with further public information q, a, b, and P, for each i from 1 to L, Z '= d 1 X 1 + ... + d L X L + e 1 I 1 + ... + e L I
L overE a, b (GF (q)) is calculated to obtain Z ′. On the other hand, using L received y i and public information q, a, b, P, Y = Σ i = 1 L y i mod k W = Y PoverE a, obtains the W by calculating the b (GF (q)), Z ' is compared with W, if they match the L document m i of the plurality deemed ones signed by the signer i device respectively Digital signature batch verification method.
名者i装置(i=1,2,…)が順次重複して電子的署
名を行う署名者装置において、 群の要素の個数を指定するpと、群演算で演算の起点と
なる群の要素gと、要素gをq回演算するとgにもどる
ような正の整数qとのシステム公開情報および署名者i
装置の識別情報IDi 、秘密情報si を記憶する記憶手
段と、 署名者(i−1)装置から文書mに対する署名つき通信
文(ID′ i-1 ,X′i-1 ,m,y′i-1 )を受信する
手段と、 乱数ri を生成する乱数生成手段と、 上記ri と上記gとpが入力され、gをri 回演算して
Xi を求める群演算計算手段と、 Xi =(X′i-1 ,Xi )と統合する手段と、 上記X′i,mが入力され、一方向性関数fi を演算し
て、 ei =fi (X′i ,m) を求めるfi 計算手段と、 上記X′i ,mが入力され、一方向性関数hi を演算し
て、 di =hi (X′i ,m) を求めるhi 計算手段と、 上記ei ,di 、上記ri ,si ,q,y′i-1 が入力
され、 yi =y′i-1 +di ri +ei si mod q を求める指数成分乗算・加算手段と、ID′ i =(ID′ i-1 ,IDi )とする手段と、 上記yi をy′i として、通信文(ID′ i ,X′i ,
m,y′i )を次の署名者i+1装置へ送信する手段と
を具備する署名者装置。6. A signer device in which a plurality of signer i devices (i = 1, 2,...) Sequentially and electronically sign one digitized document m in an electronically signed manner, , A group element g serving as a starting point of the operation in the group operation, and a positive integer q that returns to g when the element g is operated q times and the signer i
Identification information ID i of the device, storage means for storing secret information s i, signer (i-1) signed communication text to the document m from the device (ID 'i-1, X ' i-1, m, y 'and i-1) means for receiving a random number generating means for generating a random number r i, the r i and the g and p are input, group operation calculation means to g by computing r i times Request X i When, 'means for integrating the (i-1, X i, the X X i = X)' i , m is input, calculates a one-way function f i, e i = f i (X ' i, and f i calculating means for obtaining m), the X 'i, m is input, calculates a unidirectional function h i, d i = h i (X' i, m) h i calculation for obtaining the An exponent component for inputting e i , d i and r i , s i , q, y ′ i−1 , and obtaining y i = y ′ i−1 + d i r i + e i s i mod q and the multiply-add means, ID 'i = (I 'And i-1, ID i) to means, the y i y' as i, the communication sentence (ID 'i, X' i,
m, y ′ i ) to the next signer i + 1 device.
2,…,L;Lは2以上の整数)を、複数の署名者i装
置が順次重畳して電子的署名を行う署名者装置におい
て、 群の要素の個数を指定するpと、群演算で演算の起点と
なる群の要素gと、要素gをq回演算するとgにもどる
ような正の整数qとのシステム公開情報および署名者i
装置の識別情報IDi 、秘密情報si を記憶する記憶手
段と、 署名者(i−1)装置から文書m′i-1 =(m1 ,…,
mi-1 )に対する署名つき通信文(ID′ i-1 ,X′
i-1 ,m′i ,y′i-1 )を受信する手段と、 乱数ri を生成する乱数生成手段と、 上記ri と上記gとpが入力され、gをri 回群演算し
てXi を求める群演算計算手段と、 Xi =(X′i-1 ,Xi )と統合する手段と、 mi =(m′i-1 ,mi )と統合する手段と、 上記X′i ,m′i が入力され、一方向性関数fi を演
算して、 ei =fi (X′i ,m′i ) を求めるfi 計算手段と、 上記X′i ,m′i が入力され、一方向性関数hi を演
算して、 di =hi (X′i ,m′i ) を求めるhi 計算手段と、 上記ei ,di 、上記ri ,si ,q,y′i-1 が入力
され、 yi =y′i-1 +di ri +ei si mod q を求める指数成分乗算・加算手段と、ID′ i =(ID′ i-1 ,IDi )とする手段と、 上記ID′ i ,X′i ,m′i ,yi が入力され、上記
yi をy′i として、通信文(ID′ i ,X′i ,m′
i ,y′i )を次の署名者i+1装置へ送信する手段と
を具備する署名者装置。7. An electronic document m i (i = 1, 2)
2,..., L; L is an integer of 2 or more) in a signer device in which a plurality of signer i devices sequentially superimpose and sign an electronic signature. The system public information of the element g of the group that is the starting point of the operation and a positive integer q that returns to g when the element g is operated q times and the signer i
Storage means for storing the identification information ID i of the device and the secret information s i , and a document m ′ i-1 = (m 1 ,...,
m i-1 ) ( ID ′ i−1 , X ′)
a i-1, m 'i, y' means for receiving the i-1), a random number generating means for generating a random number r i, the r i and the g and p are inputted, r i times group calculates g A group operation calculating means for calculating X i by means of: X i = (X ′ i−1 , X i ); a means for integrating mi = (m ′ i−1 , mi ); the X 'i, m' i is inputted, calculates the one-way function f i, e i = f i (X 'i, m' i) and f i calculating means for obtaining, said X 'i, m 'i is inputted, it calculates the unidirectional function h i, d i = h i (X' i, m 'i) and h i calculating means for obtaining said e i, d i, the r i , s i, q, y ' i-1 is input, y i = y' and i-1 + d i r i + e i s i index component multiply-add means for determining a mod q, ID 'i = ( ID' i−1 , ID i ), and the ID ′ i , X ′ i , m ′ i , y i is input, the y i 'as i, the communication sentence (ID' y i, X ' i, m'
i , y ′ i ) to the next signer i + 1 device.
…)を、署名者i装置がそれぞれ個別に電子的署名し、
これらを検証者装置が一括して検証する方法に用いられ
る署名者装置であって、 群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素g、および要素gをq回演算すると、gにも
どるような正の整数qのシステム公開情報と、署名者i
装置の識別情報IDi 、秘密情報si を記憶する記憶手
段と、 乱数ri を生成する乱数生成手段と、 上記ri 、上記g、pが入力され、gをri 回演算して
Xi を求める群演算手段と、 上記Xi ,mi が入力され、一方向性関数fi を演算し
て ei =fi (X i ,mi ) を求めるfi 関数演算手段と、 上記Xi ,mi が入力され、一方向性関数hi を演算し
て di =hi (X i ,mi ) を求めるhi 関数演算手段と、 これらei ,di 、上記ri ,si ,qが入力され、 yi =di ri +ei si mod q を求める指数成分乗算・加算手段と、 上記IDi ,Xi ,mi ,yi が入力され、通信文(I
Di ,Xi ,mi ,yi )を検証者装置へ送信する手段
とを具備する署名者装置。8. An electronic document m i (i = 1, 2, 2, 3)
…) Is individually and electronically signed by each of the signer i devices,
A signer device used for a method in which the verifier device collectively verifies these, where p designates the number of group elements, group element g which is the starting point of the operation in group operation, and element g is q Times, the system public information of a positive integer q that returns to g and the signer i
Identification information ID i of the device, storage means for storing secret information s i, a random number generating means for generating a random number r i, the r i, the g, p is input, the g calculates r i times X a group operation means for obtaining a i, the X i, m i is input, and f i function operation means for obtaining a by calculating the one-way function f i e i = f i ( X i, m i), the X i, m i is input, d i = h i (X i, m i) by calculating the one-way function h i and h i function operation means for obtaining, these e i, d i, the r i , s i, q are input, and y i = d i r i + e i s i seek mod q exponential component multiply-add unit, the ID i, X i, m i , is y i is input, communication text (I
(D i , X i , m i , y i ) to the verifier device.
いて、上記pとqは1=pmodq なる関係の素数であり、
(Z/pZ)*の原始元をαとすると、上記gは次式g=α (p-1)/q modp の演算により求められ、 上記s i ,g,pが入力され、 【数5】 を演算する群演算手段を備え、 上記X i を演算する群演算手段は次式 【数6】 を演算する手段である。 9. The signer apparatus according to claim 6 , wherein said p and q are prime numbers having a relation of 1 = pmodq,
Assuming that the primitive element of (Z / pZ) * is α, the above g is obtained by the calculation of the following equation g = α (p−1) / q modp , and the above s i , g, and p are inputted, and ] , And the group operation means for calculating the above X i is given by the following equation: Is a means for calculating
…,L;Lは2以上の整数)を、署名者i装置がそれぞ
れ電子的署名を行い、これらL個の署名を検証者装置が
一括して検証するシステムの署名者装置において、 定義体GF(q)のパラメータq、楕円曲線のパラメー
タa,b∈GF(q)、楕円曲線上の位数がkである曲
線上のベース点P∈Ea,b (GF(q)) とのシステム
公開情報および署名者i装置の識別情報IDi 、秘密情
報si を記憶する記憶手段と、 上記si ,Pが入力され、上記楕円曲線上でPをsi 倍
としてIiを求めてIiを公開するsi 倍点計算手段と、 乱数ri を生成する乱数生成手段と、 上記q,a,b,Pとri が入力され、上記楕円曲線上
でPをri 倍としてXi を求めるri 倍点計算手段と、 上記Xi 、上記m i が入力され、公開一方向性関数fi
を演算して、 ei =fi (Xi ,m i ) を求めるfi 計算手段と、 上記Xi 、上記m i が入力され、公開一方向性関数hi
を演算して、 di =hi (Xi ,m i ) を求めるhi 計算手段と、 上記ei ,di 、上記ri ,si ,kが入力され、 yi =di ri +ei si mod k を求める剰余つき乗算・加算手段と、 上記IDi,X i,mi,yiが入力され、通信文
(Ii ,Xi ,mi,yi )を次の検証者装置へ送信す
る手段とを具備する署名者装置。10. An electronic document mi(I = 1, 2,
.., L; L is an integer of 2 or more).
Electronic signature, and the verifier device verifies these L signatures.
In the signer device of the system for verifying all the parameters, the parameter q of the definition field GF (q) and the parameter of the elliptic curve
A, b∈GF (q), a song whose order on the elliptic curve is k
Base point P∈E on linea, bSystem with (GF (q))
Public information and identification information ID of the signer i-devicei, Secret
NewsiStorage means for storingi, P is input, and P is expressed as s on the elliptic curve.iDouble
As IiIn search of IiPublishiMeans for calculating multiple points, Random number riRandom number generating means for generating the q, a, b, P and riIs entered and the above elliptic curve
With PiX as timesiFind riMultiple point calculating means;i, Above m i Is input and the public one-way function fi
And ei= Fi(Xi, M i FiCalculating means;i, Above m i Is input and the public one-way function hi
Is calculated as di= Hi(Xi, M i H)iCalculating means;i, Di, R abovei, Si, K is input, and yi= Diri+ Eisimultiplication / addition means with remainder for obtaining mod k;i, Xi, Mi, YiIs entered and the message
(Ii, Xi, Mi, Yi) To the next verifier device
Signer device comprising:
(Lは2以上の整数)の署名者装置で順次署名されたも
のを検証する多重署名の検証者装置であって、情報I
D′ L はID′ i =(ID′ i-1 ,IDi )(i=1,
2,…,L;Lは2以上の整数)より構成され、情報
X′L はX′i =(X′i-1 ,Xi )により構成され、
群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素gの公開情報が記憶された記憶手段と、 署名者装置Lから通信文(ID′ L ,X′L ,m,y′
L )を受信する手段と、 X′L の先頭のi個の成分からX′i を構成する手段
と、 文書mと上記X′i が入力され、公開一方向性関数fi
を計算して ei =fi (X′i ,m) を各iについて求める関数fi 計算手段と、 上記X′i とmが入力され、公開一方向性関数hi を計
算して di =hi (X′i ,m) を各iについて求める関数hi 計算手段と、 上記ID′ L 中のIDi 成分から対応公開情報Ii を求
める手段と、 上記X′L 中のXi を求める手段と、 上記Ii ,Xi 、上記で作成したei ,di 、公開情報
pが入力され、複数成分1からLまでのiについてXi
をdi 回演算した値と、Ii をei 回演算した値とを順
に演算してZ′を求める複数成分群演算計算手段と、 上記y′L と公開情報p,gが入力されて、gをy′L
回演算してWを求める群演算計算手段と、 上記Z′とWが入力され、 W=Z′ を検査して、一致すれば、文書mはL個の正しい署名者
装置によって署名されたものであることを出力する比較
手段とを具備する検証者装置。11. A digitized one document m, an L number (L is an integer of 2 or more) verifier apparatus of a multiple signature verifying those sequentially signed with the signer apparatus, information I
D ′ L is ID ′ i = ( ID ′ i−1 , ID i ) (i = 1,
2,..., L; L is an integer of 2 or more), and the information X ′ L is formed by X ′ i = (X ′ i−1 , X i ),
And p, storage means for public information element g of the group as a starting point of the operation in group operation is stored that specifies the number of groups of elements, the signer apparatus L communication text from (ID 'L, X' L , m , Y '
Means for receiving a L), the means constituting the i 'X from the beginning of the i-number of components of the L' X, the document m and the X 'i is inputted, the public one-way function f i
The calculated e i = f i (X ' i, m) and function f i calculating means for calculating a respective i, the X' i and m are inputted, d calculates a public one-way function h i i = h i (X 'i , m) and function h i calculation means for obtaining for each i, the ID' means for determining corresponding public information I i from ID i components in L, X in the X 'L means for determining i , the above I i , X i , the above created e i , d i , and the public information p are input, and X i
Is calculated d i times and I i is calculated e i times in order to obtain a multi-component group calculation means for obtaining Z ′. The above y ′ L and public information p and g are input. , G to y ′ L
A group operation calculating means for obtaining W by performing the above operations; Z 'and W are input; and W = Z' is checked. If they match, the document m is signed by L correct signer devices. And a comparing unit that outputs the following.
…,L;Lは2以上の整数)を、署名者i装置で順次重
畳署名されたものを検証する重畳署名の検証者装置であ
って、 情報ID′ L はID′ i =(ID′ i-1 ,IDi )(i
=1,2,…,L;Lは2以上の整数)より構成され、
情報X′L はX′i =(X′i-1 ,Xi )により構成さ
れ、m′L はm′i =(m′i-1 ,mi )により構成さ
れ、 群の要素の個数を指定するp、群演算で演算の起点とな
る群の要素gの公開情報が記憶された記憶手段と、 署名者装置Lから通信文(ID′ L ,X′L ,m′L ,
y′L )を受信する手段と、 X′L の先頭のi個の成分からX′i を構成する手段
と、 m′L の先頭のi個の成分からm′i を構成する手段
と、 上記m′i と上記X′i が入力され、公開一方向性関数
fi を計算して ei =fi (X′i ,m´i ) を各iについて求める関数fi 計算手段と、 上記X′i とm′i が入力され、公開一方向性関数hi
を計算して di =hi (X′i ,m´i ) を各iについて求める関数hi 計算手段と、 上記ID′ L 中のIDi 成分から対応公開情報Ii を求
める手段と、 上記X′L 中のXi を求める手段と、 上記Xi ,Ii ,上記で作成したei ,di 、公開情報
pが入力され、複数成分1からLまでのiについてXi
をdi 回群演算した値と、Ii をei 回群演算した値と
を順に演算してZ′を求める複数成分群演算計算手段
と、 上記y′L と公開情報p,gが入力されて、gをy′L
回演算してWを求める群演算計算手段と、 上記Z′とWが入力され、 W=Z′ を検査して、一致すれば、文書m1 ,…,mL はL個の
正しい署名者装置によって署名されたものであることを
出力する比較手段とを具備する検証者装置。12. An electronic document mi (i = 1, 2, 2)
.., L; L is an integer of 2 or more), which is a verifier apparatus of a superimposed signature that verifies a superimposed signature that has been sequentially superimposed by the signer i apparatus, where information ID ′ L is ID ′ i = ( ID ′ i) -1 , ID i ) (i
= 1, 2,..., L; L is an integer of 2 or more)
'Is L X' information X 'is composed of (i-1, X i, m i = X)' L is constituted by m 'i = (m' i -1, m i), the number of groups of elements and p, storage means for public information element g of the group as a starting point of the operation in group operation is stored that specifies the communication sentence from the signer apparatus L (ID 'L, X' L, m 'L,
'means for receiving L), X' y 'means constituting the i, m' X from the beginning of the i-number of components of the L and means for configuring the m 'i from the head of the i-number of components of the L, the m 'i and the X' i is input, and the function f i calculating means for calculating e i = f i (X ' i, m'i) to calculate a public one-way function f i a for each i, the X 'i and m' i is inputted, published unidirectional function h i
The calculated d i = h i (X ' i, m'i) and function h i calculation means for obtaining for each i, the ID' means for determining corresponding public information I i from ID i components in L, means for determining the X i in the X 'L, the X i, I i, e i created above, d i, public information p is input, for i from multiple components 1 to L X i
A value obtained by calculating d i times group of 'a plurality of components group arithmetic calculation means for obtaining, the y' by calculating a value obtained by calculating the I i e i times group sequentially Z L and public information p, g is input It is, the g y 'L
A group operation calculation means for obtaining a W then rotate operations, the Z 'and W are inputted, W = Z' examines the, if they match, the document m 1, ..., m L is the L good signer A verifier device comprising: a comparing unit that outputs that the device is signed by the device.
で演算の起点となる群の要素g、要素gをq回演算する
とgに戻るような正の整数qの公開情報が記憶された記
憶手段と、 署名者i装置(i=1,2,…,L:Lは2以上の整
数)から通信文(IDi,Xi ,mi ,yi )を受信す
る手段と、 上記受信したXi と上記受信したmi とが入力され、一
方向性関数f i を演算して ei =fi (Xi ,mi ) を求める関数fi 計算手段と、 上記受信したXi ,mi が入力され、一方向性関数h i
を演算して di =hi (Xi ,mi ) を求める関数hi 計算手段と、 上記受信した個人識別情報IDi からその公開情報Ii
を求める手段と、 上記Ii とXi 、上記で作成したei ,di 、公開情報
pが入力され、1からLまでのiについてXi をdi 回
演算した値と、Ii をei 回演算した値とを順に演算す
ることでZ′を求める複数成分群演算計算手段と、 L個の受信したyi を公開情報qとが入力され、 y′L =ΣL i=1 yi mod q を計算してy′L を求める指数成分計算手段と、 上記y′L と公開情報p,gとが入力され、gをy′L
回演算してWを求める群演算計算手段と、 上記Z′とWが入力され、 W=Z′ を検査して、一致すれば、L個の文書mi はL個の正し
い署名者i装置によってそれぞれ署名されたものである
ことを出力する比較手段と、 を具備する検証者装置。13. The public information of p which designates the number of elements of the group, the element g of the group which is the starting point of the operation in the group operation, and the positive integer q which returns to g when the element g is operated q times are stored. storage means has signer i device (i = 1,2, ..., L : L is an integer of 2 or more) means for receiving communication text (ID i, X i, m i, y i) from the above and m i was received X i and the reception is input, single
A function f i calculating means for calculating a directional function f i to obtain e i = f i (X i , m i ); and the received X i , m i as input, and a one-way function h i
The by calculating d i = h i (X i , m i) and the function h i calculating means for obtaining, the public information I i individual identification information ID i thus received
And a value obtained by inputting I i and X i , e i and d i created above, and public information p, calculating X i di times for i from 1 to L, and I i Z by calculating the value computed e i times in order 'and the plurality of components group arithmetic calculation means for obtaining, and the L number of the received y i public information q is input, y' L = Σ L i = 1 'exponent component calculating means for calculating L, and the above-mentioned y' y by calculating y i mod q L and public information p, and the g is input, the g y 'L
A group operation calculation means for obtaining a W then rotate operations, the Z 'and W are inputted, W = Z' examines the, if they match, the L document m i is the L good signer i device And a comparing means for outputting that the signature is signed by the verifier.
置において、上記pとqは1=pmodq なる関係の素数で
あり、(Z/pZ)*の原始元をαとし、gは次式 g=α (p-1)/q modp の演算に 与えられており、 上記複数成分群演算手段は次式 【数7】 を演算する手段であり、 上記群演算手段は次式 【数8】 を演算する手段である。In any of the verifier apparatus 14. The method of claim 11 to 13, the p and q are prime numbers 1 = pmodq the relationship, and α a (Z / pZ) * primitive elements, g is Is given to the calculation of the following equation g = α (p−1) / q modp. The above group operation means is calculated by the following equation: Is a means for calculating
円曲線のパラメータa,b∈GF(q)、楕円曲線上の
位数がkである曲線上のベース点P∈Ea,b(GF
(q)) とのシステム公開情報が記憶された記憶手段
と、 署名者i装置(i=1,2,…,L;Lは2以上の整
数)から通信文(IDi,Xi ,mi,yi )を受信する
手段と、 上記文書miと上記Xi が入力され、公開一方向性関数
fi を計算して ei =fi (Xi ,m i ) を各iについて求める関数fi 計算手段と、 上記Xi とmiが入力され、公開一方向性関数hi を計
算して di =hi (Xi ,m i ) を各iについて求める関数hi 計算手段と、 上記IDi から対応公開情報Ii を求める手段と、 上記で作成したei ,di 、公開情報q,a,b,Pが
入力され、複数成分1からLまでのiについて、 上記楕円曲線上の乗算di Xi とei Ii を順に演算し
て加算して、 Z′=d1 X1 +…+dL XL +e1 I1 +…+eL I
L overEa,b (GF(q)) を求めるn倍点計算手段と、 上記yiと公開情報q,a,b,Pが入力されて、Y=
Σi=1 L yi mod kを演算し、上記楕円曲線上でPをY
倍演算して、 W=Y PoverEa,b (GF(q)) を求めるn倍点計算手段と、 上記Z′とWが入力され、 W=Z′ となるかを検査して、一致すれば、上記L個の文書mi
に対し、署名者i装置がそれぞれ署名したことを出力す
る比較手段とを具備する検証者装置。15. The parameter q of the definition field GF (q), the parameters a and b∈GF (q) of the elliptic curve, and the base point P∈E a, b (curve whose order on the elliptic curve is k) GF
(Q)) from the storage means, and a message (ID i , X i , m) from the signer i device (i = 1, 2,..., L; L is an integer of 2 or more). i , y i ), the document mi and the X i are input, a public one-way function f i is calculated, and e i = f i (X i , m i ) is calculated for each i. and functions f i calculating means which calculates, the X i and m i is input, d i = h i (X i, m i) by calculating the public one-way function h i function h i calculate the determining for each i means, means for determining the corresponding public information I i from the ID i, created above e i, d i, public information q, a, b, P is input, for i from multiple components 1 to L, and adding to compute the multiplication d i X i and e i I i on the elliptic curve in the order, Z '= d 1 X 1 + ... + d L X L + e 1 I 1 + ... + e L I
N over-point calculating means for obtaining L overE a, b (GF (q)), and inputting the above y i and public information q, a, b, P, Y =
Σ Calculate i = 1 L y i mod k and set P on the elliptic curve to Y
W = Y PoverE a, b An n-fold point calculating means for calculating (GF (q)), Z 'and W are inputted, it is checked whether W = Z', and if they match, the L documents m i
And a comparing means for outputting that each signer i device has signed.
者装置としてコンピュータを機能させるためのプログラ
ムを記録したコンピュータ読み取り可能な記録媒体。16. A computer-readable recording medium in which a program for causing a computer to function as the signer apparatus according to claim 5 is recorded.
証者装置としてコンピュータを機能させるためのプログ
ラムを記録したコンピュータ読み取り可能な記録媒体。17. A computer-readable recording medium in which a program for causing a computer to function as the verifier device according to claim 11 is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18718298A JP3331321B2 (en) | 1997-07-04 | 1998-07-02 | Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17987297 | 1997-07-04 | ||
JP17987397 | 1997-07-04 | ||
JP18272497 | 1997-07-08 | ||
JP9-179873 | 1998-05-22 | ||
JP9-179872 | 1998-05-22 | ||
JP10-141342 | 1998-05-22 | ||
JP14134298 | 1998-05-22 | ||
JP9-182724 | 1998-05-22 | ||
JP18718298A JP3331321B2 (en) | 1997-07-04 | 1998-07-02 | Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000047582A JP2000047582A (en) | 2000-02-18 |
JP3331321B2 true JP3331321B2 (en) | 2002-10-07 |
Family
ID=27527621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18718298A Expired - Lifetime JP3331321B2 (en) | 1997-07-04 | 1998-07-02 | Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3331321B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2828780B1 (en) * | 2001-08-20 | 2004-01-16 | France Telecom | METHOD FOR PRODUCING A CRYPTOGRAPHIC UNIT FOR AN ASYMMETRIC CRYPTOGRAPHY SYSTEM USING A DISCREET LOGARITHM FUNCTION |
US7664957B2 (en) * | 2004-05-20 | 2010-02-16 | Ntt Docomo, Inc. | Digital signatures including identity-based aggregate signatures |
WO2008075420A1 (en) * | 2006-12-20 | 2008-06-26 | Fujitsu Limited | Electronic signature program, electronic signature device, and electronic signature method |
US7890763B1 (en) * | 2007-09-14 | 2011-02-15 | The United States Of America As Represented By The Director, National Security Agency | Method of identifying invalid digital signatures involving batch verification |
-
1998
- 1998-07-02 JP JP18718298A patent/JP3331321B2/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
「n変数べき乗剰余演算とその応用」に関する考察,電子情報通信学会技術研究報告,1992年3月18日,Vol.91,No.524,p.27−32 |
多重署名の厳密な安全性,電子情報通信学会技術研究報告,1997年7月19日,Vol.97,No.182,p.41−52 |
Also Published As
Publication number | Publication date |
---|---|
JP2000047582A (en) | 2000-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Camenisch et al. | Compact e-cash | |
CA1322600C (en) | Authentication system and apparatus therefor | |
Iversen | A cryptographic scheme for computerized general elections | |
EP0503119B1 (en) | Public key cryptographic system using elliptic curves over rings | |
EP2359523B1 (en) | Acceleration of key agreement protocols | |
JP2666191B2 (en) | Subscriber mutual identification in a data exchange system and method for generating and verifying signatures | |
US6212637B1 (en) | Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon | |
Pedersen et al. | Fail-stop signatures | |
Sander | Efficient accumulators without trapdoor extended abstract | |
US20030059041A1 (en) | Methods and apparatus for two-party generation of DSA signatures | |
van Heijst et al. | New constructions of fail-stop signatures and lower bounds | |
Laguillaumie et al. | Short undeniable signatures without random oracles: The missing link | |
Lim et al. | A study on the proposed Korean digital signature algorithm | |
Goel et al. | Undeniable signature scheme based over group ring | |
Huang et al. | Partially blind ECDSA scheme and its application to bitcoin | |
JP3331321B2 (en) | Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method | |
Gaud et al. | On the anonymity of fair offline e-cash systems | |
KR100971038B1 (en) | Cryptographic method for distributing load among several entities and devices therefor | |
JP3331328B2 (en) | Multiple digital signature method, system, apparatus and program recording medium | |
Hanaoui et al. | MULTI-AGENT identity combined key Signature authentication PROTOCOL based schnorr signature with provable security under AVISPA | |
Lim et al. | The Korean certificate-based digital signature algorithm | |
JP3292312B2 (en) | Digital signature method | |
Lin | PCMAE: A Proxy Convertible Multi-AE Scheme and Its Variant | |
Goel et al. | Provably secure zero knowledge undeniable signature scheme over non-abelian group | |
JPH0643809A (en) | Digital signature system based on elliptic curve and signer device and verifier device for this system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080719 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080719 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090719 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090719 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100719 Year of fee payment: 8 |