Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3147373B2 - Multiple signature verification method - Google Patents
[go: Go Back, main page]

JP3147373B2 - Multiple signature verification method - Google Patents

Multiple signature verification method

Info

Publication number
JP3147373B2
JP3147373B2 JP28236490A JP28236490A JP3147373B2 JP 3147373 B2 JP3147373 B2 JP 3147373B2 JP 28236490 A JP28236490 A JP 28236490A JP 28236490 A JP28236490 A JP 28236490A JP 3147373 B2 JP3147373 B2 JP 3147373B2
Authority
JP
Japan
Prior art keywords
message
verifier
random number
mod
signature
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 - Fee Related
Application number
JP28236490A
Other languages
Japanese (ja)
Other versions
JPH04156580A (en
Inventor
和夫 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP28236490A priority Critical patent/JP3147373B2/en
Publication of JPH04156580A publication Critical patent/JPH04156580A/en
Application granted granted Critical
Publication of JP3147373B2 publication Critical patent/JP3147373B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は署名の多重検証方法に係り、特に電子化され
た文書の稟議/決裁、電子投票システム等で電子的に署
名/捺印を付与するディジタル署名の署名の多重検証方
法に関する。
Description: BACKGROUND OF THE INVENTION The present invention relates to a method for multiple verification of signatures, and particularly to electronically signing / sealing electronic documents by means of approval / decision, electronic voting system, etc. The present invention relates to a method for multiple verification of a digital signature.

〔従来の技術〕[Conventional technology]

ディジタル署名方式の代表的な例としてチャウム(Ch
aum)の否認拒否署名方法(David Chaum,Hans van Antw
erpen,“Undeniable Signatures",Crypto89 Abstracts,
pp.205−212,(1989),David Chaum“Zero−Knowledge
Undeniable Signatures",EuroCrypto90 Abstracts,pp.4
19−426,(1990))がある。Chaumのディジタル署名方
法は署名の転用不可性と否認拒否性を備えた安全性の高
い方式である。ここでいう署名の転用不可性とはメッセ
ージmと署名sの対応関係(m,s)が署名しての証拠と
はならず、署名者が検証用のビット情報であるメッセー
ジmと署名者の計算によって求められた署名s対応関係
の正当性を検証者との通信によって証明した場合にの
み、署名sの正当性を確認できることである。
As a typical example of a digital signature scheme, Chaum (Ch
aum) rejection signature method (David Chaum, Hans van Antw
erpen, “Undeniable Signatures”, Crypto89 Abstracts,
pp.205-212, (1989), David Chaum “Zero-Knowledge
Undeniable Signatures ", EuroCrypto90 Abstracts, pp.4
19-426, (1990)). Chaum's digital signature method is a highly secure method that has the impossibility of diverting the signature and denial of denial. The improper use of the signature means that the correspondence (m, s) between the message m and the signature s does not prove that the signature is signed, and the signer uses the message m, which is the bit information for verification, and the signer. Only when the validity of the signature s correspondence obtained by calculation is proved by communication with the verifier, the validity of the signature s can be confirmed.

通常のディジタル署名では、検証者がメッセージmと
署名sの対応関係の正当性を、署名者と通信せずに確認
できるのでメッセージmと署名sの対応関係(m,s)の
みで署名の証拠として用いられることになる。
With a normal digital signature, the verifier can confirm the validity of the correspondence between the message m and the signature s without communicating with the signer, so that the signature is proved only by the correspondence (m, s) between the message m and the signature s. Will be used as

否認拒否性とは、検証者がメッセージmや署名sとの
対応関係(m,s)の正当性を求めている場合に、署名者
自身で署名sが誤っていることを確認、証明できる。署
名者がメッセージmに対する正しい署名sの正当性を否
認しようとしても成功しないことが必要である。
The non-repudiation property means that when the verifier seeks the validity of the correspondence (m, s) with the message m or the signature s, the signer himself can confirm and prove that the signature s is incorrect. It is necessary that the signer attempt to deny the validity of the correct signature s for the message m without success.

Chaumの否認拒否ディジタル署名方法は以下の通りで
ある。
Chaum's rejection digital signature method is as follows.

(I)鍵の登録 署名者Aは署名用鍵(x)と検査用鍵(g,p,α)(但
し、g,αは公開情報、pは素数)により検査用鍵の一部
αを α=gx(mod p) …(1) で計算し、検査用鍵を公開し、署名用鍵を秘密に管理す
る。式(1)において剰余計算a(mod p)は乱数a
を素数pで割ったときの余りを表す。従って式(1)は
gxを素数pで割った余りがαの値となる。
(I) Registration of Key The signer A obtains a part of the inspection key α using the signature key (x) and the inspection key (g, p, α) (where g and α are public information and p is a prime number). α = g x (mod p) (1) The inspection key is made public, and the signature key is secretly managed. In equation (1), the remainder calculation a (mod p) is a random number a
By the prime number p. Therefore, equation (1) becomes
The remainder obtained by dividing g x by the prime number p is the value of α.

Chaumの署名方法は除数pが大きいときαとgとpか
らα=gx(mod p)を満たす署名用鍵に対応するxを
算出することが困難であるという離散対数問題の困難性
により安全性の根拠を置く署名方法である。
Chaum's signature method is secure due to the difficulty of the discrete logarithm problem that it is difficult to calculate x corresponding to a signature key satisfying α = g x (mod p) from α, g, and p when the divisor p is large. This is a signature method based on gender.

署名sを検査する検証者の検査用鍵(g,p,α)は、セ
ンタの公開ファイルにて管理され、必要に応じて、検証
者Bはセンタに問い合わせてセンタ側から(g,p,α)を
払い出してもらう。
The verification key (g, p, α) of the verifier that verifies the signature s is managed in a public file of the center. If necessary, the verifier B inquires of the center and (g, p, α) α).

(II)署名の作成 署名者Aはpと署名用鍵(x)を用いてメッセージm
に対して s=mx(mod p) …(2) で署名sを計算し、メッージmと共に検証者Bに送信す
る。(剰余付きの計算は例えば池野、小山“現代暗号理
論”電子通信学会pp16−17、(1986)に示されてい
る)。
(II) Creation of Signature Signer A uses p and signature key (x) to generate message m
The signature s is computed by s = m x (mod p) ... (2) with respect to, and transmits to the verifier B with Mejji m. (Computations with remainders are shown, for example, in Ikeno and Koyama, “Modern Cryptography Theory,” IEICE, pp. 16-17, (1986)).

(III)署名の検査 検証者Bは署名者Aと通信することによって、検査用
鍵を用いて署名sがメッセージmに対する正しい署名で
あることを、次の(III−1)に示す確認手順によって
検査する。一方、署名sがメッセージmに対する正しい
署名でない場合(以降では改ざんされた署名をfで表
す)には署名者Aは(III−2)の否認手順によって証
明する。
(III) Signature Inspection The verifier B communicates with the signer A to confirm that the signature s is a correct signature for the message m by using the inspection key by a confirmation procedure shown in the following (III-1). inspect. On the other hand, if the signature s is not a correct signature for the message m (hereinafter, the falsified signature is represented by f), the signer A certifies by the rejection procedure of (III-2).

(III−1)確認手順 ステップ1:検証者Bは2つの乱数aとbを生成して、
通信文Xを X=ma・gb(mod p) …(3) で計算して、署名者Aに通信文Xを送信する。
(III-1) Confirmation procedure Step 1: Verifier B generates two random numbers a and b,
The communication text X calculated by X = m a · g b ( mod p) ... (3), transmits a communication text X to the signer A.

ステップ2:署名者Aは乱数qを生成して通信文(Y,
Z)を Y=X・gq(mod p) …(4) Z=Yx(mod p) …(5) で計算して通信文(Y,Z)を検証者Bに送信する。
Step 2: The signer A generates a random number q and sends a message (Y,
Z) is calculated as Y = X · g q (mod p) (4) Z = Y x (mod p) (5), and the message (Y, Z) is transmitted to the verifier B.

ステップ3:検証者Bは2つの乱数aとbを署名者Aに
送信する。
Step 3: Verifier B sends two random numbers a and b to signer A.

ステップ4:署名者Aは受信した乱数aとbがステップ
1で受信した通信文Xに対して X=ma・gb(mod p) …(6) を満たすかを検査し、満たしている場合には合格として
乱数qを検証者Bに送信する。満たしていない場合には
不合格として処理を停止する。
Step 4: The signer A examines whether satisfies the received random number a and b are X = m a · g b to the communication statement X received at step 1 (mod p) ... (6 ), is satisfied In this case, the pass is passed and the random number q is transmitted to the verifier B. If not, the processing is stopped as a failure.

ステップ5:検証者Bは受信したq、ステップ2で署名
者Aから受信した通信文(Y,Z)、ステップ1で生成し
た乱数a,bが検査用鍵の一成分α、メッセージmと署名
sに対して Y=mq・gb+q(mod p) …(7) Z=sa・αb+q(mod p) …(8) を満たすことを検査し、満たしている場合には合格とし
て署名sがメッセージmに対する署名者Aの正しい署名
であると判断する。満たしていない場合には不合格とし
て処理を停止する。
Step 5: The verifier B receives the q, the message (Y, Z) received from the signer A in step 2, the random numbers a and b generated in step 1 are one component α of the inspection key, the message m and the signature. For s, Y = mq · gb + q (mod p) (7) Z = s a · αb + q (mod p) (8) Determines that the signature s is a correct signature of the signer A for the message m as a pass. If not, the processing is stopped as a failure.

式(7)、(8)で等号が成立することは Y=X・gq=(ma・gb)gq =ma・gb+q(mod p) …(9) Z=Yx=(ma・gb+q =(mx・(gxb+q =sa・αb+q(mod p) …(10) により証明される。Equation (7), it is Y = X · g q = the equal sign holds in (8) (m a · g b) g q = m a · g b + q (mod p) ... (9) Z = Y x = evidenced by (m a · g b + q ) x = (m x) a · (g x) b + q = s a · α b + q (mod p) ... (10).

(III−2)否認手順 ステップ6:検証者Bは2つの乱数eと乱数β(0≦β
≦k)を生成して通信文(a,b)を a=mβ・ge(mod p) …(11) b=fβ・α(mod p) …(12) で計算して、メッセージmと署名fとともに署名者Aに
送信する。
(III-2) Denial procedure Step 6: Verifier B uses two random numbers e and random numbers β (0 ≦ β
≦ k) generates and communicates statement of (a, b) calculated by a = m β · g e ( mod p) ... (11) b = f β · α e (mod p) ... (12), The message is sent to the signer A together with the message m and the signature f.

ステップ7:署名者Aはγを1からkまで取り直して を満たすγを求めて、γのコミットメント関数BCの値δ
=BC(γ)を検証者Bに送信する。コミットメント関数
とは、γに対してBC(γ)=BC(γ′)を満たすγ′を
見つけるのが困難な関数である。コミットメント関数BC
の構成例は、Brassard,Crepeau:“Non−transitive tra
nsfer of confidence:A perfect zeroknowledge intera
ctive protocol for SAT and beyond",FOCS′86,pp188
−195に示されている。
Step 7: Signer A retakes γ from 1 to k Is determined, and the value δ of the commitment function BC of γ
= BC (γ) to the verifier B. The commitment function is a function in which it is difficult to find γ satisfying BC (γ) = BC (γ ′) for γ. Commitment function BC
Is an example of the configuration of Brassard, Crepeau: “Non-transitive tra
nsfer of confidence: A perfect zeroknowledge intera
ctive protocol for SAT and beyond ", FOCS'86, pp188
At -195.

ステップ8:検証者Bは乱数eを署名者Aに送信する。 Step 8: Verifier B sends random number e to signer A.

ステップ9:署名者Aは受信したeが通信文(a,b)に
対して (a,b)=((mγge(mod p), fγα(mod p)) …(14) を満たすことを確認する。成立すれば、γを検証者βに
送信する。成立しなければ処理を停止する。
Step 9: The signer A receives (a, b) = ((m γ g e (mod p), f γ α e (mod p)) with respect to the received message (a, b) (14) If the condition is satisfied, γ is transmitted to the verifier β, otherwise the process is stopped.

ステップ10:検証者Bは受信したγがδ=BC(γ)を
満たし、さらにγ=βが成り立つことを検査する。検査
の結果が合格ならfはメッセージmに対する署名でない
ことを確認する。
Step 10: The verifier B checks that the received γ satisfies δ = BC (γ) and that γ = β holds. If the result of the check passes, it is confirmed that f is not a signature for the message m.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上記のように従来のChaumの否認拒否署名方法では、
メッセージmと署名sの対応関係(m,s)の正当性の確
認に常に署名者の介在が必要となり、従来の署名方法が
抱えていた署名の証拠性(署名が署名者の確認なしに一
人歩きするという問題)は解決される。しかし、複数の
検証者が同時に署名の正当性を検証する場合は、夫々の
検証者に対して上記の手順を繰り返すこととなり、検証
者の人数分行うことになるので効率が悪い。
As described above, in the conventional Chaum denial signature method,
The signer's intervention is always required to confirm the validity of the correspondence (m, s) between the message m and the signature s. The problem of walking) is solved. However, when a plurality of verifiers verify the validity of the signature at the same time, the above procedure is repeated for each verifier, which is performed by the number of verifiers, which is inefficient.

本発明は上記の点に鑑みなされたもので署名者1人に
対して検証者が複数であっても人数分の繰り返しを行わ
なくとも署名の検証が実現する署名の多重検証方法を提
供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and provides a multiple verification method of a signature in which a signature can be verified without repeating the number of verifications even for a plurality of verifiers for one signer. With the goal.

〔課題を解決するための手段〕[Means for solving the problem]

複数の検証者装置で電子化されたメッセージのディジ
タル署名を順次検証する方法において、センタ装置は、
署名者装置の検証用情報を公開ファイルに登録し、署名
者装置は乱数発生器及び剰余付き計算器を用いて、発生
された乱数g,p,x及び該乱数の一部を入力として、剰余
計算 α=gx(mod p) を行った結果得られる値αを検査用鍵として公開する公
開情報(g,p,α)を生成して、センタ装置の公開ファイ
ルに登録し、署名者装置はメッセージmに対応して剰余
付き計算機を用いて計算した署名sを複数の検証者装置
にそれぞれ送信し、 最終検証者装置は、メッセージmと生成した第1の乱
数a2,b2と検証用情報中の公開情報gから剰余付き計算
器を用いて第1の通信文 X2=ma2・gb2(mod p) を計算して、該メッセージmと共に中間の検証者装置に
送信し、中間の検証者装置は、該第1の通信文X2と乱数
発生器を用いて生成した第2の乱数q2,u2,v2とから剰余
付き計算器を用いて剰余計算 X1=X2・gq2・mu2・gv2 を行い、第2の通信文X1を生成して、メッセージmと共
に前の検証者装置または、署名者装置に送信し、署名者
装置は、受信した第2の通信文X1及びメッセージmに基
づいて、剰余付き計算器で Y1=X1・gq1(mod p) Z1=Y1 x1(mod p) を計算して第3の通信文(Y1,Z1)として中間の検証者
装置に送信し、中間の検証者装置は該第3の通信文
(Y1,Z1)から剰余付き計算器を用いて、 Y2=Y1/(mu2・gv2)(mod p) Z2=Z1/(su2・αv2)(mod p) を計算し、第4の通信文(Y2,Z2)として次の検証者装
置に送信することにより、該第4の通信文(Y2,Z2)を
受信した最終の検証者装置は、第1の乱数a2,b2を中間
の検証者装置に送信し、中間の検証者装置は、受信した
第1の乱数a2,b2が先に受信した該第1の通信文X2に対
して、 X2=ma2・gb2(mod p) を満たす場合には正当であるという検査を行い、合格な
ら第2の乱数q2,u2,v2及び第1の乱数a2,b2から加算器
により、 a1=a2+u2 b1=b2+q2+v2 を計算して得た第3の乱数(a1,b1)を前の検証者装置
または、署名者装置に送信し、署名者装置により受信し
た第3の乱数(a1,b1)が先に受信した該第2の通信文X
1に対して、 X1=ma1・gb1(mod p) を満たすかを検査して、合格なら第4の乱数q1を該署名
者装置より該中間の検証者装置に送信し、中間の検証者
装置により、受信した第4の乱数q1と共に受信した第3
の通信文(Y1,Z1)と先に送信した第3の乱数(a1,b1)
とがメッセージmと署名sに対して、 Y1=ma1・gb1+q1(mod p) Z1=sa1・αb1+q1(mod p) を満たすかにより正当なことを確認させて、合格ならば
正当な署名であると判断する。
In a method of sequentially verifying a digital signature of a message digitized by a plurality of verifier devices, the center device includes:
The verification information of the signer device is registered in a public file, and the signer device uses a random number generator and a calculator with a remainder to input the generated random numbers g, p, x and a part of the random number as a remainder. Generate public information (g, p, α) that publishes the value α obtained as a result of performing the calculation α = g x (mod p) as a test key, register it in a public file of the center device, and signer device Transmits a signature s calculated using a computer with a remainder to each of a plurality of verifiers corresponding to the message m, and the final verifier transmits the message m, the generated first random numbers a2 and b2, and the verification information. A first message X 2 = m a2 · g b2 (mod p) is calculated from the public information g in the above using a calculator with a remainder, and is transmitted to the intermediate verifier device together with the message m. verifier device, the second random number q2, u2, v2 Metropolitan generated using the communication text X 2 and a random number generator of the first A remainder calculation X 1 = X 2 · g q2 · mu 2 · g v2 is performed using a calculator with a remainder to generate a second message X 1, and the previous verifier device or signer together with the message m send apparatus to the signer apparatus, based on the second communication text X 1 and message m received, with the remainder with calculator Y 1 = X 1 · g q1 (mod p) Z 1 = Y 1 x1 ( mod p) is calculated and transmitted to the intermediate verifier device as a third message (Y 1 , Z 1 ), and the intermediate verifier device calculates a remainder from the third message (Y 1 , Z 1 ). Calculate Y 2 = Y 1 / (m u2 · g v2 ) (mod p) using a calculator with a tag and Z 2 = Z 1 / (s u2 · α v2 ) (mod p) to obtain a fourth message by transmitting (Y 2, Z 2) as the next verifier apparatus, final verifier apparatus receiving the communication statement said 4 (Y 2, Z 2) is a first random number a2, b2 Transmitting to the intermediate verifier device, the intermediate verifier device receiving the first random a2, b2 against the communication sentence X 2 of said first previously received inspects that it is legal if satisfying X 2 = m a2 · g b2 (mod p), the second if pass The third random number (a1, b1) obtained by calculating a1 = a2 + u2 b1 = b2 + q2 + v2 by the adder from the random numbers q2, u2, v2 and the first random numbers a2, b2 is used as the previous verifier device or signer. A third random number (a1, b1) transmitted to the device and received by the signer device is the second message X received first.
For 1 , it is checked whether or not X 1 = m a1 · g b1 (mod p) is satisfied. If it passes, a fourth random number q1 is transmitted from the signer apparatus to the intermediate verifier apparatus, and The verifier apparatus receives the third random number q1 together with the received fourth random number q1.
Message (Y 1 , Z 1 ) and the third random number (a1, b1) sent earlier
Is valid for the message m and the signature s by satisfying Y 1 = m a1 · g b1 + q1 (mod p) Z 1 = s a1 · α b1 + q1 (mod p) If it passes, it is determined that the signature is valid.

また、複数の検証者装置が電子化されたメッセージの
ディジタル署名を複数の検証者装置によって順次検証す
る方法において、センタ装置は、署名者装置の検証用情
報を公開ファイルに登録し、署名者装置は乱数発生器及
び剰余付き計算器を用いて、発生された乱数g,p,x及び
該乱数の一部を入力として、剰余計算 α=gx(mod p) を行った結果得られる値αを検査用鍵として公開する公
開情報(g,p,α)を生成して、センタ装置の公開ファイ
ルに登録し、署名者装置はメッセージmに対応して剰余
付き計算器を用いて、 Y2=ma2・gb2+q(mod p) Z2=sa2・αb2+q(mod p) により計算した署名sを複数の検証者装置にそれぞれ送
信し、最終検証者装置は乱数発生器と剰余付き計算器を
用いて第1の乱数(e2,β2)を生成して、該第1の乱
数(e2,β2)を第1成分(e2)と第2成分(β2)に
分けて、剰余計算器により a2=mβ2・ge2(mod p) b2=fβ2・αe2(mod p) により第1の通信文(a2,b2)を計算して、メッセージ
mと共に中間の検証者装置に送信し、中間の検証者装置
は乱数発生器を用いて(e1,β1)を生成し、剰余付き
計算器を用いて、 a1=mβ1・a2・ge1(mod p) b1=fβ1・b2・α1e1(mod p) により第2の通信文(a1,b1)を計算して、メッセージ
mと共に署名者装置に送信し、署名者装置は、関係式 (f/mxγ=b1/a1 x(mod p) で表され、通信文、署名、メッセージが与えられたと
き、署名用鍵を用いてある範囲(0から2kまで)の整数
の値γを調べることによって該関係式を満たすγの値
(但し、mはメッセージ、fは署名、xは検査用鍵、
a1,b1は、第2の通信文、(mod p)は、b1/a1 xを素数
pで割った剰余を示す)を求め、γの値により、コミッ
トメント関数の値δ=BC(γ1)を該中間の検証者装置
に送信し、中間の検証者装置は、コミットメント関数δ
=BC(γ1)を用いて計算された値に減算器を用いて、 δ2=δ1−BC(β1) を計算し、その計算値δ2を次の検証者装置に送信し
て、最終的に最終検証者装置に送信し、最終検証者装置
は該中間の検証者装置に第1の乱数の第1成分e2として
生成した値を該第2の乱数として送信し、中間の検証者
装置は、加算器により該第3の乱数eを第2の乱数e2と
第2の通信文を計算するときに用いた乱数e1により、 e=e1+e2 求め、第3の乱数を署名者装置に送信し、署名者装置は
該中間の検証者装置より受信した第3の乱数eが先に受
信した第2の通信文(a1,b1)に対して、γの値が、メ
ッセージm、署名fに対して予め定められた関係式 (a1,b1)={mγ1g(mod p), fγ1・α(mod p)} を満たす検査を行い、合格なら該γの値を該中間の検証
者装置に送信し、中間の検証者装置は該γ1と第2の通
信文を計算するときに用いた乱数β1から減算器を用い
て、 γ2=γ1−β1 により第4の乱数γ2を求め、該第4の乱数γ2と第1
の通信文(a2,b2)がメッセージmに対する署名fでな
いことを剰余付き計算器及び比較器を用いて、 (a2,b2)={mγ2・ge2(mod p), fγ2・αe2(mod p)} を満たすかを確認して、合格ならば、該第4の乱数γ2
を最終検証者装置に送信し、最終検証者装置は、該第4
の乱数γ2と該第1の乱数の第2成分β2が等しいこと
を確認して、合格ならば署名fがメッセージmに対する
署名でないと判断する。
In a method in which a plurality of verifier devices sequentially verify a digital signature of an electronic message by a plurality of verifier devices, the center device registers verification information of the signer device in a public file, and Is a value α obtained as a result of performing a residue calculation α = g x (mod p) by using a random number generator and a calculator with a remainder and inputting the generated random numbers g, p, x and a part of the random numbers as inputs. the generated public information to publish (g, p, alpha) as the test key, registers the public file of the center apparatus, the signer apparatus using a remainder with calculator in response to the message m, Y 2 = M a2 · g b2 + q (mod p) The signature s calculated by Z 2 = s a2 · α b2 + q (mod p) is transmitted to each of a plurality of verifiers, and the final verifier is a random number generator. And a calculator with a remainder to generate a first random number (e2, β2) and generate the first random number (e2, β2). ) And divided into a first component (e2) and the second component (.beta.2), the remainder calculator a2 = m β2 · g e2 ( mod p) first communications by b2 = f β2 · α e2 ( mod p) Calculate the sentence (a2, b2) and send it to the intermediate verifier with the message m. The intermediate verifier generates (e1, β1) using a random number generator and uses a calculator with a remainder. A1 = m β1 · a2 · ge1 (mod p) b1 = f β1 · b2 · α1 e1 (modp) The second message (a1, b1) is calculated and the signer device together with the message m And the signer device is represented by the relational expression (f / m x ) γ = b 1 / a 1 x (mod p), and when a message, a signature, and a message are given, the signer uses the signature key. By examining an integer value γ in a certain range (from 0 to 2k), a value of γ satisfying the relational expression (where m is a message, f is a signature, x is a test key,
a 1 , b 1 are the second message, (mod p) is the remainder of b 1 / a 1 x divided by the prime p), and the value of the commitment function δ = BC (Γ1) is transmitted to the intermediate verifier apparatus, and the intermediate verifier apparatus transmits the commitment function δ
= BC (γ1) using a subtractor to calculate δ2 = δ1−BC (β1), transmitting the calculated value δ2 to the next verifier apparatus, and finally The final verifier transmits the value generated as the first component e2 of the first random number to the intermediate verifier as the second random number, and the intermediate verifier transmits the value to the intermediate verifier. E = e1 + e2 is obtained from the third random number e using the second random number e2 and the random number e1 used when calculating the second message, and the third random number is transmitted to the signer apparatus. The device determines in advance the value of γ for the message m and the signature f for the second message (a1, b1) received first from the third random number e received from the intermediate verifier device. was relation (a1, b1) = {m γ1 g (mod p), f γ1 · α e (mod p)} inspects satisfying, between intermediate values of if passing the γ Transmitted to the witness apparatus, and the intermediate verifier apparatus obtains a fourth random number γ2 from γ2 = γ1-β1 using a subtractor from the γ1 and the random number β1 used in calculating the second message. , The fourth random number γ2 and the first
With remainder with calculator and a comparator that communication sentence (a2, b2) is not signed f for the message m, (a2, b2) = {m γ2 · g e2 (mod p), f γ2 · α e2 (Mod p)} is satisfied, and if passed, the fourth random number γ2
Is transmitted to the final verifier apparatus, and the final verifier apparatus transmits the fourth
It is confirmed that the random number γ2 of the first random number is equal to the second component β2 of the first random number. If the random number γ2 passes, it is determined that the signature f is not a signature for the message m.

〔作用〕[Action]

本発明は署名者装置が乱数を用い、署名用鍵を生成
し、その鍵の値と検査用鍵の一部を計算し、センタ装置
の公開ファイルに登録する。署名者装置は検証用のビッ
ト情報である検証用メッセージに対して署名を計算して
複数の検証者装置に送信する。複数の検証者装置は乱数
を用いて署名者装置からの通信文を各検証者装置毎に計
算・変換し、検証者装置間及び署名者装置や検証者装置
間で送受信し、署名が署名者装置の正当な署名であるか
を確認する。また、署名者は署名が検証用メッセージに
対して正しい署名でない場合には署名者装置はコミット
メント関数を利用して検証者装置に対して署名について
の否認を行う。
According to the present invention, the signer device generates a signature key by using a random number, calculates a value of the key and a part of the inspection key, and registers the calculated value in a public file of the center device. The signer apparatus calculates a signature for a verification message, which is bit information for verification, and transmits the signature to a plurality of verifier apparatuses. The plurality of verifier devices calculate and convert the message from the signer device using the random number for each verifier device, and transmit and receive the message between the verifier devices and between the signer device and the verifier device. Check that the signature is valid for the device. If the signature is not a correct signature for the verification message, the signer denies the signature to the verifier using the commitment function.

〔実施例〕〔Example〕

第1図は本発明の一実施例のシステム構成図を示す。
同図ではセンタ装置100は署名者装置200及び複数の検証
者装置300〜800とセンタ装置100に情報を登録するため
の通信路400を介して接続され、また、署名者200と検証
者300〜800は通信文等を通信する通信路500を介して直
列に結合されており、検証者300から順次検証を行う。
FIG. 1 shows a system configuration diagram of an embodiment of the present invention.
In the figure, the center apparatus 100 is connected to the signer apparatus 200 and a plurality of verifier apparatuses 300 to 800 via a communication path 400 for registering information in the center apparatus 100. 800 is connected in series via a communication path 500 for communicating messages and the like, and performs verification sequentially from the verifier 300.

第2図は本発明の一実施例の公開ファイルの内容を示
す。センタ装置100は公開ファイルを持ち、この公開フ
ァイルには署名者装置100が公開情報を登録する。
FIG. 2 shows the contents of a public file according to one embodiment of the present invention. The center apparatus 100 has a public file, and the signer apparatus 100 registers public information in the public file.

本実施例では一つのセンタ装置100を介して1つの署
名者装置200、2つの検証者装置300,800で行う方法につ
いて説明する。
In this embodiment, a method performed by one signer apparatus 200 and two verifier apparatuses 300 and 800 via one center apparatus 100 will be described.

上記2つの検証者装置のうち1つは中間検証者装置30
0、もう一つは最終の検証者装置800とする。
One of the two verifier devices is an intermediate verifier device 30.
0, and the other is the final verifier device 800.

第4図は本発明の一実施例の署名者装置の署名作成確
認及び否認手順を示す。署名者装置200は乱数発生器21
0、剰余付き計算器220,250,270、γ発見器280、BC計算
器290を備えており、最初の送信で最終の検証者装置800
に署名sを送信する以外は中間の検証者装置300と送受
信を行う。
FIG. 4 shows a signature creation confirmation and denial procedure of the signer apparatus according to one embodiment of the present invention. Signer device 200 is a random number generator 21
0, with calculators 220, 250, 270 with remainder, gamma detector 280, BC calculator 290, and the final verifier device 800 at the first transmission
Except that the signature s is transmitted to the intermediate verifier device 300.

第5図は本発明の一実施例の中間検証者装置の確認手
順を示す。また、第6図は本発明の一実施例の中間検証
者装置の否認手順を示す。
FIG. 5 shows a procedure for confirming an intermediate verifier apparatus according to an embodiment of the present invention. FIG. 6 shows a procedure for rejecting an intermediate verifier device according to an embodiment of the present invention.

検証者300は乱数発生器310、剰余付き計算器320,330,
340,360,390、加算器350,370、比較器345,365、減算器3
85、BC計算器380を備えている。中間の検証者装置300は
本実施例では署名者装置200と最終検証者装置800との送
受信を行う。
The verifier 300 is a random number generator 310, calculators with remainders 320, 330,
340,360,390, adder 350,370, comparator 345,365, subtractor 3
85, equipped with BC calculator 380. In this embodiment, the intermediate verifier apparatus 300 transmits and receives the signer apparatus 200 and the final verifier apparatus 800.

第7図は最終検証者装置800の検証手順を示す。検証
者装置800は乱数発生器810、剰余付き計算器820,830、B
C計算器840を備えている。本実施例では最終検証者装置
800は中間検証者装置300と送受信を行う。
FIG. 7 shows a verification procedure of the final verifier apparatus 800. The verifier device 800 is a random number generator 810, calculators with remainders 820, 830, B
It has a C calculator 840. In this embodiment, the final verifier device
800 performs transmission and reception with the intermediate verifier device 300.

次に第3図の本発明の一実施例の通信シーケンスと共
に鍵の登録から確認及び否認の手順について説明する。
Next, the procedure of key registration to confirmation and rejection together with the communication sequence of the embodiment of the present invention shown in FIG. 3 will be described.

(I)鍵の登録 署名者装置200は鍵の登録を行うために乱数を発生さ
せる乱数発生器210及び発生した乱数を用いて署名用鍵
と検査用の鍵を生成する剰余付き計算器220を備えてい
る。
(I) Key Registration The signer apparatus 200 includes a random number generator 210 that generates a random number for registering a key, and a calculator 220 with a remainder that generates a signature key and an inspection key using the generated random number. Have.

ステップ11:先ず、署名者装置200がシステムに加入す
る場合に乱数発生器210を用いて3つの乱数g,p,xを発生
させ、署名用鍵(x)と検査用の鍵の一部(g,p)を生
成して、x,p,gから剰余付き計算器220で検査用鍵の一部
(α)を、 α=gx(mod p) …(15) によって計算し、検査用鍵の一部と共にセンタ装置100
の公開ファイルに登録する。なお、公開ファイルは第2
図に示すように署名者装置毎に公開情報(g,p,α)を保
持する。
Step 11: First, when the signer apparatus 200 joins the system, three random numbers g, p, x are generated using the random number generator 210, and the signature key (x) and a part of the inspection key ( g, p), and a part (α) of the inspection key is calculated from x, p, g by the calculator 220 with a remainder using α = g x (mod p) (15). Center device 100 with part of key
Register to the public file of. The public file is the second
As shown in the figure, public information (g, p, α) is held for each signer apparatus.

(II)署名の作成 以降では署名者装置200が署名sを作成する場合につ
いて説明する。
(II) Creation of Signature Hereinafter, a case where the signer apparatus 200 creates the signature s will be described.

ステップ12:署名者装置200は剰余付き計算器230を用
いてステップ1で生成された公開情報pと署名用鍵
(x)からメッセージmに対して、 s=mx(mod p) …(16) により署名sを計算し、検証者装置300及び800に送信す
る。
Step 12: The signer apparatus 200 uses the calculator 230 with the remainder to publish the message m from the public information p generated in step 1 and the signature key (x), and s = mx (mod p) (16) ) To calculate the signature s and transmit it to the verifier devices 300 and 800.

(III)検査 以降では、検証者装置300及び800の2つがメッセージ
mの署名sを検査する場合について説明する。
(III) Inspection Hereinafter, a case will be described where two of the verifier devices 300 and 800 inspect the signature s of the message m.

中間の検証者装置300は最終の検証者装置800、また
は、署名者装置200と通信することによって署名sが検
証用メッージmに対する署名者200の正しい署名である
ことを以下の手順によって検証する。
By communicating with the final verifier device 800 or the signer device 200, the intermediate verifier device 300 verifies that the signature s is the correct signature of the signer 200 for the verification message m by the following procedure.

(III−1)確認手順 ステップ13:第7図に示す最終の検証者装置800は乱数
発生器810を用いて2つの乱数a2、b2を生成する。次に
最終の検証者装置800は剰余付き計算器820を用いてメッ
セージm、検査用鍵の一部であるgより通信文X2を X2=ma2・gb2(mod p) …(17) により計算してメッセージmと共に検証者装置300に送
信する。
(III-1) Confirmation Procedure Step 13: The final verifier 800 shown in FIG. 7 generates two random numbers a2 and b2 using the random number generator 810. Then final verifier device 800 message m using a modulo-conditioned calculator 820, a g from the communication sentence X 2 is a part of the inspection key X 2 = m a2 · g b2 (mod p) ... (17 ), And sends it to the verifier device 300 together with the message m.

ステップ14:第5図に示す検証者300は乱数発生器310
を用いて3つの乱数q2,u2,v2を生成する。次にステップ
13で送信された通信文X2とメッセージmと3つの乱数を
剰余付き計算器320で、通信文X1を X1=X2・gq2・mu2・gv2(mod p) …(18) で計算してメッセージmと共に署名者装置200に送信す
る。
Step 14: The verifier 300 shown in FIG.
Are used to generate three random numbers q2, u2, v2. Next step
The transmitted communication text X 2 and the message m and the three random numbers in the remainder with calculator 320 at 13, the communication text X 1 X 1 = X 2 · g q2 · m u2 · g v2 (mod p) ... (18 ) Is calculated and transmitted to the signer apparatus 200 together with the message m.

ステップ15:第4図に示す署名者装置200は乱数発生器21
0を用いて、乱数q1を生成する。次にステップ14で検証
者装置300により送信された通信文X1,メッセージmと乱
数q1により通信文(Y1,Z1)を剰余付き計算器250で Y1=X1・gq1(mod p) …(19) Z1=Y1 x1(mod p) …(20) により計算して、通信文(Y1,Z1)として検証者装置300
に送信する。
Step 15: The signer apparatus 200 shown in FIG.
Using 0, a random number q1 is generated. Then communication text X 1 sent by the verifier device 300 in step 14, communication text by the message m and a random number q1 (Y 1, Z 1) with the remainder with calculator 250 Y 1 = X 1 · g q1 (mod p) ... (19) calculated by Z 1 = Y 1 x1 (mod p) ... (20), the verifier apparatus as the communication sentence (Y 1, Z 1) 300
Send to

ステップ16:第5図に示す検証者装置300は剰余付き計
算器330を用いてステップ15から得た通信文(Y1,Z1)、
ステップ12から得た署名sにより通信文(Y2,Z2)を Y2=Y1/(mu2・gv2)(mod p) …(21) Z2=Z1/(su2・αv2)(mod p) …(22) で計算して、検証者装置800に送信する。
Step 16: The verifier apparatus 300 shown in FIG. 5 uses the calculator with remainder 330 to obtain the message (Y 1 , Z 1 ) obtained from step 15;
The message (Y 2 , Z 2 ) is converted into Y 2 = Y 1 / (m u2 · g v2 ) (mod p) by the signature s obtained from step 12 (21) Z 2 = Z 1 / (s u2 · α v2 ) (mod p) ... (22) and transmit to the verifier apparatus 800.

ステップ17:検証者装置800は乱数発生器810で生成し
た2つの乱数a2とb2を検証者装置300に送信する。
Step 17: The verifier apparatus 800 transmits the two random numbers a2 and b2 generated by the random number generator 810 to the verifier apparatus 300.

ステップ18:第5図の検証者装置300は剰余付き計算器
340と比較器345を用いてステップ17で検証者装置800か
ら受信した2つの乱数a2,b2がステップ13で受信した通
信文X2に対して X2=ma2・gb2(mod p) を満たすことを検査して、満たしていれば合格として加
算器350で a1=a2+u2 …(23) b1=b2+q2+v2 …(24) により計算して得た計算結果(a1,b1)を署名者装置200
に送信する。上記条件を満たしていない場合は不合格と
して処理を停止する。
Step 18: The verifier device 300 in FIG. 5 is a calculator with a remainder.
340 a comparator 345 X to the communication statement X 2 in which two random numbers a2, b2 received from the verifier apparatus 800 in step 17 is received in step 13 using a 2 = m a2 · g b2 a (mod p) It is checked that the condition is satisfied, and if the condition is satisfied, the result is determined as pass. The signer device 200 obtains the calculation result (a1, b1) obtained by calculating in the adder 350 according to a1 = a2 + u2...
Send to If the above condition is not satisfied, the processing is stopped as a failure.

ステップ19:第4図の署名者装置200は剰余付き計算器
270と比較器275を用いて検証者装置300から受信したa1
とb1がステップ14で受信した通信文X1に対して、 X1=ma1・gb1(mod p) …(25) を満たすことを検査して、満たしていれば合格とし、乱
数q1を検証者装置300に送信する。満たしていなければ
不合格として処理を停止する。
Step 19: Signer device 200 in FIG. 4 is a calculator with a remainder.
A1 received from the verifier apparatus 300 using the comparator 270 and the comparator 275
If b1 is the communication statement X 1 received in step 14, and checks that satisfy X 1 = m a1 · g b1 (mod p) ... (25), a pass if they meet, the random number q1 This is transmitted to the verifier device 300. If not, the processing is stopped as a reject.

ステップ20:第5図の検証者装置300は剰余付き計算器
360と比較器365を用いて、ステップ19で署名者装置200
から受信した乱数q1、ステップ5で受信した通信文
(Y1,Z1),ステップ18で署名者装置200に送信したa1と
b1がメッセージmと署名sに対して Y1=ma1・gb1+q1(mod p) …(26) Z1=sa1・αb1+q1(mod p) …(27) を満たすことを検査して満たしていれば合格とし、署名
sがmに対する署名者の正当な署名であると判断する。
また、合格であれば加算器370を用いて署名者装置200か
らの乱数q1と乱数発生器310からのq2によりq1+q2を検
証者装置800に送信する。一方、検査して満たしていな
ければ不合格とし、処理を停止する。
Step 20: The verifier 300 in FIG. 5 is a calculator with a remainder.
Using the 360 and the comparator 365, in step 19 the signer device 200
, The message (Y 1 , Z 1 ) received in step 5, a1 sent to the signer device 200 in step 18,
b1 satisfies Y 1 = m a1 · g b1 + q1 (mod p)... (26) for the message m and the signature s (2) Z 1 = s a1 .α b1 + q1 (mod p). If the inspection satisfies the condition, it is judged as a pass, and it is determined that the signature s is a valid signature of the signer for m.
In addition, if it passes, the adder 370 is used to transmit q1 + q2 to the verifier device 800 using the random number q1 from the signer device 200 and q2 from the random number generator 310. On the other hand, if the inspection does not satisfy the condition, it is rejected and the process is stopped.

ステップ21:第7図の検証者装置800は剰余付き計算器
830と比較器835を用いて、ステップ20で検証者装置300
から受信したq(=q1+q2)、先に検証者装置300から
受信した通信文(Y2,Z2),ステップ17で検証者装置300
に送信したa2とb2がメッセージmと署名sに対して Y2=ma2・gb2+q(mod p) …(28) Z2=sa2・αb2+q(mod p) …(29) を満たすことを検査して、満たしていれば合格とし、署
名sがメッセージmに対する署名者装置200の正当な署
名であると判断する。
Step 21: The verifier device 800 in FIG. 7 is a calculator with a remainder.
Using the 830 and the comparator 835, in step 20, the verifier 300
Q (= q1 + q2), the message (Y 2 , Z 2 ) previously received from the verifier device 300, and the verifier device 300
A2 and b2 transmitted to the message m and the signature s, Y 2 = m a2 · g b2 + q (mod p) (28) Z 2 = s a2 · α b2 + q (mod p) (29) ) Is checked, and if satisfied, it is judged as pass, and it is determined that the signature s is a valid signature of the signer apparatus 200 for the message m.

(III−2)否認手順 ステップ22:第7図の検証者装置800は乱数発生器810
を用いて2つの乱数e2と乱数β2(0≦β2≦k)を生
成して剰余付き計算器820を用いて通信文(a2,b2)を a2=mβ2・ge2(mod p) …(30) b2=fβ2・αe2(mod p) …(31) で計算して、メッセージmと署名f(ここでは署名fは
改ざんされている署名とする)と、共に検証者装置300
に送信する。(ここでkは安全性のパラメータであり、
署名者装置200、検証者装置300、検証者装置800が予め
合意した値である。
(III-2) Denial procedure Step 22: Verifier device 800 in FIG.
, A random number e2 and a random number β2 (0 ≦ β2 ≦ k) are generated, and the message (a2, b2) is calculated using the calculator 820 with the remainder by a2 = mβ2 · ge2 (mod p). 30) b2 = f β2 · α e2 (mod p) (31) The message m and the signature f (here, the signature f is a falsified signature) are calculated together with the verifier device 300.
Send to (Where k is a security parameter,
This is a value agreed in advance by the signer apparatus 200, the verifier apparatus 300, and the verifier apparatus 800.

ステップ23:第6図の検証者装置300は乱数発生器310
を用いて2つの乱数e1と乱数β1(0≦β1≦k)を生
成して剰余付き計算器320を用いて通信文(a1,b1)を a1=mβ1・a2・ge1(mod p) …(32) b1=fβ1・b2・α1e1(mod p) …(33) で計算して、メッセージmと署名fと共に署名者装置20
0に送信する。
Step 23: The verifier device 300 shown in FIG.
, A random number e1 and a random number β1 (0 ≦ β1 ≦ k) are generated, and the message (a1, b1) is converted to a1 = mβ1 · a2 · ge1 (mod p) using the calculator 320 with a remainder. (32) b1 = f β1 · b2 · α1 e1 (mod p) (33) The signer device 20 is calculated together with the message m and the signature f.
Send to 0.

ステップ24:第4図の署名者装置200はγ発見器280を
用いてγ1を0から2kまで取り直して を満たすγ1を求めて、BC計算器290を用いてγ1のコ
ミットメント関数の値δ1=BC(γ1)を検証者装置30
0に送信する。
Step 24: The signer apparatus 200 in FIG. 4 uses the γ detector 280 to re-take γ1 from 0 to 2k. Γ1 that satisfies is satisfied, and the value δ1 = BC (γ1) of the commitment function of γ1 is determined using the BC calculator 290.
Send to 0.

ステップ25:第6図の検証者装置300はBC計算器380を
用いてBC(β1)を求め、減算器380を用いてδ2=δ
1−BC(β1)を計算して計算結果をδ2を検証者装置
800に送信する。
Step 25: The verifier apparatus 300 in FIG. 6 obtains BC (β1) using the BC calculator 380, and δ2 = δ using the subtractor 380.
1-BC (β1) is calculated and the calculation result is δ2.
Send to 800.

ステップ26:第7図の検証者装置800は乱数発生器810
で生成したe2を検証者装置300に送信する。
Step 26: The verifier device 800 in FIG.
Is transmitted to the verifier device 300.

ステップ27:第6図の検証者装置300は乱数発生器310
で生成された乱数e1とステップ26で検証者装置800より
受信した乱数e2を加算器370を用いてe=e1+e2を計算
して計算結果eを署名者装置200に送信する。
Step 27: The verifier device 300 shown in FIG.
The e = e1 + e2 is calculated by using the adder 370 with the random number e1 generated in step (1) and the random number e2 received from the verifier device 800 in step 26, and the calculation result e is transmitted to the signer device 200.

ステップ28:署名者装置200は剰余付き計算器270と比
較器275を用いて、ステップ27で検証者装置300より受信
したe(=e1+e2)が通信文(a1、b1)に対して、 (a1,b1)={mγ1ge(mod p), fγ1・α(mod p)} …(35) を満たしているかを検証し、満たしていれば合格とし、
γ1を検証者装置300に送信する。満たしていなければ
不合格とし、処理を停止する。
Step 28: The signer apparatus 200 uses the calculator with remainder 270 and the comparator 275 to convert e (= e1 + e2) received from the verifier apparatus 300 in step 27 into the message (a1, b1) by: (a1 , b1) = {m γ1 ge (mod p), f γ1 · α e (mod p)} verifies that meets ... (35), a pass if they meet,
γ1 is transmitted to the verifier device 300. If not, it is rejected and the process is stopped.

ステップ29:第6図の検証者装置300は減算器385を用
いて、γ2=γ1−β1を求め、剰余付き計算器390と
比較器395を用いて、 (a2,b2)={mγ2ge2(mod p), fγ2・αe2(mod p)} ……(36) を満たすかを検証する。満たす場合は合格とし、署名f
はメッセージmに対する署名ではないことを確認する。
さらにγ2を検証者装置800に送信する。
Step 29: The verifier apparatus 300 in FIG. 6 obtains γ2 = γ1−β1 using the subtractor 385, and using the calculator 390 with the remainder and the comparator 395, (a2, b2) = { mγ2g e2 (mod p), f γ2 · α e2 (mod p)} ……………………………… (36) Pass if satisfied, signature f
Is not a signature for message m.
Further, γ2 is transmitted to verifier apparatus 800.

ステップ30:第7図の検証者装置800はBC計算器840と
比較器845を用いて、ステップ29で検証者装置300から受
信したγ2がδ2=BC(γ2)を満たし、さらに、比較
器850を用いてγ2=β2…(37)が成り立つことを検
証し、合格なら、署名fはメッセージmに対する署名で
ないことを確認する。
Step 30: The verifier device 800 in FIG. 7 uses the BC calculator 840 and the comparator 845, and the γ2 received from the verifier device 300 in Step 29 satisfies δ2 = BC (γ2). (37) is verified using, and if it passes, it is confirmed that the signature f is not a signature for the message m.

なお、本実施例で使用するコミットメント関数BCは、 BC(γ1)+BC(γ2)=BC(γ1+γ2) を満たすものを用いる。 Note that the commitment function BC used in the present embodiment is one that satisfies BC (γ1) + BC (γ2) = BC (γ1 + γ2).

〔発明の効果〕〔The invention's effect〕

上記のように本発明によれば複数の検証者が多重検証
する場合に、例えば検証者を5人としたとき、1回の確
認手順で5人全てに対して署名の正当性を証明すること
ができる。従って、検証のための時間が大幅に低減で
き、実用上極めて有用である。
As described above, according to the present invention, when a plurality of verifiers perform multiple verifications, for example, when there are five verifiers, it is necessary to prove the validity of the signature to all five verifications in a single verification procedure. Can be. Therefore, the time for verification can be greatly reduced, which is extremely useful in practice.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例のシステム構成図、 第2図は本発明の一実施例の公開ファイルを示す図、 第3図は本発明の一実施例の通信シーケンスを示す図、 第4図は本発明の一実施例の署名作成・確認及び否認手
順を示す図、 第5図は本発明の一実施例の中間の検証者装置の確認手
順を示す図、 第6図は本発明の一実施例の中間の検証者装置の否認手
順を示す図、 第7図は本発明の一実施例の最終検証者装置の検証手順
を示す図である。 図において、 100……センタ装置、150……公開ファイル、200……署
名者装置、210,310,810……乱数発生器、220,230,270,3
20,340,360,820,830……剰余付き計算器、275,345,365,
395……比較器、385……減算器、380……BC計算器、35
0,370……加算器、300,600,700,800……検証者装置、40
0、500……通信路。
FIG. 1 is a system configuration diagram of one embodiment of the present invention, FIG. 2 is a diagram showing a public file of one embodiment of the present invention, FIG. 3 is a diagram showing a communication sequence of one embodiment of the present invention, FIG. 4 is a diagram showing a signature creation / confirmation and rejection procedure according to an embodiment of the present invention. FIG. 5 is a diagram showing a confirmation procedure of an intermediate verifier apparatus according to an embodiment of the present invention. FIG. 7 is a diagram showing a procedure for rejecting an intermediate verifier device according to an embodiment of the present invention. FIG. 7 is a diagram showing a procedure for verifying a final verifier device according to an embodiment of the present invention. In the figure, 100: center device, 150: public file, 200: signer device, 210, 310, 810: random number generator, 220, 230, 270, 3
20,340,360,820,830 ... Calculator with remainder, 275,345,365,
395 ... Comparator, 385 ... Subtractor, 380 ... BC calculator, 35
0,370 …… Adder, 300,600,700,800 …… Verifier device, 40
0, 500 ... Communication channel.

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 C06F 15/00 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)Continuation of the front page (58) Fields investigated (Int. Cl. 7 , DB name) G09C 1/00-5/00 H04K 1/00-3/00 H04L 9/00 C06F 15/00 INSPEC (DIALOG) JICST file (JOIS) WPI (DIALOG)

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の検証者装置で電子化されたメッセー
ジのディジタル署名を順次検証する方法において、 センタ装置は、署名者装置の検証用情報を公開ファイル
に登録し、 署名者装置は乱数発生器及び剰余付き計算器を用いて、
発生された乱数g,p,x及び該乱数の一部を入力として、
剰余計算 α=gx(mod p) を行った結果得られる値αを検査用鍵として公開する公
開情報(g,p,α)を生成して、センタ装置の公開ファイ
ルに登録し、 署名者装置はメッセージmに対応して剰余付き計算機を
用いて計算した署名sを複数の検証者装置にそれぞれ送
信し、 最終検証者装置は、メッセージmと生成した第1の乱数
a2,b2と検証用情報中の公開情報gから剰余付き計算器
を用いて第1の通信文 X2=ma2・gb2(mod p) を計算して、該メッセージmと共に中間の検証者装置に
送信し、 中間の検証者装置は、該第1の通信文X2と乱数発生器を
用いて生成した第2の乱数q2,u2,v2とから剰余付き計算
器を用いて剰余計算 X1=X2・gq2・mu2・gv2 を行い、第2の通信文X1を生成して、メッセージmと共
に前の検証者装置または、署名者装置に送信し、 署名者装置は、受信した第2の通信文X1及びメッセージ
mに基づいて、剰余付き計算器で Y1=X1・gq1(mod p) Z1=Y1 x1(mod p) を計算して第3の通信文(Y1,Z1)として中間の検証者
装置に送信し、 中間の検証者装置は該第3の通信文(Y1,Z1)から剰余
付き計算器を用いて、 Y2=Y1/(mu2・gv2)(mod p) Z2=Z1/(su2・αv2)(mod p) を計算し、第4の通信文(Y2,Z2)として次の検証者装
置に送信することにより、該第4の通信文(Y2,Z2)を
受信した最終の検証者装置は、第1の乱数a2,b2を中間
の検証者装置に送信し、 中間の検証者装置は、受信した第1の乱数a2,b2が先に
受信した該第1の通信文X2に対して X2=ma2・gb2(mod p) を満たす場合には正当であるという検査を行い、合格な
ら第2の乱数q2,u2,v2及び第1の乱数a2,b2から加算器
により、 a1=a2+u2 b1=b2+q2+v2 を計算して得た第3の乱数(a1,b1)を前の検証者装置
または、署名者装置に送信し、 署名者装置により受信した第3の乱数(a1,b1)が先に
受信した該第2の通信文X1に対して、 X1=ma1・gb1(mod p) を満たすかを検査して、合格なら第4の乱数q1を該署名
者装置より該中間の検証者装置に送信し、 中間の検証者装置により、受信した第4の乱数q1と共に
受信した第3の通信文(Y1,Z1)と先に送信した第3の
乱数(a1,b1)とがメッセージmと署名sに対して、 Y1=ma1・gb1+q1(mod p) Z1=sa1・αb1+q1(mod p) を満たすかにより正当なことを確認させて、合格ならば
正当な署名であると判断すること を特徴とする署名の多重検証方法。
1. A method for sequentially verifying a digital signature of a message digitized by a plurality of verifier devices, wherein a center device registers verification information of the signer device in a public file, and the signer device generates a random number. Using a calculator and a calculator with a remainder,
With the generated random numbers g, p, x and a part of the random numbers as inputs,
Generates public information (g, p, α) that publishes the value α obtained as a result of performing the remainder calculation α = g x (mod p) as a test key, registers it in a public file of the center device, and signer The device transmits a signature s calculated using a computer with a remainder to each of the plurality of verifiers in response to the message m, and the final verifier transmits the message m and the generated first random number.
A first message X 2 = m a2 · g b2 (mod p) is calculated from a2, b2 and the public information g in the verification information using a calculator with a remainder, and the message verb is used as an intermediate verifier. The intermediate verifier transmits a remainder X using a calculator with a remainder to the first message X 2 and a second random number q2, u2, v2 generated using a random number generator. 1 = X 2 · g q2 · m u2 · g v2 to generate a second message X 1 and send it to the previous verifier device or signer device together with the message m. Based on the received second message X 1 and message m, a calculator with remainder calculates Y 1 = X 1 · g q1 (mod p) Z 1 = Y 1 x1 (mod p) The message is transmitted to the intermediate verifier as a message (Y 1 , Z 1 ), and the intermediate verifier uses a calculator with a remainder from the third message (Y 1 , Z 1 ) to obtain Y 2 = Y 1 / (m u2 · g v2) (mod p) Z 2 = Z 1 / (s u2 · α v2 ) (mod p) is calculated and transmitted to the next verifier apparatus as the fourth message (Y 2 , Z 2 ), whereby the fourth message is obtained. The final verifier apparatus that has received (Y 2 , Z 2 ) transmits the first random number a2, b2 to the intermediate verifier apparatus, and the intermediate verifier apparatus receives the received first random number a2, b2 There inspects that it is justified in the case of satisfying the communication sentence of the first previously received X 2 with respect to X 2 = m a2 · g b2 (mod p), a second random number q2 if passed, u2 , v2 and the third random number (a1, b1) obtained by calculating a1 = a2 + u2 b1 = b2 + q2 + v2 from the first random number a2, b2 by the adder to the previous verifier device or signer device. , checks third random number received by the signer apparatus (a1, b1) is the communication sentence X 1 of the second previously received satisfies X 1 = m a1 · g b1 (mod p) And if it passes, the fourth random number q1 is sent from the signer device to the Transmitted to the verifier apparatus between, the intermediate of the verifier device, a third random number transmitted third communication sentence received with a fourth random number q1 received (Y 1, Z 1) and above (a1, b1) is valid for the message m and the signature s by satisfying Y 1 = m a1 · g b1 + q1 (mod p) Z 1 = s a1 · α b1 + q1 (mod p) A signature verification method that, if passed, determines that the signature is valid.
【請求項2】複数の検証者装置で電子化されたメッセー
ジのディジタル署名を複数の検証者装置によって順次検
証する方法において、 センタ装置は、署名者装置の検証用情報を公開ファイル
に登録し、 署名者装置は乱数発生器及び剰余付き計算器を用いて、
発生された乱数g,p,x及び該乱数の一部を入力として、
剰余計算 α=gx(mod p) を行った結果得られる値αを検査用鍵として公開する公
開情報(g,p,α)を生成して、センタ装置の公開ファイ
ルに登録し、 署名者装置はメッセージmに対応して剰余付き計算器を
用いて、 Y2=ma2・gb2+q(mod p) Z2=sa2・αb2+q(mod p) により計算した署名sを複数の検証者装置にそれぞれ送
信し、 最終検証者装置は乱数発生器と剰余付き計算器を用いて
第1の乱数(e2,β2)を生成して、該第1の乱数(e2,
β2)を第1成分(e2)と第2成分(β2)に分けて、
剰余計算器により a2=mβ2・a2・ge2(mod p) b2=fβ2・b2・α1e2(mod p) により第1の通信文(a2,b2)を計算して、メッセージ
mと共に中間の検証者装置に送信し、 中間の検証者装置は乱数発生器を用いて(e1,β1)を
生成し、剰余付き計算器を用いて、 a1=mβ1・ge1(mod p) b1=fβ1・αe1(mod p) により第2の通信文(a1,b1)を計算して、メッセージ
mと共に署名者装置に送信し、 署名者装置は、関係式 (f/mxγ=b1/a1 x(mod p) で表され、通信文、署名、メッセージが与えられたと
き、署名用鍵を用いてある範囲(0から2kまで)の整数
の値γを調べることによって該関係式を満たすγの値
(但し、mはメッセージ、fは署名、xは検査用鍵、
a1,b1は、第2の通信文、(mod p)は、b1/a1 xを素数
pで割った剰余を示す)を求め、 γの値により、コミットメント関数の値δ=BC(γ1)
を該中間の検証者装置に送信し、 中間の検証者装置は、コミットメント関数δ=BC(γ
1)を用いて計算された値に減算器を用いて、 δ2=δ1−BC(β1) を計算し、その計算値δ2を次の検証者装置に送信し
て、最終的に最終検証者装置に送信し、 最終検証者装置は該中間の検証者装置に第1の乱数の第
1成分e2として生成した値を該第2の乱数として送信
し、 中間の検証者装置は、加算器により該第3の乱数eを第
2の乱数e2と第2の通信文を計算するときに用いた乱数
e1により、 e=e1+e2 求め、第3の乱数を署名者装置に送信し、 署名者装置は該中間の検証者装置より受信した第3の乱
数eが先に受信した第2の通信文(a1,b1)に対して、
γの値が、メッセージm、署名fに対して予め定められ
た関係式 (a1,b1)={mγ1g(mod p), fγ1・α(mod p)} を満たす検査を行い、合格なら該γの値を該中間の検証
者装置に送信し、 中間の検証者装置は該γ1と第2の通信文を計算すると
きに用いた乱数β1から減算器を用いて、 γ2=γ1−β1 により第4の乱数γ2を求め、該第4の乱数γ2と第1
の通信文(a2,b2)がメッセージmに対する署名fでな
いことを剰余付き計算器及び比較器を用いて、 (a2,b2)={mγ2・ge2(mod p), fγ2・αe2(mod p)} を満たすかを確認して、合格ならば、該第4の乱数γ2
を最終検証者装置に送信し、 最終検証者装置は、該第4の乱数γ2と該第1の乱数の
第2成分β2が等しいことを確認して、合格ならば署名
fがメッセージmに対する署名でないと判断することを
特徴とする署名の多重検証方法。
2. A method for sequentially verifying a digital signature of a message digitized by a plurality of verifier devices by a plurality of verifier devices, wherein the center device registers verification information of the signer device in a public file, The signer device uses a random number generator and a calculator with a remainder,
With the generated random numbers g, p, x and a part of the random numbers as inputs,
Generates public information (g, p, α) that publishes the value α obtained as a result of performing the remainder calculation α = g x (mod p) as a test key, registers it in a public file of the center device, and signer The apparatus uses a calculator with a remainder in response to the message m, and calculates the signature s calculated by Y 2 = m a2 · g b2 + q (mod p) Z 2 = s a2 · α b2 + q (mod p) The final verifier device generates a first random number (e2, β2) using a random number generator and a calculator with a remainder, and sends the first random number (e2,
β2) is divided into a first component (e2) and a second component (β2),
A2 = m β2 · a2 · ge2 (mod p) b2 = f β2 · b2 · α1 e2 (mod p) is calculated by the remainder calculator, and the first message (a2, b2) is calculated along with the message m. And the intermediate verifier generates (e1, β1) using a random number generator and a1 = m β1 · ge1 (mod p) b1 = The second message (a1, b1) is calculated by f β1 · α e1 (mod p) and transmitted to the signer device together with the message m, and the signer device obtains the relational expression (f / m x ) γ = b 1 / a 1 x (mod p), given a message, signature, or message, by examining an integer value γ in a certain range (from 0 to 2k) using a signature key. The value of γ that satisfies the relational expression (where m is a message, f is a signature, x is a test key,
a 1 , b 1 are the second message, (mod p) is the remainder of b 1 / a 1 x divided by the prime p), and the value of the commitment function δ = BC (Γ1)
Is transmitted to the intermediate verifier, and the intermediate verifier transmits a commitment function δ = BC (γ
Using a subtractor on the value calculated using 1), δ2 = δ1-BC (β1) is calculated, and the calculated value δ2 is transmitted to the next verifier device, and finally the final verifier device The final verifier transmits the value generated as the first component e2 of the first random number as the second random number to the intermediate verifier, and the intermediate verifier transmits the value to the intermediate verifier by an adder. The third random number e is used as the second random number e2 and the random number used in calculating the second message.
According to e1, e = e1 + e2 is obtained, and the third random number is transmitted to the signer apparatus. The signer apparatus receives the third random number e received from the intermediate verifier apparatus in the second message (a1 , b1)
the value of γ is, the message m, a predetermined relationship with respect to signature f (a1, b1) = { m γ1 g (mod p), f γ1 · α e (mod p)} inspects satisfying, If it passes, the value of γ is transmitted to the intermediate verifier, and the intermediate verifier uses a subtracter from γ1 and the random number β1 used in calculating the second message, and γ2 = γ1 −β1 is used to determine a fourth random number γ2, and the fourth random number γ2 and the first random number γ2 are calculated.
With remainder with calculator and a comparator that communication sentence (a2, b2) is not signed f for the message m, (a2, b2) = {m γ2 · g e2 (mod p), f γ2 · α e2 (Mod p)} is satisfied, and if passed, the fourth random number γ2
Is transmitted to the final verifier device, and the final verifier device confirms that the fourth random number γ2 is equal to the second component β2 of the first random number. A signature multiple verification method characterized by determining that the signature is not valid.
JP28236490A 1990-10-19 1990-10-19 Multiple signature verification method Expired - Fee Related JP3147373B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28236490A JP3147373B2 (en) 1990-10-19 1990-10-19 Multiple signature verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28236490A JP3147373B2 (en) 1990-10-19 1990-10-19 Multiple signature verification method

Publications (2)

Publication Number Publication Date
JPH04156580A JPH04156580A (en) 1992-05-29
JP3147373B2 true JP3147373B2 (en) 2001-03-19

Family

ID=17651451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28236490A Expired - Fee Related JP3147373B2 (en) 1990-10-19 1990-10-19 Multiple signature verification method

Country Status (1)

Country Link
JP (1) JP3147373B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chaum D.and van Antwerpen H.,"Undeniable signatures,"Lecture Notes in Computer Science,Vol.435,(1990),pp.212−216

Also Published As

Publication number Publication date
JPH04156580A (en) 1992-05-29

Similar Documents

Publication Publication Date Title
EP1136927B1 (en) Anonymous participation authority management system
US20090327141A1 (en) Highly efficient secrecy-preserving proofs of correctness of computation
US20030005305A1 (en) Digital signature validation
CN111178894A (en) Asset type registration, transaction record verification method and system
US11863689B1 (en) Security settlement using group signatures
US10756900B2 (en) Non-repudiation protocol using time-based one-time password (TOTP)
WO2025016760A1 (en) Post-quantum threshold signature
CN112365252B (en) Privacy transaction method and device based on account model and related equipment
Smid et al. Response to comments on the NIST proposed Digital Signature Standard
EP1274055A1 (en) Method and system for confirming the fulfillment of a transition condition in electronic transactions
JP3147373B2 (en) Multiple signature verification method
US11398916B1 (en) Systems and methods of group signature management with consensus
US20240333526A1 (en) Systems and applications for semi-anonymous communication tagging
JP3107313B2 (en) Digital signature method
JP3131907B2 (en) Digital signature method
Fajiang et al. An efficient anonymous remote attestation scheme for trusted computing based on improved CPK: Efficient anonymous remote attestation scheme based on ICPK
JP3859983B2 (en) Blind signature method, apparatus thereof, program thereof and recording medium thereof
JP3292342B2 (en) Digital signature method
JP3293461B2 (en) Restricted blind signature method and system
JP3178537B2 (en) Digital signature method
EP3805963A1 (en) Provenance verification for selective disclosure of attributes
JPH04264485A (en) Multiple verification system for digital signature
JP3331487B2 (en) Document information and user validity authentication method and system
Omar Ring Signature Scheme
Ádámkó Security analysis of a „Location-stamping” protocol for GPS coordinates

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees