JP3131907B2 - Digital signature method - Google Patents

Digital signature method

Info

Publication number
JP3131907B2
JP3131907B2 JP03018958A JP1895891A JP3131907B2 JP 3131907 B2 JP3131907 B2 JP 3131907B2 JP 03018958 A JP03018958 A JP 03018958A JP 1895891 A JP1895891 A JP 1895891A JP 3131907 B2 JP3131907 B2 JP 3131907B2
Authority
JP
Japan
Prior art keywords
mod
signer
signature
verifier
calculates
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
JP03018958A
Other languages
Japanese (ja)
Other versions
JPH04256994A (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.)
Nippon Telegraph and Telephone Corp
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 JP03018958A priority Critical patent/JP3131907B2/en
Publication of JPH04256994A publication Critical patent/JPH04256994A/en
Application granted granted Critical
Publication of JP3131907B2 publication Critical patent/JP3131907B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、電子化された文書の
稟議/決済、電子投票システム等で、電子的に署名/捺
印を付与するディジタル署名方に関する。
BACKGROUND OF THE INVENTION This invention, approval / settlement of electronic documents, in the electronic voting system, etc., relating to digital signature how to impart electronically signed / stamped.

【0002】[0002]

【従来の技術】ディジタル署名方式の代表的な例とし
て、Chaum のUndeniable 署名法 (David Chaum, Hans v
an Antwerpen, “Undeniable Signatures ”,Crypto89
Abstracts, pp.205-212,(1989), David Chaum “Zero-
Knowledge Undeniable Signatures”, Euro Crypt90 Ab
stracts, pp.419-426, (1990))がある。Chaum のディ
ジタル署名法は、署名の転用不可性と否認拒否性を備え
た安全性の高い方式である。
2. Description of the Related Art As a typical example of a digital signature scheme, Chaum's Undeniable signature scheme (David Chaum, Hans v.
an Antwerpen, “Undeniable Signatures”, Crypto89
Abstracts, pp. 205-212, (1989), David Chaum “Zero-
Knowledge Undeniable Signatures ”, Euro Crypt90 Ab
stracts, pp.419-426, (1990)). Chaum's digital signature method is a highly secure method that has the impossibility of diverting the signature and denial of denial.

【0003】署名の転用不可性とは、メッセージmと署
名sの対応関係(m,s)が署名としての証拠とはなら
ず、署名者がメッセージmと署名sの対応関係の正当性
を検証者との通信によって証明した場合にのみ署名の正
当性を確認できることである。通常のディジタル署名で
は、検証者がメッセージmと署名sの対応関係の正当性
を、署名者と通信せずに確認できるので、(m,s)が
署名の証拠となる。
[0003] The incompatibility of a signature means that the correspondence (m, s) between a message m and a signature s is not proof as a signature, and the signer verifies the validity of the correspondence between the message m and the signature s. Is that the validity of the signature can be confirmed only when the signature is proved by communication with the party. In a normal digital signature, since the verifier can confirm the validity of the correspondence between the message m and the signature s without communicating with the signer, (m, s) is the proof of the signature.

【0004】否認拒否性とは、検証者がメッセージmや
署名sとの対応関係(m,s)の正当性の証明を求めて
いる場合に、署名者が署名が誤っていることを証明でき
ることである。当然のことながら、署名者がメッセージ
mに対する正しい署名sの正当性を否認しようとしても
成功しないことが必要である。Chaum の Undeniable 署
名法は、以下の通りである。 (1)鍵の登録 署名者Aは、署名用鍵xと検査用鍵(g,p,y)を
(1)式 y=gx (mod p) (1) をみたすように生成し、検査用鍵を公開し、署名用鍵を
秘密に管理する。ここで、剰余計算a(mod p) は、aを
pで割ったときの余りを表す。
[0004] Non-repudiation means that the signer can prove that the signature is incorrect when the verifier wants to prove the validity of the correspondence (m, s) with the message m or the signature s. It is. Of course, it is necessary that the signer not succeed in attempting to deny the validity of the correct signature s for the message m. Chaum's Undeniable signature method is as follows. (1) Registration of Key The signer A generates the signature key x and the inspection key (g, p, y) so as to satisfy the expression (1) y = g x (mod p) (1) Make the signing key public and manage the signing key secretly. Here, the remainder calculation a (mod p) represents the remainder when a is divided by p.

【0005】Chaum の署名法は、pが大きいとき、yと
gとpからy=gx (mod p) をみたすxを計算するのが
困難なこと(離散対数問題の困難性)に安全性の根拠を
おく署名法である。利用者の検査用鍵(g,p,y)
は、センタの公開ファイルにて管理され、必要に応じ
て、検証者Bはセンタに問い合わせて(g,p,y)を
払い出してもらう。 (2)署名の作成 署名者Aは、pと署名用鍵xを用いて、メッセージmに
対して(2)式 s=mx (mod p) (2) を計算して署名sを作り、これをメッセージmと共に検
証者Bに送信する(剰余付きの計算は、例えば池野、小
山「現代暗号理論」電子通信学会、pp.16-17,(1986) に
示されている)。 (3)署名の検査 検証者Bは、署名者Aと通信することによって、検査用
鍵を用いて署名sがメッセージmに対する正しい署名で
あることを、(a)の確認手順によって検査する。
[0005] Chaum's signature method has security because it is difficult to calculate x that satisfies y = g x (mod p) from y, g, and p when p is large (the difficulty of the discrete logarithm problem). This is the signature method that is based on. User's inspection key (g, p, y)
Is managed in a public file of the center, and the verifier B inquires the center to pay out (g, p, y) as necessary. (2) Creation of Signature The signer A creates the signature s by calculating the expression (2) s = mx (mod p) (2) for the message m using p and the signature key x, This is transmitted together with the message m to the verifier B (the calculation with the remainder is shown, for example, in Ikeno and Koyama, “Modern Cryptography Theory”, IEICE, pp. 16-17, (1986)). (3) Signature Verification By communicating with the signer A, the verifier B verifies that the signature s is a correct signature for the message m by using the verification key according to the verification procedure of (a).

【0006】一方、もし、署名sがメッセージmに対す
る正しい署名でない場合(以降では、改ざんされた署名
をtで表わす)には、署名者Aは(b)の否認手順によ
って証明する。 (a)確認手順 ステップ1 検証者Bは、2つの乱数aとbを生成し
て、(3)式を計算して通信文Xを X=ma ・gb (mod p) (3) 作り、これをメッセージmと署名sと共に署名者Aに送
信する。
On the other hand, if the signature s is not a correct signature for the message m (hereinafter, the falsified signature is represented by t), the signer A certifies by the rejection procedure of (b). (A) Check Procedure verifier B generates two random numbers a and b, (3) the communication text X by calculating the equation X = m a · g b ( mod p) (3) Making Is transmitted to the signer A together with the message m and the signature s.

【0007】ステップ2 署名者Aは、乱数qを生成し
て、(4)、(5)式を計算して通信文(Y,Z)を Y=X・gq (mod p) (4) Z=Yx (mod p) (5) 作り、これを検証者Bに送信する。
Step 2 The signer A generates a random number q, calculates equations (4) and (5), and converts the message (Y, Z) into Y = X · g q (mod p) (4) Z = Y x (mod p) (5) is created and transmitted to the verifier B.

【0008】ステップ3 検証者Bは、2つの乱数aと
bを署名者Aに送信する。ステップ4 署名者Aは、受
信したaとbが、先に受信した通信文Xに対して (6)式の関係 X=ma ・gb (mod p) (6) をみたすことを検査して、合格なら、qを検証者Bに送
信する。不合格なら処理を停止する。
Step 3 The verifier B sends the two random numbers a and b to the signer A. Step 4 signer A is received a and b are, verifies that satisfying the communication statement X received in the previous equation (6) relationship X = m a · g b ( mod p) (6) If it passes, q is transmitted to the verifier B. If not, stop the process.

【0009】ステップ5 検証者Bは、受信したq、先
に受信した通信文(Y,Z)、先に生成したaとbが、
検査用鍵の一成分y、メッセージmと署名sに対して
(7)、(8)式の関係 Y=ma ・gb+q (mod p) (7) Z=sa ・yb+q (mod p) (8) をみたすことを確認する。合格ならば、sがmに対する
署名者Aの正しい署名であると判断する。注)ここで、
等号が成立することは、Y=X・gq =(ma ・gb
q =ma ・gb+q (mod p) Z=Yx =(ma
b+q x =(mx a ・(gx b+q =sa ・yb+q
(modp) より明らかである。 (b)否認手順 ステップ1 検証者Bは、2つの乱数c(O≦c≦k)
と乱数dを生成して、(9)、(10)式を計算して通
信文(V,W)を V=mc ・gd (mod p) (9) W=tc ・yd (mod p) (10) 作り、これをメッセージmと署名tと共に署名者Aに送
信する(ここでkは安全性のパラメータでありAとBが
予め合意した値である)。
Step 5 The verifier B determines that the received q, the previously received message (Y, Z), and the previously generated a and b are:
A component y of the test key, to the message m and the signature s (7), (8) type of relationship Y = m a · g b + q (mod p) (7) Z = s a · y b + Check that q (mod p) (8) is satisfied. If it passes, it is determined that s is the correct signature of signer A for m. Note) where
The equality is satisfied, Y = X · g q = (m a · g b)
g q = m a · g b + q (mod p) Z = Y x = (m a ·
g b + q ) x = ( mx ) a · (g x ) b + q = s a · y b + q
(modp). (B) Denial procedure Step 1 Verifier B uses two random numbers c (O ≦ c ≦ k)
And a random number d are generated, and equations (9) and (10) are calculated and the message (V, W) is calculated as follows: V = mc · g d (mod p) (9) W = t c · y d ( mod p) (10) and sends it to signer A along with message m and signature t (where k is a security parameter and A and B have agreed in advance).

【0010】ステップ2 署名者Aは、rを1からkま
で取り直して (t/mx r =W/VX (mod p) (11) をみたすrを求めて、rのコミットメント関数の値e=
BC(r)を検証者Bに送信する(ここでコミットメン
ト関数とは、rに対してBC(r)=BC(r′)をみ
たすr′を見つけるのが困難な関数である)。
Step 2 The signer A obtains r that satisfies (t / m x ) r = W / V x (mod p) (11) by taking r again from 1 to k, and obtains the value of the commitment function of r. e =
BC (r) is transmitted to the verifier B (here, the commitment function is a function for which it is difficult to find r 'that satisfies BC (r) = BC (r')).

【0011】コミットメント関数BCの構成例は、Gill
es Brassard, Claude Crepeau:“Non-transitive trans
fer of confidence: A perfect zero-knowledge intera
ctive protocol for SAT and beyond ”, FOCS'86,pp.1
88-195 に示されている。ステップ3 検証者Bは、乱
数dを署名者Aに送信する。ステップ4 署名者Aは、
受信したdが、通信文(V,W)に対して (V,W)=(mr d (mod p) ,tr d (mod p) )
(11a) をみたすことを確認する。成立すれば、rを検証者Bに
送信する。成立しなければ、検証者Bが検証以外のこと
に不正利用していると判断して処理を停止する。
An example of the configuration of the commitment function BC is Gill
es Brassard, Claude Crepeau: “Non-transitive trans
fer of confidence: A perfect zero-knowledge intera
ctive protocol for SAT and beyond ”, FOCS'86, pp.1
88-195. Step 3 The verifier B sends the random number d to the signer A. Step 4 Signer A
Received d is, the communication sentence (V, W) (V, W) = (m r g d (mod p), t r y d (mod p))
Make sure that (11a) is satisfied. If it is established, r is transmitted to the verifier B. If the condition is not satisfied, it is determined that the verifier B has illegally used the purpose other than the verification, and the process is stopped.

【0012】ステップ5 検証者Bは、受信したrがe
=BC(r)をみたし、さらにr=cが成り立つことを
確認する。ステップ6 上記のステップをZ回繰り返
し、署名の非正当性を確認する(ここでZは安全性のパ
ラメータであり、署名者Aと検証者Bとが予め合意した
値である)。
Step 5 The verifier B confirms that the received r is e
= BC (r), and further confirms that r = c holds. Step 6 The above steps are repeated Z times to confirm the invalidity of the signature (where Z is a security parameter, and the signer A and the verifier B have agreed in advance).

【0013】以上のようにして、確認手順で、正しい署
名であれば、これが確認され、正しくない署名であれ
ば、正しい署名とは認識されない。この確認手順では正
しい署名者が、正しい署名でないと偽わることができな
いことは保証されない。しかし否認手順で、正しくない
署名を正しくないと認識し、正しい署名を正しくないと
認識できないから、正しい署名者が偽わって正しい署名
を自己の署名でないと否認することができない。
As described above, in the confirmation procedure, if the signature is correct, the signature is confirmed. If the signature is incorrect, the signature is not recognized as a valid signature. This verification procedure does not guarantee that the correct signer cannot falsify without a correct signature. However, in the denial procedure, an incorrect signature is recognized as incorrect, and a correct signature cannot be recognized as incorrect. Therefore, a correct signer cannot deny that a correct signature is not his / her own signature.

【0014】[0014]

【発明が解決しようとする課題】このChaum の方法は発
明の効果の項で後述するように署名者、検証者の各処理
量が多く、また通信回数が多い欠点があった。電子化さ
れた文書の稟議/決済、電子投票システム等では、文書
に付与された電子的な署名/捺印の真偽を確認したいと
いう要求がしばしば生じる。
The Chaum's method has the drawbacks that the signer and the verifier require a large amount of processing and that the number of communications is large, as will be described later in the section of the effect of the invention. In a request / payment of an electronic document, an electronic voting system, and the like, a request often arises to confirm the authenticity of an electronic signature / seal attached to the document.

【0015】Chaum の方法を考察した場合、この目的に
かなうものであるが、署名の確認、ないし否認の手順と
に、それぞれ異なる手続きを用いている。このため、こ
れの実現においては、異なる装置(ないしソフトウエ
ア)を2種類用意し、その目的に応じてどちらかの装置
を選択して運用しなければならないことになる。更にCh
aum の方法は、確認の手順は1回で終了するが、否認の
手順は複数回繰り返す必要があり、ステップ1〜5を並
列的に行って複数の通信文を同時に送信した場合には、
安全性は保証されない。
When Chaum's method is considered, it fulfills this purpose, but uses different procedures for signature verification or denial. Therefore, in realizing this, it is necessary to prepare two types of different devices (or software), and to select and operate one of them according to the purpose. Further Ch
In the aum method, the confirmation procedure is completed once, but the denial procedure must be repeated a plurality of times. If steps 1 to 5 are performed in parallel and a plurality of messages are transmitted at the same time,
Security is not guaranteed.

【0016】この発明の目的は処理量が少なく、かつ通
信回数も少なく、しかも署名の確認、否認手順を同じ手
続きで行うことが可能なディジタル署名方を提供する
ことにある。
An object has less amount of processing, and the number of communications is small and moreover confirmation of the signature is to provide a digital signature how that can perform denial procedure in the same procedure of the present invention.

【0017】[0017]

【課題を解決するための手段】この発明によれば署名者
は署名用鍵xを用いてこれと対応する公開情報yを生成
し、そのyを公開し、署名者はメッセージmに対し、署
名用鍵xを用いて署名sを作り、これらmとsとを検証
者へ送信し、検証者はmとsとの対を署名者へ送信し、
署名者は乱数v0 とv1 を用いて検証用情報A0 とA1
とを生成して検証者へ送信し、検証者は乱数qi
{0,1}を発生し、qi =0の時はA0 を、qi =1
の時はA1 、つまりAqiを用いて、これらと乱数ui
から複数の通信文Qi を生成して、署名者へ送信し(i
=1,2,…,8)、署名者は乱数r i と公開情報yと
関連した情報とを用いて複数の鍵検証用通信文X1iを生
成し、またri とメッセージmとを用いて複数の署名検
証用通信文X2iとを生成してX 1i,X2iを検証者へ送信
し、検証者はqi ,ui を署名者へ送信し、署名者は受
信したqi ,ui と先に受信したQi とからそのqi
正当性を確認し、ri ,qi ,xから複数の通信文Yi
を生成し、これとv0 ,v1 とを検証者へ送信し、検証
者は受信したv0 ,v1 を用いて先に受信した検証用情
報A0 ,A1 の正当性を検証し、Yi とX1iとyとqi
とを用いて鍵xの正当性と、Yi とX2iとmとqi とを
用いて署名sの正当性とを検証する。
According to the present invention, a signer is provided.
Generates the corresponding public information y using the signature key x
And publishes the y, and the signer signs the message m.
Create signature s using name key x and verify these m and s
And the verifier sends the pair of m and s to the signer,
The signer is a random number v0And v1Information A for verification using0And A1
Is generated and transmitted to the verifier, and the verifier checks the random number qi
{0,1} is generated and qiA when = 00To qi= 1
A time1That is, Aqi, And these and the random number uiWhen
To multiple messages QiIs generated and transmitted to the signer (i.
= 1, 2, ..., 8), and the signer is a random number r iAnd public information y
A plurality of key verification messages X using related information1iRaw
And riMultiple signature verifications using
Certificate message X2iAnd generate X 1i, X2iSend to verifier
And the verifier is qi, UiTo the signer, and the signer
Qi, UiAnd Q received earlieriAnd from that qiof
Check for legitimacy, ri, Qi, X, multiple messages Yi
And this and v0, V1Is sent to the verifier and verified.
Who received v0, V1Verification information received earlier using
Report A0, A1Verify the correctness of YiAnd X1iAnd y and qi
And the validity of key x and YiAnd X2iAnd m and qiAnd
Is used to verify the validity of the signature s.

【0018】[0018]

【作用】このようにこの発明では、署名鍵の正当性を示
す手順と署名の正当性を示す手順を同時に行うことによ
り、従来方式では独立な手続きで行われていた署名の確
認手順と否認手順とを同一の手続きで行え、装置を簡略
化することができる。また、Mihir Bellare, Silvio Mi
cali, Rafail Ostrovsky:“Perfect zero-knowledge i
n constant rounds ”,STOC'90, pp.482-493 に示され
ている手法を用いることにより、署名の確認・否認手順
を1回で行えるようにし、通信の繰り返し回数を削減す
ることができる。
As described above, according to the present invention, the procedure for verifying the validity of the signature key and the procedure for verifying the validity of the signature are performed at the same time. Can be performed by the same procedure, and the apparatus can be simplified. Mihir Bellare, Silvio Mi
cali, Rafail Ostrovsky: “Perfect zero-knowledge i
By using the method described in “n constant rounds”, STOC'90, pp. 482-493, it is possible to perform the signature confirmation / rejection procedure only once, and to reduce the number of communication repetitions.

【0019】[0019]

【実施例】以下では、この発明の一実施例について説明
する。図1はこの発明が適用されるシステムの構成例を
示す。公開ファイル100が署名者装置200及び検証
者装置500とそれぞれ各別の安全な通信路300を介
して結合され、署名者装置200と検証者装置500と
は安全でない通信路400を介して結合されているとす
る。図2に公開ファイル100の内容を示す。システム
に共通な情報p,qが登録され、また各利用者対応に公
開情報が登録されている。図3にこの発明の通信シーケ
ンス例を示し、図4及び図5に署名者装置200の構成
例を示し、図6及び図7に検証者装置500の構成例を
示す。 (1)鍵の登録 署名者Aがシステムに加入するとき、剰余付き計算器2
10を用いて公開情報yを生成して公開ファイル100
に登録する。公開ファイルには、システム内一意の共通
情報として(g,p)が公開されている(但し、p:素
数、g:原始根)。
An embodiment of the present invention will be described below. FIG. 1 shows a configuration example of a system to which the present invention is applied. The public file 100 is coupled to the signer device 200 and the verifier device 500 via respective secure communication channels 300, and the signer device 200 and the verifier device 500 are coupled to each other via the insecure communication channel 400. Suppose FIG. 2 shows the contents of the public file 100. Information p and q common to the system are registered, and public information is registered for each user. FIG. 3 shows an example of a communication sequence according to the present invention, FIGS. 4 and 5 show examples of the configuration of the signer apparatus 200, and FIGS. 6 and 7 show examples of the configuration of the verifier apparatus 500. (1) Registration of key When signer A joins the system, a computer with remainder 2
, Generating public information y using public file
Register with. In the public file, (g, p) is disclosed as common information unique in the system (however, p: prime number, g: primitive root).

【0020】ステップ1 署名者Aは、乱数発生器20
5を用いて署名用鍵xを生成して、xとpとgから剰余
つき計算器210を用いて公開情報yを次式、y=gx
(mod p) (12) で計算して、公開ファイル100に登録する。 (2)署名の作成 以降では、署名者Aがメッセージmに署名する場合につ
いて説明する。
Step 1 The signer A uses the random number generator 20
5, a public key y is calculated from x, p, and g by using a calculator 210 with a remainder, and y = g x
(mod p) Calculated in (12) and registered in the public file 100. (2) Creation of Signature Hereinafter, a case where the signer A signs the message m will be described.

【0021】ステップ2 署名者Aは、剰余つき計算器
215を用いて公開情報pと署名用鍵xとから、メッセ
ージmに対して次式 s=mx (mod p) (13) で署名sを計算して、mとsの対を検証者Bに送信す
る。 (3)署名の検査 検証者Bは、署名者Aと通信することによって、署名s
が署名者Aのメッセージmに対する正しい署名であるこ
とを、または、署名sがメッセージmに対する正しい署
名でないことを検査する。
Step 2 The signer A uses the remainder information calculator 215 to derive a signature s for the message m from the public information p and the signature key x using the following equation s = mx (mod p) (13) And sends the pair of m and s to the verifier B. (3) Signature Inspection The verifier B communicates with the signer A to obtain the signature s.
Is the correct signature for signer A's message m, or that signature s is not the correct signature for message m.

【0022】ステップ3 検証者Bは、検査したいメッ
セージと署名の対(m,s)を署名者Aに送信する。ス
テップ4 署名者Aは、乱数発生器220を用いて乱数
0 とv1 を生成して、これらと公開情報p,qとを用
いて剰余付き計算器225,230で検証用情報A0
1を次式の A0 =gvo(mod p) (14) A1 =gv1 (mod p) (15) 計算により作成して、検証者Bに送信する。
Step 3 The verifier B transmits the pair (m, s) of the message and the signature to be inspected to the signer A. Step 4 The signer A generates random numbers v 0 and v 1 using the random number generator 220, and uses these and the public information p and q to generate the verification information A 0 ,
A 1 is created by the following equation: A 0 = g vo (mod p) (14) A 1 = g v1 (mod p) (15) The calculation is sent to the verifier B.

【0023】ステップ5 検証者Bは、乱数発生器51
0を用いて乱数qi∈{0,1}(i=1,…,z)と
i (i=1,…,z)を生成して、qi =0の時はA
0 を用い、qi =1の時はA1 を用いて剰余付き計算器
505及び515により下記(16)式の通信文Q
i (i=1,…,z)を Qi =Aqiui (mod p) (16) で計算して、署名者Aに送信する(ここでzは安全性の
パラメータであり署名者Aと検証者Bとが予め合意した
値である)。
Step 5 The verifier B uses the random number generator 51
The random numbers q i {0, 1} (i = 1,..., Z) and u i (i = 1,..., Z) are generated using 0, and when q i = 0, A
0, and when q i = 1, the remainders of the calculators 505 and 515 use A 1 to calculate the message Q of the following equation (16).
i (i = 1,..., z) is calculated by Q i = A qig g ui (mod p) (16) and transmitted to signer A (where z is a security parameter and signer A And the verifier B agree in advance).

【0024】ステップ6 署名者Aは、乱数発生器23
5を用いて乱数ri(i=1,…,z)を生成し、ri
と、公開情報y1 つまり公開情報p,gとを用いて次の
(17)式を剰余付き計算器240で計算して鍵検証用
通信文X1iを作り、またri とmとpとを用いて次の
(18)式を剰余付き計算器245で計算して署名検証
用通信文X2i(i=1,…,z)を作り、 X1i=gri(mod p) (17) X2i=mri(mod p) (18) これら通信文X1i,X2iを検証者Bに送信する。
Step 6 The signer A uses the random number generator 23
5 random number r i (i = 1, ... , z) was used to generate, r i
If, public information y 1, that public information p, by using the g make calculations to key verifying communication statement X 1i in the remainder with calculator 240 the following equation (17), also a r i and m and p The following equation (18) is calculated by the calculator 245 with the remainder to generate a signature verification message X 2i (i = 1,..., Z), and X 1i = g ri (mod p) (17) X 2i = m ri (mod p) (18) These messages X 1i and X 2i are transmitted to the verifier B.

【0025】ステップ7 検証者Bは、(qi ,ui
(i=1,…,z)を署名者Aに送信する。ステップ8
署名者Aは、受信したqi ,ui で(16)式を計算
し、この計算結果が先に受信したQi と一致するか否か
を検査して、一致して合格ならば、先に用いたri と署
名用鍵xとqi とから、乗算器260、剰余付き加算器
265を用いて次式の通信文Yi (i=1,…,l)を
計算し、 Yi =ri +qi x(mod p-1) (19) このYi とv0 ,v1 とを、検証者Bに送信する。不合
格ならば、検証者Bの不正を検出したとして処理を停止
する。
Step 7 The verifier B calculates (q i , u i )
(I = 1,..., Z) is transmitted to the signer A. Step 8
The signer A calculates equation (16) with the received q i and u i , checks whether the calculation result matches the previously received Q i, and if they match and passes, the first and a r i and the signature key x and q i using the multipliers 260, communication text Y i (i = 1, ... , l) of using the remainder with the adder 265 the following equation was calculated, Y i = r i + q i x ( mod p-1) (19) the Y i and v 0, v 1 and sends to the verifier B. If not, the process is stopped assuming that the verifier B has detected the fraud.

【0026】ステップ9 検証者Bは、受信したv0
1 を用いて剰余付き計算器520,530で(1
4),(15)式をそれぞれ計算し、これら計算結果を
比較器525,535を用いて、それぞれ先に受信した
検証用情報A0 ,A1 と一致するかを検査して、不一致
で不合格ならば、署名者Aの不正を検出したとして処理
を停止する。合格ならば、さらに、先に受信したX1i
yと、qi とpとを用いて剰余付き計算器540でX1i
・yqi(mod p)を演算し、またX2iとsとqi とpとを
用いて剰余付き計算器555でX2i・sqi(mod p)を演
算し、かつ受信したYi とgと、pとを用いて剰余付き
計算器545でgYi(mod p)を演算し、Yi とmとpと
を用いて剰余付き計算器560でmYi(mod p)を演算
し、これらを比較器550,565によりそれぞれ比較
し、受信したYi ,X1i,X2i,先に送信したqi が、
メッセージmと署名sとに対し次の検査式(20),
(21) X1i・yqi=gYi(mod p) (20) X2i・sqi=mYi(mod p) (21) を満たすか否かを検査する。各i(i=1,…,z)に
対してqi =0の時には両検査式を合格することを確認
し、つまりX1i,X2iをri から作ったことを確認し、
署名者Aが不正していないことを検証し、またqi =1
の時には両検査式に合格ならばsがmに対する署名者A
の正当な署名であり、前者の検査式(20)のみに合格
ならばsがmに対する署名者Aの正当な署名でないと判
断する。
Step 9 The verifier B receives the received v 0 ,
v 1 in the remainder with calculators 520, 530 using (1
Equations 4) and (15) are calculated, and the calculated results are checked using comparators 525 and 535 to see if they match the previously received verification information A 0 and A 1 , respectively. If it passes, the processing is stopped assuming that the signer A's fraud has been detected. If it passes, the calculator 540 with the remainder uses X 1i and y and q i and p received earlier to calculate X 1i.
· Y calculates the qi (mod p), also calculates the X 2i · s qi in the remainder with calculator 555 (mod p) by using the X 2i and s and q i and p, and the Y i received and g, calculates the g Yi (mod p) in the remainder with calculator 545 by using the p, calculates the m Yi (mod p) in the remainder with calculator 560 by using the Y i and m and p, These are compared by comparators 550 and 565, respectively, and the received Y i , X 1i , X 2i and the previously transmitted q i are
For the message m and the signature s, the following check expression (20),
(21) X 1i · y qi = g Yi (mod p) (20) X 2i · s qi = m Yi (mod p) to check whether satisfy (21). Each i (i = 1, ..., z) at the time of q i = 0 with respect to confirm that you want to pass both the inspection type, in other words X 1i, the X 2i sure that you have made from the r i,
Verify that signer A is not fraudulent, and q i = 1
In the case of s, if both check expressions pass, s is the signer A for m
If only the former check expression (20) is passed, it is determined that s is not a valid signature of signer A for m.

【0027】このように(20)式が成立している状態
で(21)式が成立すれば正しい署名であると認識し、
(21)式が不成立であれば、正しくない署名であると
認識する。また正しい署名を正しくないと署名者が否認
しようとして、例えば(19)式を満さないYi を送信
すれば、(21)式が成立しないが、(20)式も成立
しないため、つまり鍵の正当性が検証されなくなるか
ら、不正があったと判定される。このようにして正しい
署名を署名者が否認することはできない。このようにし
て署名の確認と否認とを同一手続きで行える。
If equation (21) is satisfied while equation (20) is satisfied, the signature is recognized as being correct.
If the expression (21) is not satisfied, it is recognized that the signature is incorrect. The trying denial correct signature and signature incorrect person, for example (19) by transmitting a is full no Y i the formula, because not satisfied (21), (20) also does not hold, that is the key Is no longer verified, it is determined that there has been fraud. In this way, the correct signature cannot be rejected by the signer. In this way, the signature can be confirmed and rejected by the same procedure.

【0028】検証者にとっては署名の確認と否認とだけ
が得られればよく、例えばqi を漏らしたくない、同様
に署名者はxを漏らしたくない。検証者が例えばxを知
ろうとして不正をしても、ステップ8におけるqi ,u
i と先に受信したQi とによりqi の正当性を検証する
ことにより、検証者の不正を検出できる。同様に署名者
が例えば不正にqi を知ろうとしても、ステップ9にお
けるv0 ,v1 と先に受信したA0 ,A1 との検証によ
り、A0 ,A1 の正当性を検証して、署名者の不正を検
出することができる。更にA0 ,A1 に関する情報を複
数同時に送り、かつ通信文X1i,X2iも複数同時に送っ
ているが、qi ,ui とQi との確認、v0 ,v1 とA
0 ,A1 との確認も行うことにより、全体として安全性
が保証される。
The verifier only needs to confirm and reject the signature. For example, he does not want to leak q i , and similarly, he does not want to leak x. If the verifier cheats, for example, to know x, q i , u in step 8
By verifying the validity of q i using i and the previously received Q i , it is possible to detect the verifier's fraud. Similarly, signer as will know illegally q i For example, the verification with A 0, A 1 to v 0, v received in 1 and the leading in Step 9, to verify the validity of A 0, A 1 Thus, the signer's fraud can be detected. Moreover A 0, A 1 information multiple simultaneous feed about, and the communication statement X 1i, although sending X 2i also several simultaneously, q i, confirmed the u i and Q i, v 0, v 1 and A
0, by performing also confirmed with A 1, safety is ensured as a whole.

【0029】[0029]

【発明の効果】この発明の方とChaum の方式とを比較
すると下記のようになる。但し、Chaum の方式もこの発
明の方も鍵の生成、署名の作成の手順においては相違
がないので、以下、署名の検査・否認の手順のみについ
て考察する。 (1)検証者の処理量 まず、Chaum の方式では、確認の手順で、乱数生成2
回、べき乗演算6回、乗算3回、加算1回が必要であ
り、否認の手順で、乱数生成2z回、べき乗演算4z
回、乗算2z回、コミットメント関数の計算z回が必要
であり、計、乱数生成2z+2回、べき乗演算4z+6
回、乗算2z+3回、加算1回、コミットメント関数の
計算z回が必要である。
[Effect of the Invention] When comparing the scheme of how the Chaum of the present invention is as follows. However, generation of even the key way also the present invention method of Chaum, since there is no difference in the procedure of creating a signature will now be discussed only procedure for inspection and denial of signature. (1) Verifier's processing volume First, in Chaum's method, the random number generation 2
Times, exponentiation 6 times, multiplication 3 times, and addition 1 time are required, and in the denial procedure, random number generation 2z times, exponentiation operation 4z
Times, multiplication 2z times, it requires calculating z times commitment function, total, random number generation 2z + 2 times, base Ki multiply operation 4z + 6
Times, multiplication 2z + 3 times, addition once, and calculation of commitment function z times are required.

【0030】一方、この発明方においては、確認、お
よび、否認のどちらの手順においても、乱数生成2z
回、べき乗演算3z+2回、乗算3z回だけを行えばよ
い。従ってこの発明方の方が処理量が少ない。 (2)署名者の処理量 Chaum の方式では、確認の手順で、乱数生成1回、べき
乗演算2回、乗算1回が必要であり、否認の手順で、べ
き乗演算(k+6)z回、乗算2回、除算2回、コミッ
トメント関数の計算z回が必要であり、計、乱数生成1
回、べき乗演算(k+6)z+2回、乗算2z+1回、
除算2z回、コミットメント関数の計算z回が必要であ
る。
[0030] On the other hand, in the present invention how, confirmation, and, in either of the denial procedure, random number generation 2z
, Power operation 3z + 2 times, and multiplication 3z times only. Thus the processing volume towards the invention how small. (2) Signer's Processing Amount Chaum's method requires one random number generation, two exponentiation operations, and one multiplication in the confirmation procedure, and a power operation (k + 6) z times, multiplication in the denial procedure. Two times, two divisions, and z calculations of the commitment function are required.
Times, exponentiation operation (k + 6) z + 2 times, multiplication 2z + 1 times,
It requires 2 z divisions and z calculations of the commitment function.

【0031】一方、この発明方においては、確認、お
よび、否認のどちらの手順においても、乱数生成z+2
回、べき乗演算2z+2回、乗算z回、剰余付き加算z
回だけを行えばよい。この発明方の方が処理量が少な
い。 (3)システム内の通信量 以下、p,m,a,b,q,e,d,v0 ,v1
i ,ui をそれぞれを500ビットとして比較する。
On the other hand, in the present invention how, confirmation, and, in either of avoidance procedure, the random number generation z + 2
Times, exponentiation 2z + 2 times, multiplication z times, addition z with remainder
You only need to do it once. Processing amount lesser of the invention how. (3) Traffic volume in the system Hereafter, p, m, a, b, q, e, d, v 0 , v 1 ,
q i and u i are compared with each other as 500 bits.

【0032】Chaum の方式においては、確認の手順で、
8×500ビットの通信量を必要とし、否認の手順で
は、7×500×zビットの通信量を必要とする。すな
わち、全体として必要な通信量は、 3500z+4000ビット である。
In Chaum's method, the confirmation procedure is as follows:
The communication volume of 8 × 500 bits is required, and the denial procedure requires a communication volume of 7 × 500 × z bits. That is, the communication amount required as a whole is 3500z + 4000 bits.

【0033】一方、この発明方は、確認と否認の手順
のどちらにおいても、それに必要な通信量は、2501
z+2000ビットであり、合計、5002z+400
0ビットの通信量が必要となる。しかし、Chaum の方式
では、手続きの通信回数が、確認の手順で、5回である
のに対し、否認の手順では、5z回必要とする。
[0033] On the other hand, the present invention how is, and in both of even denial of the procedure, it required communication amount is confirmed, 2501
z + 2000 bits, for a total of 5002z + 400
A communication amount of 0 bits is required. However, in the Chaum system, the number of communication times of the procedure is 5 in the confirmation procedure, whereas 5z times are required in the denial procedure.

【0034】一方、この発明方は、確認と否認の手順
のどちらにおいても、それに必要な通信回数は7回であ
り、この発明方では通信回数が削減されていることが
分かる。 (4)装置の構成 Chaum の方式においては、署名者が、署名の検査を依頼
されたときに、それの正当性を判断して、それに応じ
て、確認、ないし、否認の手順を選択して通信を実行す
るが、その際、確認/否認それぞれに専用の装置を必要
とする。
On the other hand, the present invention how, in both the confirmation and denial procedure also it required communication number is seven times, it can be seen that has been reduced the number of communications in the present invention how. (4) Configuration of Device In Chaum's method, when a signer is requested to check a signature, the signer judges the validity of the request and selects a confirmation or denial procedure accordingly. Communication is performed, and at that time, a dedicated device is required for each of confirmation / denial.

【0035】しかし、この発明方においては、確認と
否認の手順を同一にしたため、確認/否認それぞれを同
一装置で実現でき、通信装置の規模を削減することがで
きる。 (5)安全性の証明 この発明の方ではz回にわけて通信するかわりに、z
回分の通信を同時に行っているが、この発明の方の安
全性については、Mihir Bellare, Silvio Micali, Rafa
il Ostrovsky:“Perfect zero-knowledge in constant
rounds ”,STOC'90, pp.482-493 に示されている方式
と同様にして証明することができる。
[0035] However, in the present invention how, because of the review and denial of procedures on the same, can be realized, respectively confirmation / denial by the same apparatus, it is possible to reduce the size of the communication device. (5) instead of communicating divided into safety proof in z times how the present invention, z
It is performed a batch of communication at the same time, about the safety of the way of the present invention, Mihir Bellare, Silvio Micali, Rafa
il Ostrovsky: “Perfect zero-knowledge in constant
rounds ", STOC'90, pp.482-493.

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

【図1】この発明が適用されるシステムの構成例を示す
ブロック図。
FIG. 1 is a block diagram showing a configuration example of a system to which the present invention is applied.

【図2】図1中の公開ファイル100の内容例を示す
図。
FIG. 2 is a view showing an example of the contents of a public file 100 in FIG. 1;

【図3】署名者Aと検証者との間の通信シーケンスを示
す図。
FIG. 3 is a diagram showing a communication sequence between a signer A and a verifier.

【図4】署名者装置200の一部を示すブロック図。FIG. 4 is a block diagram showing a part of the signer apparatus 200.

【図5】署名者装置200の他の部分を示すブロック
図。
FIG. 5 is a block diagram showing another part of the signer apparatus 200.

【図6】検証者装置500の一部を示すブロック図。FIG. 6 is a block diagram showing a part of the verifier apparatus 500.

【図7】検証者装置500の他の部分を示すブロック
図。
FIG. 7 is a block diagram showing another part of the verifier apparatus 500.

【符号の説明】[Explanation of symbols]

100 公開ファイル 200 署名者A 300,400 通信路 500 検証者 205,220,235,510 乱数発生器 210,215,225,230,240,245,2
55,265,505,515,520,530,54
0,545,555,560,剰余付き計算器 250,525,535,550,565 比較器 260 乗算器
Reference Signs List 100 public file 200 signer A 300, 400 communication channel 500 verifier 205, 220, 235, 510 random number generator 210, 215, 225, 230, 240, 245, 2
55,265,505,515,520,530,54
0, 545, 555, 560, calculator with remainder 250, 525, 535, 550, 565 comparator 260 multiplier

フロントページの続き (56)参考文献 藤岡,岡本,太田,「対話型双証明方 式とUndeniable署名法」, 1991年電子情報通信学会春季全国大会講 演論文集(1)(1991.3.15),A− 289(p291) (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 INSPEC(DIALOG) JICSTファイル(JOIS)Continuation of the front page (56) References Fujioka, Okamoto, Ota, "Interactive Bi-Proof and Unable Signature Method", Proc. Of the 1991 IEICE Spring Conference (1) (1991.15.1991) ), A-289 (p291) (58) Fields investigated (Int. Cl. 7 , DB name) G09C 1/00-5/00 H04K 1/00-3/00 H04L 9/00 INSPEC (DIALOG) JICST file (JOIS)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 素数pとpの原始根gが公開され、 署名者装置は署名用鍵xを生成し、 y=gx(mod p) を計算して公開情報yを公開し、 署名者装置はメッセージmに対し、 s=mx(mod p) を計算し、mとその署名sを検証者装置へ送信し、 検証者装置はメッセージmとその署名sを署名者装置へ
送信し、 署名者装置はm、sを受信すると、乱数v0とv1を生成
し、p、qを用いて、 A0=gv0 (mod p) A1=gv1 (mod p) をそれぞれ計算し、これら検証用情報A0、A1を検証者
装置へ送信し、 検証者装置はA0、A1を受信すると、乱数qi∈{0,
1}(i=1,…,z)と乱数ui(i=1,…,z)
を生成し、qi=0でA0について、qi=1でA1につい
て、 Qi=Aqiui(mod p) を計算し、通信文Qiを署名者装置へ送信し、 署名者装置はQiを受信すると、乱数ri(i=1,…,
z)を生成し、 X1i=gri(mod p) X2i=mri(mod p) を計算し、これら通信文X1i、X2iを検証者装置へ送信
し、 検証者装置はX1i、X2iを受信すると、(qi,ui
(i=1,…,z)を署名者装置へ送信し、 署名者装置は受信したqi、uiで Qi=Aqiui(mod p) を計算し、この計算結果が先に受信したQiと比較し、
一致すると、 Yi=ri+qix(mod p-1) を計算し、通信文Yiとv0、v1を検証者装置へ送信
し、上記比較が不一致であれば処理を停止し、 検証者装置は受信したv0、v1により A0=gv0 (mod p) A1=gv1 (mod p) をそれぞれ計算し、これら計算結果と先に受信した検証
用情報A0、A1とをそれぞれ比較し、不一致で署名者装
置が不正として処理を停止し、共に一致すると、 X1i・yqi(mod p) を演算し、かつgYi(mod p)を演算し、これら両演算結
果を比較し、 かつX2i・sqi(mod p)を演算し、またmYi(mod p)を演
算し、これら両演算結果を比較し、 qi=0である各iに対して、両比較が不一致のとき、
署名者装置が不正を行ったことを出力し、両比較が一致
のとき、署名者装置が不正していないことを出力し、 qi=0である各iに対する両比較が一致した場合は更
に、qi=1である各iに対して、両比較が一致してい
れば、sがmに対する署名者装置の正当な署名であるこ
とを出力し、X1i・yqi(mod p)とg Yi(mod p)との比
較のみ一致していれば、sがmに対する正当な署名でな
いことを出力することを特徴とするディジタル署名方
法。
1. A prime number p and a primitive root g of p are disclosed, a signer apparatus generates a signature key x, calculates y = g x (mod p), publishes public information y, and discloses a signer. The device calculates s = mx (mod p) for the message m, sends m and its signature s to the verifier device, and the verifier device sends the message m and its signature s to the signer device, Upon receiving m and s, the signer apparatus generates random numbers v 0 and v 1 , and calculates A 0 = g v0 (mod p) and A 1 = g v1 (mod p) using p and q, respectively. The verification information A 0 and A 1 are transmitted to the verifier device. When the verification device receives A 0 and A 1 , the random number q i ∈ {0,
1} (i = 1,..., Z) and random number u i (i = 1,..., Z)
Generate, for A 0 at q i = 0, for A 1 in q i = 1, calculate the Q i = A qi g ui ( mod p), and sends the communication text Q i to the signer apparatus, the signature Upon receiving Q i , the user apparatus receives a random number r i (i = 1,...,
It generates a z), X 1i = g ri (mod p) X 2i = m ri (mod p) is calculated and transmitted these communication text X 1i, the X 2i to verifier device, the verifier device X 1i , X 2i , (q i , u i )
(I = 1,..., Z) to the signer device, and the signer device calculates Q i = A qig g ui (mod p) with the received q i and u i , and this calculation result is Compare with the received Q i ,
If a match, to calculate the Y i = r i + q i x (mod p-1), transmits a communication text Y i and v 0, v 1 to the verifier's apparatus, the comparison stops processing if disagreement The verifier device calculates A 0 = g v0 (mod p) A 1 = g v1 (mod p) based on the received v 0 and v 1 , respectively, and calculates these calculation results and the previously received verification information A 0 , a 1 and were compared with each other, the signer apparatus mismatch stops processing as invalid, when both match, calculates the X 1i · y qi (mod p ), and calculates the g Yi (mod p), these Compare both operation results, calculate X 2i · s qi (mod p), calculate m Yi (mod p), compare these two operation results, and for each i for which q i = 0. And when both comparisons do not match,
Outputs that the signer device has been tampered with, and when both comparisons match, outputs that the signer device has not been tampered with, and furthermore when both comparisons for each i for q i = 0 match, , Q i = 1, if both comparisons match, then output that s is a valid signature of the signer's device for m, and X 1i · y qi (mod p) and A digital signature method, which outputs that s is not a valid signature for m if only a comparison with g Yi (mod p) is made.
JP03018958A 1991-02-12 1991-02-12 Digital signature method Expired - Fee Related JP3131907B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03018958A JP3131907B2 (en) 1991-02-12 1991-02-12 Digital signature method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03018958A JP3131907B2 (en) 1991-02-12 1991-02-12 Digital signature method

Publications (2)

Publication Number Publication Date
JPH04256994A JPH04256994A (en) 1992-09-11
JP3131907B2 true JP3131907B2 (en) 2001-02-05

Family

ID=11986156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03018958A Expired - Fee Related JP3131907B2 (en) 1991-02-12 1991-02-12 Digital signature method

Country Status (1)

Country Link
JP (1) JP3131907B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2792142B1 (en) * 1999-04-08 2001-06-01 France Telecom AUTHENTICATION AND MESSAGE SIGNATURE METHOD USING REDUCED COMMITMENTS
JP5069157B2 (en) * 2008-03-14 2012-11-07 日本電信電話株式会社 Signature system, signature method, verification device, verification device, verification method, verification method, program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
藤岡,岡本,太田,「対話型双証明方式とUndeniable署名法」,1991年電子情報通信学会春季全国大会講演論文集(1)(1991.3.15),A−289(p291)

Also Published As

Publication number Publication date
JPH04256994A (en) 1992-09-11

Similar Documents

Publication Publication Date Title
Susilo et al. Perfect concurrent signature schemes
CN108551392B (en) Blind signature generation method and system based on SM9 digital signature
EP1136927B1 (en) Anonymous participation authority management system
US8122245B2 (en) Anonymity revocation
US7584363B2 (en) Fair blind signature process
EP0746923A1 (en) Efficient electronic money
CN108805551B (en) Safe fine-grained pre-payment method and device
US5719940A (en) Method for providing information security by exchanging authentication and signing an electronic signature and apparatus therefor
CN108520413B (en) Efficient safe virtual pre-payment method and device
KR0146438B1 (en) The method for identification scheme, digital signature giving message recovery and digital signature with appendix
Wang An abuse-free fair contract signing protocol based on the RSA signature
Hwang et al. Simplified small exponent test for batch verification
JP3131907B2 (en) Digital signature method
US20020044648A1 (en) Methods and systems for efficient chained certification
JP3107313B2 (en) Digital signature method
US6978372B1 (en) Verification of correct exponentiation or other operations in cryptographic applications
JP3178537B2 (en) Digital signature method
JP3285039B2 (en) Digital signature method
JP3292342B2 (en) Digital signature method
JP3147373B2 (en) Multiple signature verification method
Mambo et al. Undeniable confirmer signature
JP2002328602A (en) Blind signature method, device therefor, and program and recording medium therefor
JP3331328B2 (en) Multiple digital signature method, system, apparatus and program recording medium
CN113541926B (en) SM2 three-party joint signature method
Nakanishi et al. Anonymous statistical survey of attributes

Legal Events

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

Free format text: PAYMENT UNTIL: 20071124

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees