JP3331487B2 - Document information and user validity authentication method and system - Google Patents
Document information and user validity authentication method and systemInfo
- Publication number
- JP3331487B2 JP3331487B2 JP29134794A JP29134794A JP3331487B2 JP 3331487 B2 JP3331487 B2 JP 3331487B2 JP 29134794 A JP29134794 A JP 29134794A JP 29134794 A JP29134794 A JP 29134794A JP 3331487 B2 JP3331487 B2 JP 3331487B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- user
- signature
- secret
- mod
- 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
Links
Description
【0001】[0001]
【産業上の利用分野】本発明は、文書情報及び利用者の
正当性認証方法及びシステムに係り、特に、文書情報の
改ざんの有無を保証するための文書情報及び利用者の正
当性の認証方法及びシステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and system for authenticating document information and a user's validity, and more particularly to a method for authenticating document information and a user's validity for guaranteeing whether or not the document information has been tampered with. And systems.
【0002】[0002]
【従来の技術】認証方式の代表的な例として、RSA暗
号系(Rivest. R.L. et al. "A method for Obtaining
Digital Signatures and Public-Key Cryptosystems",
Communications of the ACM, Vol. 21, No2, pp.120-12
6,(1978)) を利用した方式がある。RSA暗号系は、以
下のとおりである。2. Description of the Related Art As a typical example of an authentication method, an RSA encryption system (Rivest. RL et al. "A method for Obtaining"
Digital Signatures and Public-Key Cryptosystems ",
Communications of the ACM, Vol. 21, No2, pp.120-12
6, (1978)). The RSA encryption system is as follows.
【0003】利用者装置Aは、署名用鍵(d,N)と検
査用鍵(e,N)を N=P×Q e×d≡1 (mod L) (但し、P及びQは素数、L=LCM {(P−1)、
(Q−1)})を満たすように生成し、検査用鍵(e,
N)を公開し、署名用鍵(d,N)を秘密に管理する。[0005] The user apparatus A converts the signature key (d, N) and the inspection key (e, N) into N = P × Q e × d≡1 (mod L) (where P and Q are prime numbers, L = LCM {(P−1),
(Q-1)}) are generated so as to satisfy, and the inspection key (e,
N) is made public and the signature key (d, N) is secretly managed.
【0004】ここで、LCM{a,b}は、整数aとb
の最小公倍数を表して、PとQは相異なる2つの大きな
素数とする。また、a≡b(mod L)は、a−bがLの
倍数であることを表す。RSA暗号系は、Nが大きいと
きNの素因数分解が困難なことに安全性の根拠を持つ暗
号系であり、公開された検査用鍵(e,N)から秘密の
署名用鍵のd成分を求めることは困難である。Here, LCM {a, b} is an integer a and b
, P and Q are two different large prime numbers. A≡b (mod L) indicates that a−b is a multiple of L. The RSA cryptosystem is a cryptosystem having a security basis that it is difficult to perform prime factorization of N when N is large, and converts the d component of a secret signature key from a public inspection key (e, N). It is difficult to ask.
【0005】署名検証装置Bは、利用者装置の検査用鍵
(e、N)を個人識別用情報(ID)と組み合わせて検
査用鍵ファイルとして管理する。署名関数Dと検査関数
Eを D(P)=Pd (mod N) E(C)=Ce (mod N) で定義すると、0≦P<Nを満たす整数Pに対して E(D(P))=P が成り立つことが分かる。“a(mod N)”は、aをN
で割ったときの余りを表す。[0005] The signature verification device B manages the inspection key (e, N) of the user device as an inspection key file in combination with personal identification information (ID). When the signature function D and the check function E are defined by D (P) = P d (mod N) E (C) = C e (mod N), E (D ( It can be seen that P)) = P holds. “A (mod N)” means that a is N
Represents the remainder when divided by.
【0006】RSA暗号系を利用した認証方式は以下の
とおりである。署名生成装置Aは、一方向性関数fを用
いて文書情報mから生成したf(m)に対して秘密の署
名関数Dを適用してC=D(f(m))で署名文Cを生
成し、個人識別情報IDと文書情報mと署名文Cの組み
合わせ(ID,m,C)を署名付き通信文として認証装
置Bに送信する。[0006] The authentication method using the RSA encryption system is as follows. The signature generation device A applies a secret signature function D to f (m) generated from the document information m using the one-way function f, and generates a signature sentence C by C = D (f (m)). Then, a combination (ID, m, C) of the personal identification information ID, the document information m, and the signature text C is transmitted to the authentication device B as a signed communication text.
【0007】署名検証装置Bは、IDをキーに検査用鍵
ファイルを検索して検査関数Eを求め、署名付き通信文
のC成分からE(C)で復号文を求め、文書情報mから
求めた一方向性関数f(m)と一致するか検査する。E
(C)=f(m)が成り立てば、署名関数Dをしている
のは、真の利用者Aだけなので、送信者が本物のAであ
り、(ID,m,C)は改ざんされていないことを判断
する。The signature verification apparatus B searches the inspection key file using the ID as a key to obtain an inspection function E, obtains a decrypted text from the C component of the signed communication message using E (C), and obtains the decrypted text from the document information m. It is checked whether it matches the one-way function f (m). E
If (C) = f (m) holds, since only the true user A performs the signature function D, the sender is the real A, and (ID, m, C) is falsified. Judge that there is no.
【0008】ここで、fが一方向性関数とは、関数f
(x)の計算は容易であるが、f(x)からxを求める
のが困難な関数である。関数fは高速な慣用暗号化装
置、例えば、DES暗号(Data Encryption Standard F
ederal Information ProcessingStandards Publication
46, 1977) を用いて構成できる。高速な構成要素を用
いれば、一方向性関数fの計算時間は殆ど無視できる。Here, f is a one-way function, and the function f
This function is easy to calculate (x), but difficult to find x from f (x). The function f is a high-speed conventional encryption device, for example, DES encryption (Data Encryption Standard F
ederal Information ProcessingStandards Publication
46, 1977). If high-speed components are used, the calculation time of the one-way function f can be almost ignored.
【0009】ところで、RSA暗号で用いる整数Nは通
常10進200桁(500ビット)程度であり、署名用
鍵のd成分も500ビット程度となる。ここで、署名関
数Dを計算するには、高速指数計算法を用いても200
桁の整数の乗法(但し、法Nによる剰余計算を含む)が
平均768回必要であり、署名生成装置Aにおける署名
文生成の処理量が多いという問題がある(高速指数計算
法は、例えば、池野、小山゛現代暗号理論”電子通信学
会、pp.16-17,(1986),に示されている) 。The integer N used in the RSA encryption is usually about 200 decimal digits (500 bits), and the d component of the signature key is also about 500 bits. Here, to calculate the signature function D, even if the fast exponential calculation method is used, 200
The multiplication of integers of digits (including the remainder calculation by the modulus N) requires 768 times on average, and there is a problem that the amount of processing for generating a signature sentence in the signature generation apparatus A is large. Ikeno, Koyama: Modern Cryptographic Theory, "IEICE, pp. 16-17, (1986).)
【0010】署名生成装置における署名の処理用の増加
の問題を解決する方式として、FiatとShamirの方式があ
る(Fiat, A. and Shamir, A: "How to prove yourself:
practical solutions to identification and signatu
re problems". Proceedingsof Crypto 86, Santa Barba
ra, August 1986, pp.18-1-18-7). Fiat とShamirの認
証方式は、以下の通りである。ここでは、ディジタル署
名について説明する。As a method for solving the problem of increasing the number of signatures to be processed by the signature generation device, there is a method of Fiat and Shamir (Fiat, A. and Shamir, A: "How to prove yourself:
practical solutions to identification and signatu
re problems ". Proceedingsof Crypto 86, Santa Barba
ra, August 1986, pp.18-1-18-7). The authentication methods of Fiat and Shamir are as follows. Here, a digital signature will be described.
【0011】信頼できるセンタが、個人識別情報として
IDを用いる利用者装置に対して次の手順でk個の秘密
情報sj (1≦j≦k)を生成する(kは安全性を定め
るパラメータであり1以上の値)。 ステップ1)一方向性関数fを用いて vj =f(ID,j) (1≦j≦k) を計算する。A reliable center generates k pieces of secret information s j (1 ≦ j ≦ k) in the following procedure for a user device using an ID as personal identification information (k is a parameter for determining security). And 1 or more). Step 1) Calculate v j = f (ID, j) (1 ≦ j ≦ k) using the one-way function f.
【0012】ステップ2)vj に対して(mod N)にお
ける逆数をとり、Nの素因数PとQを用いて(mod N)
における平方根Step 2) The reciprocal of (mod N) is calculated for v j , and (mod N) is calculated using the prime factors P and Q of N.
Square root in
【0013】[0013]
【数1】 (Equation 1)
【0014】を計算する。即ち、sj 2 =1/vj (mo
d N)となる。 ステップ3)利用者装置に対してk個の秘密情報sj を
秘密に発行し、合成数Nを公開する。“(mod N)”に
おける逆数の計算方法は、例えば、池野、小山゛現代暗
号理論”電子通信学会、pp.17-18 (1986) に示されてい
る。(mod N)における平方根の計算は、Nの素因数
(PとQ)が分かっているときのみ実行できる。その方
法は、例えば、Rabin, M.o.: "Digitalized Signature
s and Public-Key Functions as Intractable as Facto
rization", Tech. Rcp. MIT/LCS/TR-212 MIT Lab. Comp
ut. Sci. 1979 に示されている。平方根の計算装置の具
体的な構成例は、公開鍵暗号システム(特開昭63−2
6137)に示されている。Is calculated. That is, s j 2 = 1 / v j (mo
d N). Step 3) k pieces of secret information s j are secretly issued to the user device, and the combined number N is made public. The calculation method of the reciprocal in “(mod N)” is shown, for example, in Ikeno and Koyama—Modern Cryptography, IEICE, pp. 17-18 (1986). , N can be performed only when the prime factors (P and Q) are known, for example, by the method described in Rabin, Mo: "Digitalized Signature.
s and Public-Key Functions as Intractable as Facto
rization ", Tech. Rcp. MIT / LCS / TR-212 MIT Lab. Comp
ut. Sci. 1979. A specific configuration example of the square root calculator is disclosed in Japanese Patent Laid-Open Publication No. Sho 63-2
6137).
【0015】署名生成装置Aは、署名検証装置Bに対し
て、文書情報mが本物であることを次の手順で証明す
る。 ステップ10) 署名生成装置Aが乱数ri を生成し
て、 xi =ri 2 (mod N) (1≦i≦t) を計算する(tは安全性を定めるパラメータであり1以
上の値)。The signature generation device A certifies to the signature verification device B that the document information m is genuine in the following procedure. Step 10) The signature generation device A generates a random number r i and calculates x i = r i 2 (mod N) (1 ≦ i ≦ t) (t is a parameter for determining security and a value of 1 or more) ).
【0016】ステップ11) 署名生成装置Aが0、1
ビット列ei j (1≦i≦t,1≦j≦k)を一方向性
関数fを用いて、 (eij,…,etk )=f(m,x1 ,…,xt ) で計算する。 ステップ12) 署名装置Aが署名文yi (1≦i≦
t)をStep 11) Signature generation device A is 0, 1
Bit sequence e ij a (1 ≦ i ≦ t, 1 ≦ j ≦ k) using a one-way function f, calculated in (e ij, ..., e tk ) = f (m, x 1, ..., x t) I do. Step 12) The signature device A sends the signature sentence y i (1 ≦ i ≦
t)
【0017】[0017]
【数2】 (Equation 2)
【0018】で生成して{ID,m,e11,…,
et k ,yi ,…,yt }を署名検証装置Bに送る。 ステップ13) 署名検証装置Bがvj =f(ID,
j) (1≦j≦k)を計算する。 ステップ14) 署名検証装置Bは、, ID, m, e 11 ,...
et tk , y i ,..., y t } are sent to the signature verification device B. Step 13) The signature verification device B determines that v j = f (ID,
j) Calculate (1 ≦ j ≦ k). Step 14) The signature verification device B
【0019】[0019]
【数3】 (Equation 3)
【0020】を計算する。 ステップ15) 署名検証装置Bは、(e1i ,…,e
t k )=f(m,z 1 ,…,zt )が成り立つことを
検査する。署名成分yi の作り方よりIs calculated. Step 15) The signature verification device B (e)1i , ..., e
tk ) = F (m, z 1, ..., zt)
inspect. Signature component yiFrom how to make
【0021】[0021]
【数4】 (Equation 4)
【0022】であるから、上記の検査に合格した場合、
署名検証装置Bは文書情報mが署名生成装置Aから送信
されたものであると認める。このとき、ビット列(e11
,…,etk)とy1 ,…,yt を決めてからx1,
…,xt を計算して (e11,…,etk)=f(m,x1 ,…,xt ) が成り立つ場合に、{ID,m,e11,…,et k ,y
1 ,…,yt }を署名とすると、署名の偽造に成功す
る。検査式(e11,…,etk)=f(m,x1 ,…,x
t )が成り立つ確率は1/2ktなので、署名の偽造に要
する計算量は、2ktに比例すると考えられる。以降で
は、偽造に要する計算量を安全係数と呼ぶ。ここでは、
kは、利用者装置が秘密に管理する秘密情報(sj )の
個数であり、tは通信文のデータ量を定めている。Therefore, if the above inspection is passed,
The signature verification device B recognizes that the document information m has been transmitted from the signature generation device A. At this time, the bit string (e 11
, ..., e tk) and y 1, ..., x 1 from Decide y t,
.., X t are calculated and if (e 11 ,..., Et k) = f (m, x 1 ,..., X t ) holds, then {ID, m, e 11 ,.
If 1 , ..., y t } is a signature, the signature is successfully forged. Check formula (e 11 ,..., Et k) = f (m, x 1 ,.
Since the probability that t ) is satisfied is 1/2 kt , the amount of calculation required for forging a signature is considered to be proportional to 2 kt . Hereinafter, the calculation amount required for forgery is referred to as a safety factor. here,
k is the number of secret information (s j ) secretly managed by the user device, and t defines the data amount of the message.
【0023】FiatとShamirの方式では、送信者における
署名生成処理は、平均してt(k+2)/2回の乗算
(但し、法Nにおける剰余計算を含む)で済む。特に、
上記のFiatとShamirの文献では、ディジタル署名の場
合、k=18,t=4に選ぶことが推奨されているの
で、FiatとShamirの署名法の乗算回数は40回となり、
RSA暗号による署名法に比較して処理量を大幅に削減
できることが分かる(40/768=0.05なので、
約5%の処理量で実現できる)。In the Fiat and Shamir scheme, the signature generation process at the sender can be performed on average by t (k + 2) / 2 multiplications (including the remainder calculation in the modulus N). In particular,
In the above document of Fiat and Shamir, in the case of digital signature, it is recommended to select k = 18 and t = 4. Therefore, the number of times of multiplication by the signature method of Fiat and Shamir is 40, and
It can be seen that the processing amount can be significantly reduced as compared with the signature method using the RSA encryption (40/768 = 0.05,
It can be realized with a throughput of about 5%).
【0024】[0024]
【発明が解決しようとする課題】しかしながら、上記従
来のRSA暗号を利用した認証方式は、通信文の冗長度
が小さく秘密に管理する情報量が少ないが、送信者にお
ける処理量が大きいという問題がある。一方、FiatとSh
amirの方式では、通信文の冗長なビット数は、500×
t+k×tビットである。安全性を確保するには、ある
程度の大きさのkとtを選択する必要があるので、冗長
度が大きくなる。また、送信者が秘密に管理する情報は
k個となり、RSA暗号に比べてk倍に増加している。
このように、送信者における処理量は小さいが、十分に
大きな安全係数を得るためには、通信文の冗長度が大き
く、秘密に管理する情報量が大きいという問題がある。However, the above-mentioned conventional authentication method using the RSA encryption has a problem that the redundancy of the message is small and the amount of information managed secretly is small, but the amount of processing at the sender is large. is there. Meanwhile, Fiat and Sh
In the amir method, the number of redundant bits in a message is 500 ×
t + k × t bits. In order to ensure security, it is necessary to select k and t of a certain size, so that the redundancy is increased. Also, the number of information managed by the sender in secret is k, which is k times as large as that of the RSA encryption.
As described above, although the processing amount at the sender is small, in order to obtain a sufficiently large security coefficient, there is a problem that the redundancy of the message is large and the amount of information managed secretly is large.
【0025】本発明は、上記の点に鑑みなされたもの
で、送信者における処理量が小さく、通信文の冗長度が
小さく、送信者が秘密に管理する情報量を少なくするこ
とが可能な文書情報及び利用者の正当性の認証方法及び
システムを提供することを目的とする。本発明の更なる
目的は、送信者における署名の処理量を削減でき、同時
に通信文の冗長度を削減できる効率のよい文書情報及び
利用者の正当性の認証方法及びシステムを提供すること
である。The present invention has been made in view of the above points, and has a small processing amount at a sender, a small redundancy of a message, and a document capable of reducing the amount of information secretly managed by the sender. It is an object of the present invention to provide a method and a system for authenticating information and the validity of a user. It is a further object of the present invention to provide an efficient document information and user authenticity authentication method and system that can reduce the amount of signature processing at the sender and at the same time reduce the redundancy of messages. .
【0026】[0026]
【課題を解決するための手段】図1は、本発明の原理を
説明するための図(その1)である。本発明は、署名生
成装置が文書情報と共に送信する署名情報の内容を署名
検証装置が分析し、該文書情報の正当性を確認するため
の文書情報の正当性の認証方法において、システム構築
時に初期情報設定処理として、センタ装置は、素数
(P,Q)を生成して秘密に保持し、素数(P,Q)の
積N(N=P×Q)とk個の整数{L 1 ,…,Lk }
(k≧2)を公開情報(N,{L1 ,…,Lk })とし
て公開し(ステップ101、102)、さらに、識別子
としてIDを用いる利用者がシステムに加入するとき、
IDに関連するk個の秘密情報{S1 ,…,Sk }を、
{L1 ,…,Lk }と秘密のPとQを用いて計算して、
利用者装置に送信し(ステップ103)、利用者装置
は、署名生成処理として、素数の積Nを法とする剰余演
算のもとで乱数RをL(L=L1 ×…×Lk )乗して署
名検証装置が検査で用いる値Xを X=RL (mod N) により求め、署名対象となる文書情報mと値Xに対して
一方向性関数fを用いて第1の通信文成分 (E1 ,…,Ek )=f(m,X) を計算し、さらに、秘密情報{S1 ,…,Sk }と乱数
Rと第1の通信文成分(E1 ,…,Ek )から第2の通
信文成分(Y1 ,…,Yk )を計算して署名付き文書情
報 {ID,m,(E1 ,…,Ek ),(Y1 ,…,Y
k )} を生成して、署名検証装置に送信し(ステップ10
4)、署名検証装置は、1≦i≦kを満たすいずれのi
においても、ID,Y i とEi から求めた値がXに一致
し、かつ一致する値をZとおいたとき、 (E1 ,…,Ek )=f(m,Z) を満たす場合、利用者装置が送信した文書情報の正当性
を確認する(ステップ105)。FIG. 1 is a diagram (part 1) for explaining the principle of the present invention. The present invention provides a method of authenticating document information for verifying the validity of the document information by analyzing the contents of the signature information transmitted by the signature generation device together with the document information, and confirming the validity of the document information. As information setting processing, the center device generates a prime number (P, Q) and keeps it secret, and obtains a product N (N = P × Q) of the prime numbers (P, Q) and k integers {L 1 ,. , L k }
(K ≧ 2) is disclosed as public information (N, {L 1 ,..., L k }) (steps 101 and 102). Further, when a user who uses an ID as an identifier joins the system,
K secret information {S 1 ,..., S k }
Using {L 1 ,..., L k } and secret P and Q,
The user device transmits the random number R to the user device as a signature generation process under the remainder operation modulo the prime product N (L = L 1 ×... × L k ). X = RL (mod N) to obtain a value X to be used in the inspection by the signature verification device, and use a one-way function f for the document information m and the value X to be signed, using a one-way function f. component (E 1, ..., E k ) = f (m, X) is calculated, and further, secret information {S 1, ..., S k } and the random number R and the first communication text component (E 1, ..., E k ), the second message component (Y 1 ,..., Y k ) is calculated, and signed document information {ID, m, (E 1 ,..., E k ), (Y 1 ,.
k )} is generated and transmitted to the signature verification device (step 10).
4), the signature verification device selects any i that satisfies 1 ≦ i ≦ k
Also, when the values obtained from ID, Y i and E i match X, and the matching value is Z, if (E 1 ,..., E k ) = f (m, Z ) The validity of the document information transmitted by the user device is confirmed (step 105).
【0027】また、本発明は、上記のセンタ装置におい
て、システム構築時の処理情報設定処理として、素数生
成器により素数P,Qを生成して秘密に保持し、乗算器
により素数PとQを乗算し、その積Nと乱数発生器で生
成されたk個の整数{L1 ,…,Lk }(k≧2)を利
用者装置に公開し、識別子としてIDを用いる利用者が
システムに加入する際には、該IDに関連するk個の秘
密情報{S1 ,…,Sk }を一方向性関数計算器、逆数
計算器及びL乗根計算器を用いて、 S=(1/Vj )1/Lj(mod N) (但し、jは、1≦j≦kを表す整数で、Vj =f(I
D,j)) により計算して利用者装置に送信する。According to the present invention, in the above center device , as processing information setting processing at the time of system construction, prime numbers P and Q are generated by a prime number generator and held secretly, and a multiplier is used by a multiplier. Multiply the prime numbers P and Q, publish the product N and k integers {L 1 ,..., L k } (k ≧ 2) generated by the random number generator to the user device, and use the ID as an identifier. When a user joins the system, k pieces of secret information {S 1 ,..., S k } related to the ID are calculated by using a one-way function calculator, a reciprocal calculator and an L-th root calculator. , S = (1 / V j ) 1 / Lj (mod N) (where j is an integer representing 1 ≦ j ≦ k, and V j = f (I
D, j)) and sends it to the user device.
【0028】また、本発明の利用者装置は、署名生成処
理として乱数発生器を用いて生成した乱数Rから署名検
証装置が検査で用いる値Xを合同べき乗演算器を用い
て、 X=RL (mod N)(但し、L=L1 ×L2 ×Lk とす
る) より計算し、署名対象となる文書情報mと値Xに対して
一方向性関数計算器により、 (E1 ,…,Ek )=f(m,X) を計算し、乱数Rと公開情報{L 1 ,…,L k }から、 R i =R L/Li (mod N)(1≦i≦k) を計算し、 秘密情報{S1 ,…,Sk }とR i と第1の
通信文成分(E1 ,…,Ek )に対して、合同べき乗演
算器を用いて、 Yi =Ri ×Si Ei (mod N) (但し、1≦i≦
kを満たす整数) より第2の通信文成分(Yi ,…,Yk )を計算し、第
1の通信文成分(E1 ,…,Ek )と第2の通信文成分
(Yi ,…,Yk )に文書情報m及びIDを付加した署
名付き文書情報{ID,m,(E1 ,…,Ek ),(Y
i ,…,Yk )}を生成し、署名検証装置に送信する。Also,The user device of the present invention includes:Signature generation process
Random numbers generated using a random number generatorRSignature inspection from
Using a joint exponentiation unit for the value X used in the inspection
X = RL (Mod N) (where L = L1 × LTwo × Lk Toss
Calculated for the document information m and the value X to be signed.
By the one-way function calculator, (E1 , ..., Ek ) = F (m, X)Random number R and public information {L 1 , ..., L k From} R i = R L / Li (Mod N) (1 ≦ i ≦ k) And calculate Secret information $ S1 , ..., Sk }WhenR i WhenFirst
Correspondencecomponent(E1 ,…,Ek ), Joint power
Using an arithmetic unit, Yi = Ri × Si Ei (Mod N) (However, 1 ≦ i ≦
second integer from the integer that satisfies k)component(Yi , ..., Yk ) Calculate the
1 messagecomponent(E1 ,…,Ek ) And the second messagecomponent
(Yi , ..., Yk ) With document information m and ID added
Named document information {ID, m, (E1 , ..., Ek ), (Y
i , ..., Yk) Is generated and transmitted to the signature verification device.
【0029】また、本発明の署名検証装置は、利用者装
置から署名付き文書情報{ID,m,(E1 ,…,E
k ),(Yi ,…,Yk )}を受け取ると、一方向性関
数計算器を用いて、V i =f(ID,i) (但し、iは、1≦i≦kを満
たす整数) を計算し、 公開情報(N{L 1 ,…,L k })と利用者
装置から受信した第1の通信文成分(E 1 ,…,E
k )、第2の通信文成分(Y i ,…,Y k )及び、文書
情報mより、 合同べき乗演算器を用いて、 Zi =Yi Li×Vi Ei (mod N) を計算し、一致検査器により、Z1 =……=Zk が成り
立つかを検査し、一方向性関数計算器によりw=f
(m,Z1 ,…,Zk )を計算し、一致検査器により、
w=(E1 ,…,Ek )が成り立つかを検査し、2つの
一致検査器により各等式が成立するとき、利用者装置か
ら受信した文書情報が正当であると判定する。Further, the signature verification apparatus of the present inventionUser clothing
PlaceFrom the signed document information {ID, m, (E1 , ..., E
k ), (Yi , ..., Yk ) When you receive}, the one-way
Using a number calculator,V i = F (ID, i) (where i satisfies 1 ≦ i ≦ k
Plus integer) And calculate Public information (N @ L 1 , ..., L k I) and users
The first message component (E) received from the device 1 , ..., E
k ), The second message component (Y i , ..., Y k ) And documents
From the information m Using a joint exponentiation unit, Zi = Yi Li× Vi Ei (Mod N) and Z1 = …… = Zk Consists of
It is checked whether it stands or not, and w = f
(M, Z1 , ..., Zk ) Is calculated, and by the coincidence checker,
w = (E1 , ..., Ek ) To determine if
When each equation is established by the match tester,userDevice
It is determined that the received document information is valid.
【0030】図2は、本発明の原理を説明するための図
(その2)である。本発明は、利用者装置が検証装置に
送信する内容について該検証装置が分析して、該利用者
の正当性を確認するための利用者の正当性確認方法にお
いて、システム構築時に初期情報設定処理として、セン
タ装置において、2つの素数(P,Q)を生成して秘密
に保持し、素数の積N(N=P×Q)とk個の整数{L
1 ,…,Lk }(K≧2)を公開情報(N,{L1 ,
…,Lk })として公開し(ステップ201、20
2)、センタ装置において、識別子としてIDを用いる
利用者がシステムに加入するとき、該IDに関連するk
個の秘密情報{S1 ,…,Sk }を{L1 ,…,Lk }
と秘密の素数PとQを用いて計算し、利用者装置に送信
し(ステップ203)、利用者装置は、被認証処理とし
て、検証装置で用いる値Xを、乱数RをL(L=L1 ×
…×Lk )乗し、Nを法とする剰余演算 X=RL (mod N) により求め、該検証装置に送信し(ステップ204)、
検証装置は、k個の乱数成分からなる第1の通信文(E
1 ,…,Ek )を利用者装置に送信し(ステップ20
5)、前記利用者装置は、前記センタ装置から取得した
前記公開情報{L1 ,…,Lk }と乱数Rから、 Ri =RL/Li(mod N) を求め、秘密情報{S1 ,…,Sk }と、乱数Rと第1
の通信文(E1 ,…,Ek )及びRi から Yi =Ri ×Si Ei(mod N) (但し、iは、1≦i
≦k) により、第2の通信文(Y1 ,…,Yk )を計算し、I
Dを付加して、{ID,(E1 ,…,Ek ),(Y1 ,
…,Yk )}を生成して、検証装置に送信し(ステップ
206)、検証装置は、{ID,(E1 ,…,Ek ),
(Y1 ,…,Yk )}から一方向性関数 Vi =f(ID,i)(但し、iは、1≦i≦kを満た
す整数) を計算し、公開情報(N,{L1 ,…,Lk })と利用
者装置に送信した第1の通信文(E1 ,…,Ek )、及
びVi から、 Zi =Yi Li×Vi Ei(mod N) を計算し、 Z1 =…=Zk が成り立つかを検査し、さらに、一方向性関数 w=f(m,Z1 ,…,Zk ) を計算し、 w=(E1 ,…,Ek ) が成り立つかを検査し、いずれの検査でも一致して成り
立つという場合に、利用者の正当性を確認する(ステッ
プ207)。FIG. 2 is a diagram (part 2) for explaining the principle of the present invention. The present invention provides a method of verifying the validity of a user for verifying the validity of the user by analyzing the content transmitted by the user device to the verification device. In the initial information setting process, the center device generates two prime numbers (P, Q) and keeps them secret, and the product N (N = P × Q) of the prime numbers and k integers {L
1, ..., L k} ( K ≧ 2) public information (N, {L 1,
.., L k }) (steps 201 and 20).
2) In the center device, when a user who uses an ID as an identifier joins the system, k associated with the ID is used.
Pieces of secret information {S 1, ..., S k } of {L 1, ..., L k }
Is calculated using the secret prime numbers P and Q, and transmitted to the user device (step 203). The user device converts the value X used by the verification device into a random number R as L (L = L 1 x
.. × L k ) and the remainder operation modulo N, X = R L (mod N), is transmitted to the verification device (step 204),
The verification device generates a first message (E
1, ..., and sends the E k) to the user device (step 20
5) The user device obtains R i = R L / Li (mod N) from the public information {L 1 ,..., L k } and the random number R acquired from the center device, and obtains the secret information {S 1, ..., and S k}, the random number R and the first
From the communication message (E 1 ,..., E k ) and R i , Y i = R i × S i Ei (mod N) (where i is 1 ≦ i
≦ k), the second message (Y 1 ,..., Y k ) is calculated.
D, and {ID , ( E 1 ,..., E k ), (Y 1 ,
,..., Y k )}, and sends them to the verification device (step 206). The verification device generates {ID , ( E 1 ,.
(Y 1 ,..., Y k )}, a one-way function V i = f (ID, i) (where i is an integer satisfying 1 ≦ i ≦ k) is calculated, and public information (N, {L 1, ..., a first communication sentence sent to L k}) and the user device (E 1, ..., E k), and the Vi, calculates the Z i = Y i Li × V i Ei (mod N) Then, it is checked whether or not Z 1 =... = Z k holds. Further, a one-way function w = f (m, Z 1 ,..., Z k ) is calculated, and w = (E 1 ,. ) Is checked, and in the case that both tests are the same , the validity of the user is confirmed (step 207).
【0031】上記のセンタ装置は、システムの構築時の
初期情報設定処理として、素数生成器により素数P,Q
を生成して秘密に保持し、乗算器により、素数P,Qを
乗算して、乗算値Nとし、乱数発生器により乱数Rを生
成し、乗算値Nと乱数発生器により生成したk個の整数
{L1 ,…,Lk }(k≧2)を公開し、識別子として
IDを用いる利用者がシステムに加入するときには、該
IDに関連するk個の秘密情報{S1 ,…,Sk }を、 Sj =(1/V j )1/Lj(mod N) (但し、jは、1≦j≦kを満たす整数で、Vj =F
(ID,j)) より計算して、秘密情報を利用者装置に渡す。The above centerapparatusAt the time of system construction
As initial information setting processing, prime numbers P and Q
Is generated and kept secret, and the prime numbers P and Q are
The number is multiplied to obtain a multiplied value N, and a random number R is generated by a random number generator.
, N, and k integers generated by a random number generator
{L1 , ..., Lk } (K ≧ 2) is released and as an identifier
When a user using the ID joins the system,
K secret information {S related to ID1 , ..., Sk }, Sj = (1 / V j )1 / Lj(Mod N) (where j is an integer satisfying 1 ≦ j ≦ k and Vj = F
(ID, j)) Then, the secret information is passed to the user device.
【0032】[0032]
【0033】また、上記の検証装置は、利用者装置から
受け取った検査で用いる値Xに対して、一方向性関数計
算器により、第1の通信文 (E1 ,…,Ek )=f を計算して、利用者装置に送信する。Further , the above-mentioned verification device uses a one-way function calculator to calculate the first message (E 1 ,..., E k ) = f for the value X used in the inspection received from the user device. Is calculated and transmitted to the user device.
【0034】また、本発明は、署名生成装置が文書情報
と共に送信する署名情報の内容を署名検証装置が分析し
て、該文書情報の正当性を確認するための文書情報の正
当性認証システムであって、素数(P,Q)を生成して
秘密に保持し、該素数(P,Q)の積N(N=P×Q)
とk個の整数{L1 ,…,Lk }(k≧2)を公開情報
(N,{L1 ,…,Lk })として公開し、さらに、識
別子としてIDを用いる利用者がシステムに加入すると
き、IDに関連するk個の秘密情報{S1 ,…,Sk }
を、{L1 ,…,Lk }と秘密のPとQを用いて計算し
て、送信する手段を有するセンタ装置と、署名生成処理
として、素数の積Nを法とする剰余演算のもとで乱数R
をL(L=L1 ×…×Lk )乗して署名検証装置が検査
で用いる値Xを X=RL (mod N) により求め、署名対象となる文書情報mと値Xに対して
一方向性関数fを用いて第1の通信文成分 (E1 ,…,Ek )=f(m,X) を計算し、さらに、秘密情報{S1 ,…,Sk }と乱数
Rと第1の通信文成分(E1 ,…,Ek )から第2の通
信文成分(Y1 ,…,Yk )を計算して署名付き文書情
報 {ID,m,(E1 ,…,Ek ),(Y1 ,…,Y
k )} を生成して、署名検証装置に送信する手段を有する署名
生成装置と、公開情報(N,{L1 ,…,Lk })と署
名生成装置から受信した第1の通信文成分(E1 ,…,
Ek )、第2の通信文成分(Y1 ,…,Yk )及び文書
情報mが1≦i≦kを満たすいずれのiにおいても、I
D,Y i とEi から求めた値がXに一致すること、及び
一致する値をZとおいたとき、 (E1 ,…,Ek)=f(m,Z) を満たす場合、署名生成装置が送信した文書情報の正当
性を確認する手段を有する署名検証装置からなる。Further, the present invention provides a document information validity authentication system for confirming the validity of the document information by analyzing the contents of the signature information transmitted by the signature generation device together with the document information by the signature verification device. Then, a prime number (P, Q) is generated and kept secret, and a product N of the prime numbers (P, Q) (N = P × Q)
And k integers {L 1 ,..., L k } (k ≧ 2) are disclosed as public information (N, {L 1 ,..., L k }). , K secret information {S 1 ,..., S k } related to the ID
Is calculated using {L 1 ,..., L k } and secret P and Q, and the remainder generation using the product N of prime numbers modulo as a signature generation process. And a random number R
Is raised to the power of L (L = L 1 ×... L k ), and a value X used in the inspection by the signature verification device is obtained by X = R L (mod N). the first communication text component using a one-way function f (E 1, ..., E k) = f a (m, X) is calculated and further, secret information {S 1, ..., S k } and the random number R And the first message component (E 1 ,..., E k ), the second message component (Y 1 ,..., Y k ) is calculated, and the signed document information {ID, m, (E 1 ,. , E k ), (Y 1 ,..., Y
k )}, and a signature generation device having means for generating and transmitting the signature information to the signature verification device; public information (N, {L 1 ,..., L k }) and a first message component received from the signature generation device (E 1 , ...,
E k ), the second message component (Y 1 ,..., Y k ) and the document information m for any i satisfying 1 ≦ i ≦ k,
If the value obtained from D, Y i and E i matches X, and if the matching value is Z, if (E 1 ,..., E k ) = f (m, Z ), signature generation It comprises a signature verification device having means for confirming the validity of the document information transmitted by the device.
【0035】また、本発明は、利用者装置が検証装置に
送信する内容について該検証装置が分析して、利用者の
正当性を確認するための利用者の正当性確認システムで
あって、2つの素数(P,Q)を生成して秘密に保持
し、該素数の積N(N=P×Q)とk個の整数{L1 ,
…,Lk}(K≧2)を公開情報(N,{L1 ,…,
Lk})として公開し、識別子としてIDを用いる利用
者がシステムに加入するとき、該IDに関連するk個の
秘密情報{S1 ,…,Sk }を該{L1 ,…,Lk }と
秘密の素数PとQを用いて計算し、利用者装置に送信す
る手段を有するセンタ装置を有し、利用者装置は、検証
装置で用いる値Xを、乱数RをL(L=L1 ×…×L
k )乗し、Nを法とする剰余演算 X=RL (mod N) により求め、該検証装置に送信する手段と、検証装置か
ら第1の通信文(E1 ,…,Ek )を受信し、秘密情報
{S1 ,…,Sk }と乱数Rと第1の通信文(E1,
…,Ek )から第2の通信文(Y1 ,…,Yk )を計算
し、IDを付加して、{ID,(E1 ,…,Ek ),
(Y1 ,…,Yk )}を生成して、検証装置に送信する
手段とを有し、検証装置は、k個の乱数成分からなる第
1の通信文(E1 ,…,Ek )を利用者装置に送信する
手段と、 {ID,(E1 ,…,Ek ),(Y1 ,…,Yk )}か
ら一方向性関数 Vi =f(ID,i)(但し、iは、1≦i≦kを満た
す整数) を計算する手段と、公開情報(N,{L1 ,…,L
k })と利用者装置に送信した第1の通信文(E1 ,
…,Ek )、第2の通信文(Y1 ,…,Yk )、及びV
i から、 Zi =Yi Li×Vi Ei(mod N) を計算する手段と、 Z1 =…=Zk が成り立つかを検査し、さらに、一方向性関数 w=f(Z 1 ,…,Zk ) を計算し、 w=(E1 ,…,Ek ) が成り立つかを検査し、いずれの検査でも一致して成り
立つという場合に、利用者装置の正当性を確認する手段
とを有する。Further, the present invention is a user validity confirmation system for confirming the validity of a user by analyzing the contents transmitted by the user device to the verification device, and confirming the validity of the user. Generate and store two prime numbers (P, Q) secretly, and multiply the prime numbers N (N = P × Q) and k integers {L 1 ,
.., L k } (K ≧ 2) to public information (N, {L 1 ,.
L k }), and when a user using an ID as an identifier joins the system, k pieces of secret information {S 1 ,..., S k } related to the ID are replaced with the {L 1 ,. k } and a center device having means for calculating using the secret prime numbers P and Q and transmitting the calculated values to the user device. The user device converts the value X used in the verification device into a random number R by L (L = L 1 × ... × L
k ) raised to the power, the remainder operation modulo N is obtained by X = R L (mod N), and means for transmitting to the verification device, and the first message (E 1 ,..., E k ) from the verification device The secret information {S 1 ,..., S k }, the random number R, and the first message (E 1 ,
, E k ), a second message (Y 1 ,..., Y k ) is calculated, an ID is added, and 通信 ID , ( E 1 ,..., E k ),
(Y 1 ,..., Y k )}, and transmits the first message (E 1 ,..., E k) consisting of k random number components. ) To the user device, and a one-way function V i = f (ID, i) ({ID , ( E 1 ,..., E k ), (Y 1 ,..., Y k ))} , I are integers satisfying 1 ≦ i ≦ k) and public information (N, {L 1 ,..., L
k }) and the first message (E 1 ,
, E k ), the second message (Y 1 ,..., Y k ), and V
from i, means for calculating a Z i = Y i Li × V i Ei (mod N), Z 1 = ... = checks whether Z k holds, further, the one-way function w = f (Z 1, .., Z k ), and checks whether w = (E 1 ,..., E k ) is satisfied. Having.
【0036】[0036]
【0037】[0037]
【作用】Fiat-Shamir 法が2次演算に基づいているた
め、安全性を一定にした場合、秘密保持情報量と転送情
報量とのトレードオフが存在する。一方、本発明は、複
数(k)種類のL次(低次)のべき乗演算(例えば、k
=2でL1 ,L2 )を用いて署名生成時には、署名生成
装置、署名検証装置及び被検証装置、検証装置に共通の
値XをL=L1 ×…×Lk を用いて、 X=RL (mod N) で計算し、 (e1 、…ek )=f(m,X) を求めて、 Yi =Ri ×Si ei (mod N)(但し、Ri =RL/Li
(mod N) で署名成分Y1 ,…,Yk を生成し、 {ID,m,e1 ,…,ek ,Y1 ,…,Yk } を署名つき通信文とする。[Function] Since the Fiat-Shamir method is based on the quadratic operation, there is a trade-off between the amount of confidential information and the amount of transfer information when security is fixed. On the other hand, the present invention provides a plurality (k) of L-order (lower-order) exponentiation operations (for example, k
= 2 and L 1 , L 2 ), a value X common to the signature generation device, the signature verification device, the device to be verified, and the verification device is obtained by using L = L 1 × Lk. = R L (mod N), (e 1 ,... E k ) = f (m, X), and Y i = R i × S i ei (mod N) (where R i = R L / Li
Signature (mod N) component Y 1, ..., and generates a Y k, {ID, m, e 1, ..., e k, Y 1, ..., Y k} and signed communication text to.
【0038】本発明は、Yi の作り方よりYi Li×vi
eL≡X(mod N)であるので、従来の検査式(e1 ,
…,ek )=f(m,X)に加えて、それぞれのY1 ,
…,Y k から計算したそれぞれの値がXとして一致する
か検査する。従来のFiat-Shamir 法では、(e1 ,…,
ek )のビット数で安全係数が定まっていたが、今回
は、新たに共通の値Xが一致することも検査条件に加わ
るので、値Xのビット数をbとおくと、2b まで安全性
係数を高めることができる。通常、Xは512ビットな
ので、k=2,t=1としても十分に安全性を保証でき
て、秘密保持情報量と転送情報量を同時に小さくでき
る。In the present invention, YiY from how to makei Li× vi
eLSince ≡X (mod N), the conventional inspection formula (e1,
…, Ek) = F (m, X) plus each Y1,
…, Y kEach value calculated from is the same as X
Inspect. In the conventional Fiat-Shamir method, (e1,…,
ek), The safety factor was determined by the number of bits.
Is added to the inspection condition that the new common value X matches.
Therefore, if the number of bits of the value X is b, 2bUp to safety
The coefficient can be increased. Normally, X is 512 bits
Therefore, even if k = 2 and t = 1, safety can be sufficiently guaranteed.
Can reduce the amount of confidential information and the amount of transferred information at the same time.
You.
【0039】[0039]
【実施例】以下、本発明の実施例を説明する。 〔第1の実施例〕 文書情報正当性認証処理 第1の実施例では、署名検証装置により、署名作成装置
が生成した通信文の正当性を検証する例を説明する。Embodiments of the present invention will be described below. First Embodiment Document Information Validity Authentication Processing In a first embodiment, an example will be described in which a signature verification device verifies the validity of a communication message generated by a signature creation device.
【0040】図3は、本発明の第1の実施例のシステム
構成図である。同図に示すシステムにおいて、センタ1
00が複数の局200、300と安全な通信路400を
介して結合されているとする。また、局200と局30
0が安全ではない通信路500を介して結合されている
ものとする。以下の第1の実施例では、局200を署名
生成装置、局300を署名検証装置として説明する。FIG. 3 is a system configuration diagram of the first embodiment of the present invention. In the system shown in FIG.
00 is connected to a plurality of stations 200 and 300 via a secure communication path 400. Also, the stations 200 and 30
0 are connected via an insecure channel 500. In the following first embodiment, the station 200 will be described as a signature generation device, and the station 300 will be described as a signature verification device.
【0041】以下に示すセンタ100の処理として、シ
ステム構築時の初期情報設定処理、局がシステムに加入
する際の処理がある。図4は、本発明の第1の実施例の
文書情報の正当性を検査する動作の概要を示すシーケン
スチャートである。 ステップ301、302) センタ100は、まず、初
期情報設定処理として、素数(P,Q)を生成して、秘
密に保持し、その積N(P×Q)とk個の整数{L1 ,
…,Lk }(k≧2)を局(署名生成装置200、署名
検証装置300)に公開する。The processing of the center 100 shown below includes initial information setting processing at the time of system construction, and processing when a station joins the system. FIG. 4 is a sequence chart showing the outline of the operation of checking the validity of document information according to the first embodiment of the present invention. Steps 301 and 302) First, as initial information setting processing, the center 100 generates a prime number (P, Q), keeps it secret, and multiplies its product N (P × Q) and k integers {L 1 ,
, L k } (k ≧ 2) are disclosed to the stations (the signature generation device 200 and the signature verification device 300).
【0042】ステップ303) さらに、センタ100
は、識別子として自IDを用いる利用者がシステムに加
入する時、{L1 ,…,Lk }と素数P,Qを用いてI
Dに関連するk個の秘密情報{S1 ,…,Sk }を計算
し、当該利用者の利用者装置(署名生成装置200)に
渡す。ステップ304) 利用者装置(署名生成装置2
00)は、乱数Rから署名検証装置300が検査で用い
る値Xを、Nを法とする剰余演算のもとで乱数RをL
(=L1 ×…×Lk )乗することにより計算して、署名
対象となる文書情報mとXに対して一方向性関数fを用
いて文書成分 (E1 ,…,Ek )=f(m,X) を計算し、さらに、秘密情報{S1 ,…,Sk }と乱数
Rと(E1 ,…,Ek )から文書成分(Y1 ,…,
Yk )を求める。これにより、文書情報{ID,m,
(E1 ,…,Ek ),(Y1 ,…,Yk )}を署名検証
装置300に送信する。Step 303) Further, the center 100
When a user who uses his / her own ID as an identifier joins the system, the user uses {L 1 ,..., L k } and prime numbers P and Q
Calculate k pieces of secret information {S 1 ,..., S k } related to D and pass them to the user device (signature generation device 200) of the user. Step 304) User device (signature generation device 2)
00) calculates the value X used in the inspection by the signature verification device 300 from the random number R, and converts the random number R to a value L under the remainder operation modulo N.
(= L 1 × ... × L k ), and the document components (E 1 ,..., E k ) = calculate the f (m, X), further, secret information {S 1, ..., S k } and the random number R and the (E 1, ..., E k ) document component (Y 1 from ...,
Y k ). Thereby, the document information {ID, m,
(E 1 ,..., E k ), (Y 1 ,..., Y k )} are transmitted to the signature verification device 300.
【0043】ステップ304) 署名検証装置300
は、センタ300より得た、公開情報(N,{L1 ,
…,Lk })と署名作成装置200から受信した
(E1 ,…,E k )及び(Y1 ,…,Yk )及び文書情
報mが1≦i≦kを満たす場合、署名生成装置200が
送信した文書情報の正当性を確認する。次に、各構成を
説明する。図5は、本発明の第1の実施例のセンタ10
0の構成を示す。センタ100は、素数P,Qを生成す
る素数生成器110、素数P,Qを乗算するための乗算
器120、秘密情報Sj を生成するための一方向性関数
計算器130、逆数計算器140及びL乗根算出装置1
50より構成される。Step 304) Signature verification device 300
Is the public information (N, $ L) obtained from the center 300.1,
…, Lk}) And received from the signature creation device 200
(E1, ..., E k) And (Y1, ..., Yk) And document information
When the report m satisfies 1 ≦ i ≦ k, the signature generation device 200
Check the validity of the sent document information. Next, each configuration
explain. FIG. 5 shows a center 10 according to the first embodiment of the present invention.
0 is shown. The center 100 generates prime numbers P and Q.
Prime number generator 110, multiplication for multiplying prime numbers P and Q
Device 120, secret information SjOne-way function for generating
Calculator 130, reciprocal calculator 140 and Lth root calculator 1
50.
【0044】最初にシステム構築時におけるセンタの処
理として、初期情報設定処理について説明する。 [初期情報設定処理]図6は、本発明の第1の実施例の
センタ側のシステム構築時における初期情報設定処理の
フローチャートである。First, an initial information setting process will be described as a process of the center when the system is constructed. [Initial Information Setting Process] FIG. 6 is a flowchart of the initial information setting process when the center system is constructed according to the first embodiment of the present invention.
【0045】ステップ601) センタ100は、素数
生成器110を用いて、2つの素数P,Qを生成し、乗
算器120によりN=P×Qを計算する。 ステップ602) 乱数発生器(図示せず)において乱
数を生成し、k個の整数{L1 ,…,Lk }を選択す
る。但し、2≦kとする。ここで、安全性を考慮する
と、素数P,Qはそれぞれ10進70桁から100桁程
度が推奨値である。Step 601) The center 100 generates two prime numbers P and Q by using the prime number generator 110, and calculates N = P × Q by the multiplier 120. Step 602) A random number is generated in a random number generator (not shown), and k integers {L 1 ,..., L k } are selected. However, it is assumed that 2 ≦ k. Here, considering security, the prime numbers P and Q each have a recommended value of about 70 to 100 decimal digits.
【0046】ステップ603) 次に、一方向性関数計
算器130、逆数計算器140、L乗根算出装置150
を用いて秘密情報を生成する。まず、一方向性関数計算
器130は、局識別情報としてIDを用いる局よりID
を取得し、一方向性関数vjを求め、逆数計算器140
に入力する。逆数計算器140は、ステップ601で生
成されたNにより逆数1/vj を求め、L乗根算出装置
150に入力する。L乗根算出装置150は、素数P,
Qと逆数1/vj により、 Sj =(1/vj )1/Lj (mod N) (ここで、vj =f(ID,j) (1≦j≦kを満た
す)を満たす秘密情報Sj を生成する。Step 603) Next, the one-way function calculator 130, the reciprocal calculator 140, and the L-th root calculator 150
To generate secret information. First, the one-way function calculator 130 sends an ID from a station that uses the ID as the station identification information.
Is obtained, a one-way function v j is obtained, and a reciprocal calculator 140
To enter. The reciprocal calculator 140 obtains a reciprocal 1 / v j from N generated in step 601 and inputs the reciprocal 1 / v j to the L-th root calculator 150. The L-th root calculator 150 calculates the prime number P,
A secret that satisfies S j = (1 / v j ) 1 / Lj (mod N) (where v j = f (ID, j) (where 1 ≦ j ≦ k is satisfied) by Q and the reciprocal 1 / v j. Generate information S j .
【0047】ステップ604) ステップ603で生成
された秘密情報Sj を公開情報Nと共に公開情報管理簿
または、局200、300に配信する。次に、システム
に局200、300が加入する時のセンタ100の処理
を説明する。 [局のシステム加入時におけるセンタの処理]図7は、
本発明の第1の実施例の局のシステム加入時におけるセ
ンタの処理を示すフローチャートである。Step 604) The secret information S j generated in step 603 is distributed to the public information management book or the stations 200 and 300 together with the public information N. Next, processing of the center 100 when the stations 200 and 300 join the system will be described. [Process of the center when the station joins the system] FIG.
5 is a flowchart showing processing of the center when the station joins the system according to the first embodiment of the present invention.
【0048】ステップ701) センタ100に局識別
情報として局200または局300より申請されたID
が入力される。 ステップ702) センタ100は、入力されたIDに
対して一方向性関数計算器130を用いて、 vj =f(ID,j) により一方向性関数を計算し、逆数計算器140に入力
する。Step 701) ID applied to the center 100 as station identification information from the station 200 or 300.
Is entered. Step 702) The center 100 uses the one-way function calculator 130 for the input ID, calculates a one-way function by v j = f (ID, j), and inputs the one-way function to the reciprocal calculator 140. .
【0049】ステップ703) 逆数計算器140は、
入力された一方向関数vj の逆数を 1/vj (mod N) により計算し、L乗根算出装置150に1/vj を入力
する。 ステップ704) L乗根算出装置150は、合成数N
の素因数PとQを用いて、 Sj Lj≡1/vj (mod N) を満たす秘密情報Sj を生成する。なお、L乗根算出装
置の具体的な構成例は、公開鍵暗号システム(特開昭6
3−26137)に示されている。Step 703) The reciprocal calculator 140 calculates
The reciprocal of the input one-way function v j is calculated by 1 / v j (mod N), and 1 / v j is input to the Lth root calculator 150. Step 704) The L-th root calculator 150 calculates the composite number N
The secret information S j that satisfies S j Lj ≡ 1 / v j (mod N) is generated using the prime factors P and Q of Note that a specific configuration example of the L-th root calculating device is a public key cryptosystem (Japanese Patent Laid-Open No.
3-26137).
【0050】ステップ705) L乗根算出装置150
は、安全な(秘密情報Sの秘密が洩れる恐のない)通信
路400を介して各局にそれぞれの秘密情報{S1 ,
…,S k }と公開情報N,{L1 ,…,Lk }をIDを
入力した局に送信する。なお、このとき、送信せずに、
例えば、局がネットワークに加入するとき、ICカード
等に格納して渡す方法も考えられる。Step 705) L-th root calculator 150
Is a secure (without fear that the secret of the secret information S will be leaked)
Each station has its own secret information {S}1,
…, S k} And public information N, {L1, ..., LkID ID
Send to the entered station. At this time, without sending,
For example, when a station joins a network, an IC card
It is also conceivable to store the data in a file or the like.
【0051】次に、局200が局300に対して自分の
文書情報の認証を証明する手順(ディジタル署名)につ
いて説明する。以下では、局200をA(署名生成装
置)、局300をB(署名検証装置)と呼ぶ。なお、同
様にして、局300が署名生成装置、局200が署名検
証装置として動作することも可能である。署名生成装置
Aと署名検証装置Bの通信文の交信シーケンスを図8
に、署名生成装置Aの構成は図9、署名検証装置Bの構
成は図11に示す。図8は、本発明の第1の実施例の署
名生成装置と署名検証装置間の交信シーケンスを示す。
署名作成装置Aは、一方向性関数を文書情報mと署名検
証装置が検証で用いる値Xに施して作成した (E1 ,…,Ek )=f(m,X) とセンタ100より取得した秘密情報 {S1 ,…,Sk } から署名付き通信文 {ID,m,(E1 ,…,Ek ),(Y1 ,…,
Yk )} を生成する。Next, a procedure (digital signature) in which the station 200 certifies the authentication of its own document information to the station 300 will be described. Hereinafter, the station 200 is referred to as A (signature generation device), and the station 300 is referred to as B (signature verification device). Note that, similarly, the station 300 can operate as a signature generation device, and the station 200 can operate as a signature verification device. FIG. 8 shows a communication sequence of a communication message between the signature generation device A and the signature verification device B.
The configuration of the signature generation device A is shown in FIG. 9, and the configuration of the signature verification device B is shown in FIG. FIG. 8 shows a communication sequence between the signature generation device and the signature verification device according to the first embodiment of this invention.
The signature creation device A obtains (E 1 ,..., E k ) = f (m, X) from the center 100 by applying a one-way function to the document information m and the value X used for verification by the signature verification device. From the obtained secret information {S 1 ,..., S k }, a signed message {ID, m, (E 1 ,..., E k ), (Y 1 ,.
Y k )}.
【0052】署名検証装置300は、通信文 {ID,m,(E1 ,…,E)k ,(Y1 ,…,
Yk )} 及び公開情報(N,{L1 ,…,Lk },ID)を用い
て通信文が検査式を満たすことを検査する。 [署名生成装置]図9は、本発明の第1の実施例の署名
生成装置の構成を示す。The signature verification device 300 transmits the message {ID, m, (E 1 ,..., E) k , (Y 1 ,.
Y k )} and the public information (N, {L 1 ,..., L k }, ID) are used to check that the message satisfies the check formula. [Signature Generating Apparatus] FIG. 9 shows the configuration of a signature generating apparatus according to the first embodiment of the present invention.
【0053】署名生成装置Aは、乱数Rを生成する乱数
発生器210、署名検証装置300が検証で用いる値X
を求める第1の合同べき乗演算器220、通信文mと値
xに対して署名検証装置に送信する第1の通信文を生成
する一方向性関数計算器230、秘密情報Si と第 1の
通信文から第2の通信文を生成する第2の合同べき乗演
算器240、及び第3の合同べき乗演算器250、文書
情報m、一方向性関数計算器230の出力及び第3の合
同べき乗演算器250の各出力を署名情報として署名検
証装置Bに送信する送信部260より構成される。The signature generation device A includes a random number generator 210 for generating a random number R, and a value X used by the signature verification device 300 for verification.
, A one-way function calculator 230 for generating a first message to be transmitted to the signature verification device for the message m and the value x, a secret information S i and a first A second joint exponentiation unit 240 and a third joint exponentiation unit 250 for generating a second communication sentence from a communication sentence, the document information m, the output of the one-way function calculator 230 and a third joint exponentiation operation And a transmission unit 260 for transmitting each output of the device 250 to the signature verification apparatus B as signature information.
【0054】図10は、本発明の第1の実施例の署名生
成動作を示すフローチャートである。 ステップ901) 署名作成装置Aは、乱数発生器21
0より乱数Rを生成し、第1の合同べき乗演算器220
と第2の合同べき乗演算器240に出力する。 ステップ902) 第1の合同べき乗演算器220は、
乱数R、公開情報{L 1 ,…,Lk }、Nが入力される
と、 X=RL (mod N) により署名検証装置300が検査で用いる値である共通
値Xを計算する。ここでL=L1 ×…×Lk とする。FIG. 10 shows a signature generator according to the first embodiment of the present invention.
6 is a flowchart illustrating a generating operation. Step 901) The signature generation device A starts the random number generator 21
A random number R is generated from 0, and the first joint exponentiation unit 220
And to the second joint exponentiation operator 240. Step 902) The first joint exponentiation operator 220 calculates
Random number R, public information @L 1, ..., Lk}, N is input
And X = RL(Mod N) is a common value that is used by the signature verification device 300 for inspection.
Calculate the value X. Where L = L1×… × LkAnd
【0055】ステップ903) 一方向性関数計算器2
30は、文書情報mと共通値Xにより、 (E1 ,…,Ek )=f(m,X) を求める。 ステップ904) 第2の合同べき乗演算器240は、
乱数発生器210より入力された乱数Rと公開情報{L
1 ,…,Lk }、Nから、 Ri =RL/Li(mod N) を計算する(1≦i≦k)。ここで、 L/Li =L1 ×…×L(i -1)×L(i +1)×…×Lk となる。Step 903) One-way function calculator 2
30 obtains (E 1 ,..., E k ) = f (m, X) from the document information m and the common value X. Step 904) The second joint exponentiation operator 240 calculates
Random number R input from random number generator 210 and public information {L
Calculate R i = R L / Li (mod N) from 1 ,..., L k }, N (1 ≦ i ≦ k). Here, L / L i = L 1 × ··· L (i − 1) × L (i + 1) ··· × L k .
【0056】ステップ905) 第3の合同べき乗演算
器250は、第2の合同べき乗演算器240より入力さ
れたRi と上記で求められたEi と秘密情報Si と公開
情報Nから、 Yi =Ri ×Si Ei (mod N) を計算する。但し、1≦i≦kとする。Step 905) The third joint exponentiation unit 250 calculates Y from the R i input from the second joint exponentiation unit 240, E i , secret information S i, and public information N obtained above. Calculate i = R i × S i Ei (mod N). However, it is assumed that 1 ≦ i ≦ k.
【0057】ステップ906) 送信部260は、上記
ステップ903において一方向性関数計算機230で求
められた(E1 ,…,Ek )、ステップ905において
第3の合同べき乗演算器250より求められた署名成分
(Y1 ,…,Yk )にIDを付加して、{ID,m,
(E1 ,…,Ek ),(Y1 ,…,Yk )}を文書情報
mの署名情報として署名検証装置Bに送信する。Step 906) The transmitting section 260 obtains (E 1 ,..., E k ) obtained by the one-way function calculator 230 in step 903, and obtains the result by the third joint exponentiation calculator 250 in step 905. ID is added to the signature component (Y 1 ,..., Y k ), and ΔID, m,
(E 1 ,..., E k ), (Y 1 ,..., Y k )} are transmitted to the signature verification device B as signature information of the document information m.
【0058】[署名検証装置]図11は、本発明の第1
の実施例の署名検証装置の構成を示す。同図に示す署名
検証装置Bは、公開情報と署名生成装置から受け取った
情報に基づいて一方向性関数を求める第1の一方向性関
数計算器310、検査式を求める合同べき乗演算器32
0、第1の一致検査器330、第2の一方向性関数計算
器340、及び第2の一致検査器350より構成され
る。[Signature Verification Apparatus] FIG. 11 shows a first embodiment of the present invention.
1 shows a configuration of a signature verification device according to the embodiment. The signature verification device B shown in the figure includes a first one-way function calculator 310 for obtaining a one-way function based on public information and information received from a signature generation device, and a joint power calculator 32 for obtaining a check formula.
0, a first match checker 330, a second one-way function calculator 340, and a second match checker 350.
【0059】図12は、本発明の第1の実施例の署名検
証動作を示すフロチャートである。 ステップ1001) 署名検証装置Bは、署名生成装置
Aから署名情報{ID,m,(E1 ,…,Ek ),(Y
1 ,…,Yk )}を受信すると、IDを一方向性関数計
算機310に入力して、一方向性関数、 vi =f(ID,i) を計算する。但し、1≦i≦kとする。FIG. 12 is a flowchart showing a signature verification operation according to the first embodiment of the present invention. Step 1001) The signature verification device B sends the signature information {ID, m, (E 1 ,..., E k ), (Y
1, ..., receives the Y k)}, by entering the ID to the one-way function calculator 310, a one-way function, v i = f (ID, i) is calculated. However, it is assumed that 1 ≦ i ≦ k.
【0060】ステップ1002) 次に、合同べき乗演
算器320は、署名生成装置Aより受信した{E1 ,
…,Ek },{Y1 ,…,Yk }及びセンタ100から
受信した公開情報{L1 ,…,Lk },Nにより、 Zi =Yi Li×vi Ei (mod N) でZi 計算する。但し、1≦i≦kとする。Step 1002) Next, the joint exponentiation operator 320 receives the {E 1 ,
..., E k}, {Y 1, ..., public information received from the Y k} and the center 100 {L 1, ..., L k}, the N, Z i = Y i Li × v i Ei (mod N) Is used to calculate Z i . However, it is assumed that 1 ≦ i ≦ k.
【0061】ステップ1003) 第1の一致検査器3
30は、検査式 Zi =…=Zk が成り立つかを検査し、成立しなければステップ100
7に移行する。 ステップ1004) 次に、第2の一方向性関数計算器
340は、文書情報mと第1の一致検査器330で合格
となった{Zi }が入力されると、 W=f(m,Z1 ,…Zk } の一方向性関数を計算し、(E1 ,…,Ek )とWを第
2の一致検査器350に入力する。Step 1003) First coincidence checker 3
30 checks whether the check formula Z i =... = Z k holds, and if not, step 100
Move to 7. Step 1004) Next, the second one-way function calculator 340 receives the document information m and {Z i } passed by the first coincidence checker 330, and obtains W = f (m, The one- way function of Z 1 ,... Z k計算 is calculated, and (E 1 ,..., E k ) and W are input to the second coincidence checker 350.
【0062】ステップ1005) 第2の一致検査器3
50は、第2の一方向性関数計算器から(E1 ,…,E
k )と値Wが入力されると、(E1 ,…,Ek )=Wが
成立するかを判断し、成立する場合には、ステップ10
06に移行し、成立しない場合には、ステップ1007
に移行する。 ステップ1006) 2つの値が同じであれば、合格と
判断する。Step 1005) Second coincidence checker 3
50 is obtained from the second one-way function calculator (E 1 ,..., E
k ) and the value W are inputted, it is determined whether or not (E 1 ,..., E k ) = W is satisfied.
06, if not satisfied, step 1007
Move to Step 1006) If the two values are the same, it is determined to be acceptable.
【0063】ステップ1007) 2つの値が異なるの
であれば、不合格と判断する。なお、上記のYi の作り
方は、Yi Li ×vi i ≡X (mod N)が成り立つ
(1≦i≦k)。この数値例として、k=2でL1 =
3,L2 =5とするこのとき、L=15となる。 Y1 =RL/L1 ×S1 E1=RL2 ×S1 E1=R5 ×S1 E1(mod N) Y2 =RL/L2 ×S2 E2=RL1 ×S2 E2=R3 ×S2 E2(mod N) となる。Step 1007) If the two values are different, it is determined to be rejected. It should be noted, how to make the above-mentioned Y i is, Y i Li × v i i ≡X (mod N ) is established (1 ≦ i ≦ k). As an example of this numerical value, when k = 2 and L 1 =
3, L 2 = 5. At this time, L = 15. Y 1 = R L / L1 × S 1 E1 = R L2 × S 1 E1 = R 5 × S 1 E1 (mod N) Y 2 = R L / L2 × S 2 E2 = R L1 × S 2 E2 = R 3 × S 2 E2 (mod N).
【0064】ここで、 S1 L1≡S1 3 ≡1/v(mod N)よりS1 3×v1 ≡1(mod N) S2 L2≡S2 5 ≡1/v(mod N)よりS2 5×v1 ≡1(mod N) を満たすので、 Y1 L1 ×v1 E1≡R5 ×(S1 3E1×v1 E1)≡(R5 )3 ≡X (mod N) Y2 L2 ×v2 E2≡R3 ×(S2 5E1×v2 E2)≡(R3 )5 ≡X (mod N) が成り立つ。[0064] Here, S 1 L1 ≡S 1 3 ≡1 / v S 1 3 × than (mod N) v 1 ≡1 ( mod N) S 2 L2 ≡S 2 5 ≡1 / v from (mod N) since S 2 5 × v 1 ≡1 satisfy (mod N), Y 1 L1 × v 1 E1 ≡R 5 × (S 1 3E1 × v 1 E1) ≡ (R 5) 3 ≡X (mod N) Y 2 L2 × v 2 E2 ≡R 3 × (S 2 5E1 × v 2 E2) ≡ (R 3) 5 ≡X (mod N) is established.
【0065】〔第2の実施例〕 利用者正当性認証処理 ここまでは、文書情報の認証手段について説明したが、
以下に、通信相手を確認する利用者認証について説明す
る。図13は、本発明の第2の実施例のシステム構成を
示す。同図に示すシステムは、センタ100、利用者装
置600、検証装置700より構成される。センタ10
0と利用者装置600、検証装置700は安全な通信路
400で接続されているが、利用者装置600と検証装
置700との間は機密の漏洩の可能性がある安全ではな
い通信路500により接続されている。[Second Embodiment] User Validity Authentication Processing So far, the authentication means for document information has been described.
Hereinafter, user authentication for confirming a communication partner will be described. FIG. 13 shows a system configuration of the second embodiment of the present invention. The system shown in the figure includes a center 100, a user device 600, and a verification device 700. Center 10
0, the user device 600, and the verification device 700 are connected via a secure communication channel 400, but the insecure communication channel 500 between the user device 600 and the verification device 700 has a possibility of leaking confidentiality. It is connected.
【0066】本実施例では、認証装置700が通信相手
となる利用者装置600について検証を行うものであ
る。図14は、本発明の第2の実施例の利用者認証にお
ける被検証装置と検証装置の通信文の交信の概略を示す
シーケンスチャートである。被検証装置である利用者装
置600が検証装置700に検査で用いられる共通値X
を送信し(ステップ1101)、検証装置700はX成
分を受信し、k個の乱数成分からなるEi 成分(E1 ,
…,Ek )を利用者装置600に送信すると(ステップ
1102)、利用者装置600は、受信したEi 成分よ
りYi 成分を生成し、自IDを付与して、通信文{I
D,Y1 ,…,Yk }を検証装置700に送信する(ス
テップ1103)。これにより、検証装置700は、受
信した通信文により利用者装置600の正当性を検証す
る。In the present embodiment, the authentication device 700 verifies the user device 600 as a communication partner. FIG. 14 is a sequence chart showing an outline of communication of a message between a device to be verified and a verification device in user authentication according to the second embodiment of the present invention. The common value X used by the user device 600, which is the device to be verified, for the verification by the verification device 700.
(Step 1101), the verification device 700 receives the X component, and the E i component (E 1 , E 1 ) composed of k random number components
, E k ) to the user device 600 (step 1102), the user device 600 generates a Y i component from the received E i component, assigns its own ID, and sends the message {I
D, Y 1, ..., and transmits to the verification device 700 of the Y k} (step 1103). Thus, the verification device 700 verifies the validity of the user device 600 based on the received message.
【0067】センタ100と利用者装置600の構成
は、第1の実施例の署名生成装置200の構成と同様の
ものとする。図15は、本発明の第2の実施例の利用者
検証における検証装置の構成を示す。同図に示す検証装
置700の構成は一方向性関数計算器710、合同べき
乗演算器720、一致検査器730、乱数発生器750
及び送信部760より構成される。The configuration of the center 100 and the user device 600 is the same as the configuration of the signature generation device 200 of the first embodiment. FIG. 15 shows a configuration of a verification device in user verification according to the second embodiment of the present invention. The configuration of the verification device 700 shown in FIG. 11 includes a one-way function calculator 710, a joint exponentiation operator 720, a coincidence checker 730, and a random number generator 750.
And a transmission unit 760.
【0068】図16は、本発明の第2の実施例の動作の
シーケンスチャートを示す。 ステップ1201) センタ100は、素数生成器11
0を用いて、2つの素数P,Qを生成し、乗算器120
によりN=P×Qを計算する。さらに、乱数発生器(図
示せず)において乱数を生成し、k個の整数{L1 ,
…,Lk }を選択する。但し、2≦kである。次に、一
方向性関数計算器130、逆数計算器140、L乗根算
出装置150を用いて秘密情報を生成する。まず、一方
向性関数計算器130は、局識別情報としてIDを用い
る局よりIDを取得し、一方向性関数vj を求め、逆数
計算器140に入力する。逆数計算器140は、合成数
Nより逆数1/vj を求め、L乗根算出装置150に入
力する。L乗根算出装置150は、素数P,Qと逆数1
/vj により、 Sj =(1/vj )1/Lj (mod N) (ここで、vj =f(ID,j) (1≦j≦kを満た
す)を満たす秘密情報Sj を生成し、利用者装置600
に送信する。FIG. 16 is a sequence chart showing the operation of the second embodiment of the present invention. Step 1201) The center 100 executes the prime number generator 11
0 to generate two prime numbers P and Q,
To calculate N = P × Q. Further, a random number is generated in a random number generator (not shown), and k integers {L 1 ,
.., L k }. However, 2 ≦ k. Next, secret information is generated using the one-way function calculator 130, the reciprocal calculator 140, and the L-th root calculator 150. First, the one-way function calculator 130 acquires an ID from a station that uses the ID as station identification information, obtains a one-way function v j , and inputs it to the reciprocal calculator 140. The reciprocal calculator 140 obtains the reciprocal 1 / v j from the composite number N and inputs it to the L-th root calculator 150. The L-th root calculator 150 calculates the prime numbers P and Q and the reciprocal 1
The / v j, S j = ( 1 / v j) 1 / Lj (mod N) ( where, v j = f (ID, j) the secret information S j satisfying (satisfy 1 ≦ j ≦ k) Generate and generate user device 600
Send to
【0069】ステップ1202) 利用者装置600
は、乱数生成器210を用いて生成した乱数Rを第1の
合同べき乗演算器220に入力し、 X=RL (mod N) より求め、検証装置700に送信する。 ステップ1203) 検証装置700は、Xを受信する
と、乱数発生器750を用いて、(E1 ,…,Ek )を
生成し、送信部760を介して利用者装置600に送信
する。Step 1202) User device 600
Inputs the random number R generated by using the random number generator 210 to the first joint exponentiation calculator 220, finds X = R L (mod N), and transmits it to the verification device 700. Step 1203) Upon receiving X, the verification device 700 generates (E 1 ,..., E k ) using the random number generator 750, and transmits it to the user device 600 via the transmission unit 760.
【0070】ステップ1204) 利用者装置600
は、(E1 ,…,Ek )を受信し、センタ100からの
秘密情報{S1 ,…,Sk }、乱数Rと受信した
(E1 ,…,Ek )により合同べき乗数演算器250を
用いて、 Yi =Ri ×Si Ei(mod N) (但し、iは、1≦i≦k) より(Y1 ,…,Yk )を計算して、通信文{ID,
(Y1 ,…,Yk )}を検証装置700に送信する。Step 1204) User device 600
Is, (E 1, ..., E k) receiving the secret information {S 1, ..., S k } from the center 100, and the received random number R (E 1, ..., E k) Joint exponent calculated by By using the device 250, (Y 1 ,..., Y k ) is calculated from Y i = R i × S i Ei (mod N) (where i is 1 ≦ i ≦ k), and the message {ID ,
(Y 1 ,..., Y k )} to the verification device 700.
【0071】ステップ1205) 検証装置700は、
公開情報(N,{L1 ,…,Lk })と利用装置700
から受信したID,Yi 成分(Y1 ,…,Yk )より一
方向性関数計算器710を用いて、 vi =f(ID,i) (但し、iは1≦i≦k) を計算し、合同べき乗演算器720に入力する。合同べ
き乗演算器720は、 Zi =Yi Li×vi Ei (mod N) を計算し、一致検査器730に入力する。一致検査器7
30は、被検証装置から受信した(Y1 ,…,Yk )
が、1≦i≦kを満たすいずれのiにおいても、ID,
Yi とEi から求めた値がXに一致するとき、利用者装
置600は正当な利用者であると判定する。Step 1205) The verification device 700
Public information (N, {L 1 ,..., L k }) and utilization device 700
Using the one-way function calculator 710 from the ID and Y i components (Y 1 ,..., Y k ) received from V i = f (ID, i) (where i is 1 ≦ i ≦ k) The calculated value is input to the joint power calculator 720. Joint power calculator 720 calculates the Z i = Y i Li × v i Ei (mod N), is input to the coincidence checking unit 730. Match checker 7
30, (Y 1 ,..., Y k ) received from the device to be verified
For any i that satisfies 1 ≦ i ≦ k, ID,
When the value obtained from Y i and E i matches X, the user device 600 determines that the user is a valid user.
【0072】なお、本発明は、上記の実施例に限定され
るものではなく、特許請求の範囲内で種々、応用・変更
が可能である。The present invention is not limited to the above-described embodiment, and various applications and modifications are possible within the scope of the claims.
【0073】[0073]
【発明の効果】上述の本発明によれば以下のような効果
を得ることが可能である。 (1)署名作成装置の処理量 一方向性関数の計算と加算は、乗算より高速なので、署
名作成装置の処理量を乗算(但し、法Nによる剰余計算
を含む)の回数を用いて比較する。According to the present invention described above, the following effects can be obtained. (1) Processing Amount of Signature Creation Apparatus The calculation and addition of the one-way function are faster than the multiplication, and therefore the comparison is made using the number of times the processing quantity of the signature creation apparatus is multiplied (including the remainder calculation by the modulus N). .
【0074】RSA暗号を用いる方式:(3log2N)/
2回 FiatとShamirの方式: t(k+2)/2回 本発明:(3kb+1)回 (但し、b=log2Li とす
る) 例えば、安全係数を2-72 とすると、log2N=512の
とき、 RSA暗号を用いる方式:770回 FiatとShamirの方式: 40回(k=18,t=4のと
き) 本発明:19回(k=2,L1 =3,L2 =5のとき) 従って、本発明では、RSA暗号を用いる方式の40倍
以上、FiatとShamirの方式の2倍以上の処理速度とな
る。System using RSA encryption: (3 log 2 N) /
Twice Fiat and Shamir scheme: t (k + 2) / 2 times the present invention: (3 kb + 1) times (where a b = log 2 L i) For example, if a safety factor to 2 -72, log 2 N = 512 , RSA encryption method: 770 times Fiat and Shamir method: 40 times (when k = 18, t = 4) The present invention: 19 times (k = 2, L 1 = 3, L 2 = 5) Therefore, according to the present invention, the processing speed is 40 times or more that of the method using the RSA encryption and twice or more that of the method of Fiat and Shamir.
【0075】(2)通信文の冗長度 RSA暗号を利用した方式での通信文は、{ID,m,
D(f(m))}であり、FiatとShimirの方式での通信
文は{ID,m,(eij),y1 ,…,yt }であり、
本発明での通信文は{ID,m,E1 ,…,Y1 ,…,
Yk }である。ここで、D(f(m))のビット数はN
のビット数に等しく、(eij)のビット数は(k×t)
ビットで、y1 ,…,yt のビット数はNのビット数に
等しい。また、Ei は、bビット、Yi のビット数はN
のビット数に等しい(但し、b=log2Li )。(2) Redundancy of Message The message in the system using the RSA encryption is represented by {ID, m,
D (f (m))}, and the message in the Fiat and Shimir scheme is {ID, m, (e ij ), y 1 ,..., Y t },
The message in the present invention is {ID, m, E 1 ,..., Y 1 ,.
Y k }. Here, the number of bits of D (f (m)) is N
And the number of bits in (e ij ) is (k × t)
In bits, the number of bits in y 1 ,..., Y t is equal to the number of bits in N. E i is b bits, and Y i is N bits.
(Where b = log 2 L i ).
【0076】署名付き通信文のビット数をNが512ビ
ットの場合で比較すると、 RSA暗号を用いる方式:512+mのビット数 FiatとShimirの方式:512t+kt+mのビット数 本発明:512k+kb+mのビット数(k=2,b=
3と選ぶことができる)となる。Comparing the number of bits of a message with a signature when N is 512 bits, the method using the RSA encryption: the number of bits of 512 + m Fiat and the method of Shimir: the number of bits of 512t + kt + m The present invention: the number of bits of 512k + kb + m = 2, b =
3 can be selected).
【0077】これにより、 RSA暗号を利用する方式<本発明<FiatとShimirの方
式 となる。従って、本発明の通信文の冗長度は、FiatとSh
imirの方式でt≧2とおいた場合より、改善されている
ことが分かる。 (3) 送信者における秘密情報量 RSA暗号を利用する方式では、送信者の管理する秘密
情報量は、Nのビット数(512ビット)程度となる。
一方、FiatとShimirの方式と本発明での秘密情報量はk
×(Nのビット数)(即ち、512×kビット)程度で
ある。但し、本発明ではk=2と選べるが、FiatとShim
irの方式ではk=18が推奨されているので、本発明で
は利用者におる秘密情報量を大幅に削減できる。As a result, the system using the RSA encryption <the present invention <the system of Fiat and Shimir. Therefore, the redundancy of the message according to the present invention is Fiat and Sh.
It can be seen that it is better than the case where t ≧ 2 in the imir method. (3) Amount of Secret Information in Sender In the method using the RSA encryption, the amount of secret information managed by the sender is about N bits (512 bits).
On the other hand, the amount of secret information in the Fiat and Shimir scheme and the present invention is k
× (the number of bits of N) (that is, 512 × k bits). However, in the present invention, k = 2 can be selected, but Fiat and Shim
Since k = 18 is recommended in the ir method, the present invention can greatly reduce the amount of secret information for the user.
【0078】(4) 安全性の根拠 公開情報(N,L1 ,ID)から秘密情報(P,Q,S
i )を計算できないことは、素因数分解が困難なこと、
及び提示のべき乗根(Li 乗根)の計算が困難なことに
よって保証でき、署名検証者が署名作成者の秘密情報を
入手できないことは、本発明の方式が計算量理論の理論
的な研究成果である零知識対話型証明システム性や非転
移性を満たすことによって保証できる。(4) Security Grounds The public information (N, L 1 , ID) is converted into secret information (P, Q, S).
The inability to calculate i ) means that factoring is difficult,
And it is guaranteed by be difficult calculation of power root of presentation (L i root), the signature that the verifier is unable to obtain secret information of the signature creator, method is the theoretical study of computational complexity theory of the present invention It can be guaranteed by satisfying the zero-knowledge interactive proof system and non-transferability that are the results.
【0079】零知識対話型証明システム性及び非転移性
については、例えば、Feige,U., Fiat,A. and Shamir,
A. "Zero Knowledge Proofs of Indentity" Proceeding
s ofthe 19th Annual ACM Symposium on Theory of Com
puting, 1987, pp. 210-217.を参照されたい。Regarding the zero-knowledge interactive proof system property and non-transferability, see, for example, Feige, U., Fiat, A. and Shamir,
A. "Zero Knowledge Proofs of Indentity" Proceeding
s ofthe 19th Annual ACM Symposium on Theory of Com
See puting, 1987, pp. 210-217.
【図1】本発明の原理を説明するための図(その1)で
ある。FIG. 1 is a diagram (part 1) for explaining the principle of the present invention;
【図2】本発明の原理を説明するための図(その2)で
ある。FIG. 2 is a diagram (part 2) for explaining the principle of the present invention;
【図3】本発明の第1の実施例のシステム構成図であ
る。FIG. 3 is a system configuration diagram of a first embodiment of the present invention.
【図4】本発明の第1の実施例の文書情報正当性を検査
する動作の概要を示すシーケンスチャートである。FIG. 4 is a sequence chart showing an outline of an operation for checking the validity of document information according to the first embodiment of the present invention.
【図5】本発明の第1の実施例のセンタの構成図であ
る。FIG. 5 is a configuration diagram of a center according to the first embodiment of the present invention.
【図6】本発明の第1の実施例のセンタ側のシステム構
築時における初期情報設定処理のフローチャートであ
る。FIG. 6 is a flowchart of an initial information setting process when constructing a system on the center side according to the first embodiment of this invention.
【図7】本発明の第1の実施例の局のシステム加入時に
おけるセンタの処理を示すフローチャートである。FIG. 7 is a flowchart showing processing of the center when the station joins the system according to the first embodiment of this invention.
【図8】本発明の第1の実施例の署名生成装置と署名検
証装置間のシーケンスチャートである。FIG. 8 is a sequence chart between the signature generation device and the signature verification device according to the first embodiment of this invention.
【図9】本発明の第1の実施例の署名生成装置の構成図
である。FIG. 9 is a configuration diagram of a signature generation device according to the first exemplary embodiment of the present invention.
【図10】本発明の第1の実施例の署名生成動作を示す
フローチャートである。FIG. 10 is a flowchart illustrating a signature generation operation according to the first embodiment of this invention.
【図11】本発明の第1の実施例の署名検証装置者の構
成図である。FIG. 11 is a configuration diagram of a signature verification device person according to the first embodiment of this invention.
【図12】本発明の第1の実施例の署名検証動作を示す
フローチャートである。FIG. 12 is a flowchart illustrating a signature verification operation according to the first embodiment of this invention.
【図13】本発明の第2の実施例のシステム構成図であ
る。FIG. 13 is a system configuration diagram of a second embodiment of the present invention.
【図14】本発明の第2の実施例の利用者認証における
被認証装置と検証装置の交信の概要を示すシーケンスチ
ャートである。FIG. 14 is a sequence chart showing an outline of communication between a device to be authenticated and a verification device in user authentication according to a second embodiment of the present invention.
【図15】本発明の第2の実施例の検証装置の構成図で
ある。FIG. 15 is a configuration diagram of a verification device according to a second embodiment of the present invention.
【図16】本発明の第2の実施例の動作シーケンスチャ
ートである。FIG. 16 is an operation sequence chart of the second embodiment of the present invention.
100 センタ 110 素数生成器 120 乗算器 130 一方向性関数計算器 140 逆数計算器 150 L乗根算出装置 200 局 210 乱数発生器 220 第1の合同べき乗演算器 230 一方向性関数計算器 240 第2の合同べき乗演算器 250 第3の合同べき乗演算器 260 送信部 300 局 310 第1の一方向性関数計算器 320 合同べき乗演算器 330 第1の一致検査器 340 第2の一方向性関数計算器 350 第2の一致検査器 360 送信部 400 安全な通信路 500 安全でない通信路 600 利用者装置 700 検証装置 710 一方向性計算器 720 合同べき乗演算器 730 一致検査器 750 乱数発生器 760 送信部 REFERENCE SIGNS LIST 100 center 110 prime number generator 120 multiplier 130 one-way function calculator 140 reciprocal calculator 150 L-root calculator 200 station 210 random number generator 220 first joint exponentiation calculator 230 one-way function calculator 240 second Joint exponentiation unit 250 third joint exponentiation unit 260 transmitter 300 station 310 first one-way function calculator 320 joint exponentiation operator 330 first coincidence checker 340 second one-way function calculator 350 Second coincidence checker 360 Transmitter 400 Secure communication channel 500 Insecure communication channel 600 User device 700 Verification device 710 One-way calculator 720 Joint exponentiation operator 730 Matching tester 750 Random number generator 760 Transmitter
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−101987(JP,A) 特開 平1−209834(JP,A) 特開 平1−133092(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 9/32 G09C 1/00 640 JICSTファイル(JOIS)────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-63-101987 (JP, A) JP-A-1-209834 (JP, A) JP-A-1-133092 (JP, A) (58) Field (Int.Cl. 7 , DB name) H04L 9/32 G09C 1/00 640 JICST file (JOIS)
Claims (9)
るとき、該利用者装置が文書情報と共に送信する署名情
報の内容を署名検証装置が分析し、該文書情報の正当性
を確認するための文書情報の正当性の認証方法におい
て、 システム構築時に初期情報設定処理として、 センタ装置は、 素数(P,Q)を生成して秘密に保持し、 前記素数(P,Q)の積N(N=P×Q)とk個の整数
{L1 ,…,Lk }(k≧2)を公開情報(N,{L
1 ,…,Lk })として公開し、 さらに、識別子としてIDを用いる利用者がシステムに
加入するとき、IDに関連するk個の秘密情報{S1 ,
…,Sk }を、{L1 ,…,Lk }と秘密のPとQを用
いて計算して、前記利用者装置に送信し、 前記利用者装置は、 署名生成処理として、前記素数の積Nを法とする剰余演
算のもとで乱数RをL(L=L1 ×…×Lk )乗して前
記署名検証装置が検査で用いる値Xを X=RL (mod N) により求め、 署名対象となる文書情報mと前記値Xに対して一方向性
関数fを用いて第1の通信文成分 (E1 ,…,Ek )=f(m,X) を計算し、 さらに、前記秘密情報{S1 ,…,Sk }と前記乱数R
と第1の通信文成分(E1 ,…,Ek )から第2の通信
文成分(Y1 ,…,Yk )を計算して署名付き文書情報 {ID,m,(E1 ,…,Ek ),(Y1 ,…,Y
k )} を生成して、前記署名検証装置に送信し、 前記署名検証装置は、 1≦i≦kを満たすいずれのiにおいても、ID,Y i
とEi から求めた値がXに一致し、かつ、一致する値を
Zとおいたとき、 (E1 ,…,Ek )=f(m,Z) を満たす場合、前記利用者装置が送信した文書情報の正
当性を確認することを特徴とする文書情報の正当性認証
方法。When a user device operates as a signature generation device, a signature verification device analyzes the content of signature information transmitted by the user device together with document information, and confirms the validity of the document information. In the method of authenticating the validity of document information, as an initial information setting process at the time of system construction, the center device generates a prime number (P, Q) and keeps it secret, and a product N (N) of the prime numbers (P, Q). = P × Q) and k integers {L 1 ,..., L k } (k ≧ 2) are made public information (N, {L
1, ..., and published as L k}), further, when the user using the ID as an identifier to subscribe to the system, k pieces of secret information {S 1 associated with the ID,
, S k } are calculated using {L 1 ,..., L k } and secret P and Q, and transmitted to the user device. The user device performs the prime generation as a signature generation process. Is multiplied by L (L = L 1 ×... L k ) under the remainder operation modulo N, and the value X used by the signature verification device in the check is X = R L (mod N) The first message component (E 1 ,..., E k ) = f (m, X) is calculated using the one-way function f for the document information m to be signed and the value X. further, the secret information {S 1, ..., S k } the random number R
And the first message component (E 1 ,..., E k ), the second message component (Y 1 ,..., Y k ) is calculated, and the signed document information {ID, m, (E 1 ,. , E k ), (Y 1 ,..., Y
k )} is generated and transmitted to the signature verification device, and the signature verification device generates ID, Y i for any i satisfying 1 ≦ i ≦ k.
Consistent with the values obtained from E i is the X, and, when the matching value was placed and Z, (E 1, ..., E k) = f (m, Z) if it meets the user device transmits Document information validity authentication method characterized by confirming the validity of document information obtained.
により素数P,Qを生成して秘密に保持し、 乗算器により前記素数PとQを乗算し、その積Nと乱数
発生器で生成されたk個の整数{L1 ,…,Lk }(k
≧2)を前記利用者装置に公開し、 前記識別子としてIDを用いる前記利用者がシステムに
加入する際には、該IDに関連するk個の秘密情報{S
1 ,…,Sk }を一方向性関数計算器、逆数計算器及び
L乗根計算器を用いて、 S=(1/Vj )1/Lj(mod N) (但し、jは、1≦j≦kを表す整数で、Vj =f(I
D,j)) により計算して前記利用者装置に送信する請求項1記載
の文書情報の正当性認証方法。2. In the center apparatus, as processing information setting processing at the time of system construction, prime numbers P and Q are generated and kept secret by a prime number generator, and the prime numbers P and Q are multiplied by a multiplier. The product N and k integers {L 1 ,..., L k } (k
≧ 2) to the user device, and when the user who uses an ID as the identifier joins the system, k pieces of secret information {S
1, ..., a one-way function calculator to S k}, with reciprocal calculators and L root calculator, S = (1 / V j ) 1 / Lj (mod N) ( where, j is 1 ≤j≤k, where V j = f (I
2. The method according to claim 1, wherein the calculated value is calculated according to D, j) and transmitted to the user device.
から前記署名検証装置が検査で用いる値Xを合同べき乗
演算器を用いて、 X=RL (mod N)(但し、L=L1 ×L2 ×Lk とす
る) より計算し、 署名対象となる文書情報mと前記値Xに対して一方向性
関数計算器により、 (E1 ,…,Ek )=f(m,X) を計算し、 前記乱数Rと前記公開情報{L1 ,…,Lk }から、 Ri =RL/Li(mod N)(1≦i≦k) を計算し、 前記秘密情報{S1 ,…,Sk }と前記Ri と前記第1
の通信文成分(E1 ,…,Ek )に対して、合同べき乗
演算器を用いて、 Yi =Ri ×Si Ei(mod N) (但し、1≦i≦
kを満たす整数) より前記第2の通信文成分(Yi ,…,Yk )を計算
し、 前記第1の通信文成分(E1 ,…,Ek )と前記第2の
通信文成分(Yi ,…,Yk )に文書情報m及び前記I
Dを付加した署名付き文書情報{ID,m,(E1 ,
…,Ek ),(Yi ,…,Yk )}を生成し、前記署名
検証装置に送信する請求項1記載の文書情報の正当性認
証方法。3. The method according to claim 1, wherein the user device generates a random number R using a random number generator as a signature generation process.
From the above, the value X used in the inspection by the signature verification device is calculated using the congruential exponentiation unit from X = RL (mod N) (where L = L 1 × L 2 × L k ). (E 1 ,..., E k ) = f (m, X) is calculated by the one-way function calculator for the document information m and the value X, and the random number R and the public information {L 1 , ..., a L k}, R i = R L / Li (mod N) and (1 ≦ i ≦ k) calculated, the secret information {S 1, ..., S k} and wherein the R i first
For the message components (E 1 ,..., E k ), Y i = R i × S i Ei (mod N) (where 1 ≦ i ≦
k), the second message component (Y i ,..., Y k ) is calculated from the first message component (E 1 ,..., E k ) and the second message component. (Y i ,..., Y k ) contain the document information m and the I
D attached document information {ID, m, (E 1 ,
.., E k ), (Y i ,..., Y k )}, and transmits to the signature verification device.
(E1 ,…,Ek ),(Yi ,…,Yk )}を受け取る
と、一方向性関数計算器を用いて、 Vi =f(ID,i) (但し、iは、1≦i≦kを満
たす整数) を計算し、 公開情報(N{L1 ,…,Lk })と前記利用者装置か
ら受信した前記第1の通信文成分(E1 ,…,Ek )、
前記第2の通信文成分(Yi ,…,Yk )及び、Vi よ
り、合同べき乗演算器を用いて、 Zi =Yi Li×Vi Ei (mod N) を計算し、 一致検査器により、Z1 =……=Zk が成り立つかを検
査し、 一方向性関数計算器によりw=f(m,Z1 ,…,Z
k )を計算し、 一致検査器により、w=(E1 ,…,Ek )が成り立つ
かを検査し、 2つの一致検査器により各等式が成立するとき、前記利
用者装置から受信した前記署名付き文書情報が正当であ
ると判定する請求項1記載の文書情報の正当性認証方
法。4. The signature verification device, wherein the signed document information {ID, m,
When (E 1 ,..., E k ), (Y i ,..., Y k )} are received, V i = f (ID, i) (where i is 1 ≦ i ≦ k), and public information (N {L 1 ,..., L k }) and the first message component (E 1 ,..., E k ) received from the user device ,
From the second message component (Y i ,..., Y k ) and V i , Z i = Y i Li × V i Ei (mod N) the vessel, Z 1 = ...... = to check whether the Z k is true, w = f (m by the one-way function calculator, Z 1, ..., Z
k ) is checked by a coincidence checker to determine whether w = (E 1 ,..., E k ) is satisfied. When each equation is satisfied by the two coincidence checkers, the result is received from the user device. 2. The method according to claim 1, wherein the signed document information is determined to be valid.
ついて該検証装置が分析して、利用者の正当性を確認す
るための利用者の正当性確認方法において、システム構
築時に初期情報設定処理として、 センタ装置において、 2つの素数(P,Q)を生成して秘密に保持し、 前記素数の積N(N=P×Q)とk個の整数{L1 ,
…,Lk }(K≧2)を公開情報(N,{L1 ,…,L
k })として公開し、 前記センタ装置において、 識別子としてIDを用いる利用者がシステムに加入する
とき、該IDに関連するk個の秘密情報{S1 ,…,S
k }を前記{L1 ,…,Lk }と秘密の前記素数PとQ
を用いて計算し、前記利用者装置に送信し、 前記利用者装置は、被認証処理として、 前記検証装置で用いる値Xを、乱数RをL(L=L1 ×
…×Lk )乗し、Nを法とする剰余演算 X=RL (mod N) により求め、該検証装置に送信し、 前記検証装置は、k個の乱数成分からなる第1の通信文
(E1 ,…,Ek )を前記利用者装置に送信し、 前記利用者装置は、前記センタ装置から取得した前記公
開情報{L1 ,…,Lk }と乱数Rから、 Ri =RL/Li(mod N) を求め、 前記秘密情報{S1 ,…,Sk }と、前記乱数Rと前記
第1の通信文(E1 ,…,Ek )及び前記Ri から Yi =Ri ×Si Ei(mod N) (但し、iは、1≦i
≦k) により、第2の通信文(Y1 ,…,Yk )を計算し、I
Dを付加して、{ID,(E1 ,…,Ek ),(Y1 ,
…,Yk )}を生成して、前記検証装置に送信し、 前記検証装置は、前記{ID,(E1 ,…,Ek ),
(Y1 ,…,Yk )}から一方向性関数 Vi =f(ID,i)(但し、iは、1≦i≦kを満た
す整数) を計算し、 前記公開情報(N,{L1 ,…,Lk })と前記利用者
装置に送信した前記第1の通信文(E1 ,…,Ek )、
及びVi から、 Zi =Yi Li×Vi Ei(mod N) を計算し、 Z1 =…=Zk が成り立つかを検査し、さらに、一方向性関数 w=f(Z 1 ,…,Zk ) を計算し、 w=(E1 ,…,Ek ) が成り立つかを検査し、 いずれの検査でも一致して成り立つという場合に、前記
利用者の正当性を確認することを特徴とする利用者の正
当性認証方法。5. analyzed is the verification device about what the user device transmits to the verification device, the validity checking method of the user for confirming the validity of the user, the initial information setting process at the time of system construction In the center device, two prime numbers (P, Q) are generated and kept secret, and the product N (N = P × Q) of the prime numbers and k integers {L 1 ,
.., L k } (K ≧ 2) to public information (N, {L 1 ,.
k }), and in the center device, when a user using an ID as an identifier joins the system, k pieces of secret information {S 1 ,.
k } with the {L 1 ,..., L k } and the secret primes P and Q
The user device transmits the value X used by the verification device and the random number R to L (L = L 1 ×
... × L k ) and the remainder is obtained by a modulo operation X = R L (mod N) modulo N, and transmitted to the verification device. The verification device outputs a first message composed of k random number components. (E 1, ..., E k ) sends to said user device, said user device, said public information acquired from the center device {L 1, ..., L k } from the random number R, R i = R L / Li sought (mod N), the secret information {S 1, ..., S k } and, the random number R and the first communication text (E 1, ..., E k ) Y and from the R i i = R i × S i Ei (mod N) (where i is 1 ≦ i
≦ k), the second message (Y 1 ,..., Y k ) is calculated.
D, and {ID, ( E 1 ,..., E k ), (Y 1 ,
.., Y k )} and transmits the same to the verification device, and the verification device generates the { ID, ( E 1 ,..., E k ),
(Y 1 ,..., Y k )}, a one-way function V i = f (ID, i) (where i is an integer satisfying 1 ≦ i ≦ k) is calculated, and the public information (N, { L 1 ,..., L k }) and the first message (E 1 ,..., E k ) transmitted to the user device;
And from Vi, calculates the Z i = Y i Li × V i Ei (mod N), Z 1 = ... = checks whether Z k holds, further, the one-way function w = f (Z 1, ... , Z k ), and checks whether w = (E 1 ,..., E k ) is satisfied.
A method for authenticating the validity of a user, characterized by confirming the validity of the user.
器により素数P,Qを生成して秘密に保持し、 乗算器により、前記素数P,Qを乗算して、乗算値Nと
し、 乱数発生器により乱数Rを生成し、前記乗算値Nと前記
乱数発生器により生成したk個の整数{L1 ,…,L
k }(k≧2)を公開し、 識別子としてIDを用いる前記利用者がシステムに加入
するときには、該IDに関連するk個の秘密情報{S
1 ,…,Sk }を、 Sj =(1/Vj )1/Lj(mod N) (但し、jは、1≦j≦kを満たす整数で、Vj =F
(ID,j)) より計算して、前記秘密情報を前記利用者装置に渡す請
求項5記載の利用者の正当性認証方法。6. The center device generates prime numbers P and Q by a prime number generator and keeps the secret numbers secret, and multiplies the prime numbers P and Q by a multiplier as initial information setting processing at the time of system construction. A random number R is generated by a random number generator, and the multiplied value N and k integers {L 1 ,..., L generated by the random number generator
When the user who discloses k } (k ≧ 2) and uses an ID as an identifier joins the system, k pieces of secret information {S associated with the ID are used.
1, ..., a S k}, S j = ( 1 / V j) 1 / Lj (mod N) ( where, j is an integer satisfying 1 ≦ j ≦ k, V j = F
6. The method according to claim 5, wherein the secret information is calculated by (ID, j)) and passed to the user device.
対して、一方向性関数計算器により、前記第1の通信文 (E1 ,…,Ek )=f を計算して、前記利用者装置に送信する請求項5記載の
利用者の正当性認証方法。7. The verification device according to claim 1, wherein the first message (E 1 ,..., E k ) is calculated by a one-way function calculator with respect to the value X used in the check received from the user device. 6. The method according to claim 5, wherein the value is calculated and transmitted to the user device.
署名情報の内容を署名検証装置が分析して、該文書情報
の正当性を確認するための文書情報の正当性認証システ
ムであって、 素数(P,Q)を生成して秘密に保持し、該素数(P,
Q)の積N(N=P×Q)とk個の整数{L1 ,…,L
k }(k≧2)を公開情報(N,{L1 ,…,Lk })
として公開し、さらに、識別子としてIDを用いる利用
者がシステムに加入するとき、IDに関連するk個の秘
密情報{S1 ,…,Sk }を、{L1 ,…,Lk }と秘
密のPとQを用いて計算して、送信する手段を有するセ
ンタ装置と、 署名生成処理として、前記素数の積Nを法とする剰余演
算のもとで乱数RをL(L=L1 ×…×Lk )乗して前
記署名検証装置が検査で用いる値Xを X=RL (mod N) により求め、 署名対象となる文書情報mと前記値Xに対して一方向性
関数fを用いて第1の通信文成分 (E1,…,Ek )=f(m,X) を計算し、 さらに、前記秘密情報{S1 ,…,Sk }と前記乱数R
と第1の通信文成分(E1 ,…,Ek )から第2の通信
文成分(Y1 ,…,Yk )を計算して署名付き文書情報 {ID,m,(E1 ,…,Ek ),(Y1 ,…,Y
k )} を生成して、前記署名検証装置に送信する手段を有する
署名生成装置と、 前記公開情報(N,{L1 ,…,Lk })と前記署名生
成装置から受信した前記第1の通信文成分(E1 ,…,
Ek )、前記第2の通信文成分(Y1 ,…,Yk )及び
前記文書情報mが1≦i≦kを満たすいずれのiにおい
ても、ID,Y i とEi から求めた値がXに一致するこ
と、及び一致する値をZとおいたとき、 (E1 ,…,Ek )=f(m,Z) を満たす場合、前記署名生成装置が送信した文書情報の
正当性を確認する手段を有する署名検証装置からなるこ
とを特徴とする文書情報の正当性認証システム。8. A document information validity authentication system for analyzing the contents of signature information transmitted by a signature generation device together with document information by a signature verification device and confirming the validity of the document information. (P, Q) is generated and kept secret, and the prime number (P, Q) is
Q) and k integers {L 1 ,..., L
k } (k ≧ 2) is public information (N, {L 1 ,..., L k })
And published as further when the user using the ID as an identifier to subscribe to the system, k pieces of secret information {S 1, ..., S k } associated with ID of, {L 1, ..., L k} and A center device having means for calculating and transmitting using secret P and Q, and a signature generation process for generating a random number R as L (L = L 1) under a remainder operation modulo the product N of the prime numbers ××× L k ) to obtain a value X used in the inspection by the signature verification apparatus by X = R L (mod N). The document information m to be signed and the one-way function f the first communication text components using (E 1, ..., E k ) = calculate the f (m, X), further, the secret information {S 1, ..., S k } the random number R
And the first message component (E 1 ,..., E k ), the second message component (Y 1 ,..., Y k ) is calculated, and the signed document information {ID, m, (E 1 ,. , E k ), (Y 1 ,..., Y
k )}, and a signature generation device having means for generating the signature information and transmitting the signature information to the signature verification device; and the first information received from the signature generation device and the public information (N, {L 1 ,..., L k }). Message components (E 1 , ...,
E k ), the value of the second message component (Y 1 ,..., Y k ) and the value obtained from ID, Y i and E i for any i where the document information m satisfies 1 ≦ i ≦ k Is equal to X, and when a matching value is Z, if (E 1 ,..., E k ) = f (m, Z ) is satisfied, the validity of the document information transmitted by the signature generation device is determined. A document information validity authentication system comprising a signature verification device having means for checking.
ついて該検証装置が分析して、該利用者の正当性を確認
するための利用者の正当性確認システムであって、 2つの素数(P,Q)を生成して秘密に保持し、該素数
の積N(N=P×Q)とk個の整数{L1 ,…,Lk }
(K≧2)を公開情報(N,{L1 ,…,Lk})とし
て公開し、識別子としてIDを用いる利用者がシステム
に加入するとき、該IDに関連するk個の秘密情報{S
1 ,…,Sk }を該{L1 ,…,Lk }と秘密の前記素
数PとQを用いて計算し、前記利用者装置に送信する手
段を有するセンタ装置を有し、 前記利用者装置は、 乱数RをL(L=L1 ×…×Lk )乗し、Nを法とする
剰余演算により X=RL (mod N) 前記検証装置で用いる値Xを求め、該検証装置に送信す
る手段と、 乱数Rと前記公開情報{L1 ,…,Lk }から Ri =RL/Li(mod N) を求め、前記検証装置から第1の通信文(E1 ,…,E
k )を受信し、前記秘密情報{S1 ,…,Sk }と前記
乱数Rと前記第1の通信文(E1 ,…,Ek )及びRi
から Yi =Ri ×Si Ei(mod N)(但し、iは、1≦i≦
k) により第2の通信文(Y1 ,…,Yk )を計算し、ID
を付加して、{ID,(E1 ,…,Ek ),(Y1 ,
…,Yk )}を生成して、前記検証装置に送信する手段
とを有し、 前記検証装置は、 k個の乱数成分からなる第1の通信文(E1 ,…,E
k )を前記利用者装置に送信する手段と、 前記{ID,(E1 ,…,Ek ),(Y1 ,…,Y
k )}から一方向性関数 Vi =f(ID,i)(但し、iは、1≦i≦kを満た
す整数) を計算する手段と、 前記公開情報(N,{L1 ,…,Lk })と前記利用者
装置に送信した前記第1の通信文(E1 ,…,Ek )、
前記第2の通信文(Y1 ,…,Yk )、及びVi から、
剰余計算 Zi =Yi Li×Vi Ei(mod N) を行う手段と、 Z1 =…=Zk が成り立つかを検査し、さらに、一方向性関数 w=f(Z 1 ,…,Zk ) を計算し、 w=(E1 ,…,Ek ) が成り立つかを検査し、 いずれの検査でも一致して成り立つという場合に、前記
利用者の正当性を確認する手段とを有することを特徴と
する利用者の正当性認証システム。9. The user device is then analyzed the verification device contents to be transmitted to the verification device, a user of the authentication system for verifying the validity of the user, two prime numbers ( P, Q) is generated and kept secret, and the product N (N = P × Q) of the prime numbers and k integers {L 1 ,..., L k }
(K ≧ 2) is disclosed as public information (N, {L 1 ,..., L k }), and when a user using an ID as an identifier joins the system, k pieces of secret information related to the ID { S
1, ..., the the S k} {L 1, ... , L k} and calculated using the prime number P and Q of the secret has a center unit having a means for transmitting to said user apparatus, the use 's device, the random number R L (L = L 1 × ... × L k) th power to obtain the value X to be used in X = R L (mod N) the verification device by residue operation modulo N, the verified Means for transmitting to the device; R i = R L / Li (mod N) from the random number R and the public information {L 1 ,..., L k }, and a first message (E 1 , …, E
k ), the secret information {S 1 ,..., S k }, the random number R, the first message (E 1 ,..., E k ) and Ri
From Y i = R i × S i Ei (mod N) (where i is 1 ≦ i ≦
k) to calculate the second message (Y 1 ,..., Y k )
{ID , ( E 1 ,..., E k ), (Y 1 ,
,..., Y k )}, and transmits the first message (E 1 ,..., E) comprising k random number components.
k ) to the user device; {ID, ( E 1 ,..., E k ), (Y 1 ,.
k ) means for calculating a one-way function V i = f (ID, i) (where i is an integer satisfying 1 ≦ i ≦ k ) from}, and the public information (N, {L 1 ,..., L k }) and the first message (E 1 ,..., E k ) transmitted to the user device;
Said second communication text from (Y 1, ..., Y k ), and V i,
A means for performing the remainder calculation Z i = Y i Li × V i Ei (mod N) and checking whether Z 1 =... = Z k hold, and furthermore, a one-way function w = f (Z 1 ,. Z k ) is calculated, and it is checked whether w = (E 1 ,..., E k ) is satisfied.
The user of the validity authentication system characterized by comprising a means to confirm the validity of the user.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29134794A JP3331487B2 (en) | 1994-11-25 | 1994-11-25 | Document information and user validity authentication method and system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29134794A JP3331487B2 (en) | 1994-11-25 | 1994-11-25 | Document information and user validity authentication method and system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08146874A JPH08146874A (en) | 1996-06-07 |
| JP3331487B2 true JP3331487B2 (en) | 2002-10-07 |
Family
ID=17767754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29134794A Expired - Fee Related JP3331487B2 (en) | 1994-11-25 | 1994-11-25 | Document information and user validity authentication method and system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3331487B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9802152D0 (en) * | 1998-01-30 | 1998-04-01 | Certicom Corp | Secure one way authentication communication system |
-
1994
- 1994-11-25 JP JP29134794A patent/JP3331487B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08146874A (en) | 1996-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0503119B1 (en) | Public key cryptographic system using elliptic curves over rings | |
| US6411715B1 (en) | Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key | |
| Yi et al. | A new blind ECDSA scheme for bitcoin transaction anonymity | |
| US20070143608A1 (en) | Malleable pseudonym certificate system and method | |
| EP0639907A1 (en) | Digital signature method and key agreement method | |
| US9882890B2 (en) | Reissue of cryptographic credentials | |
| CN113159762A (en) | Block chain transaction method based on Paillier and game theory | |
| Hwang et al. | An untraceable blind signature scheme | |
| KR20040099943A (en) | System and Method for Authenticating Content User | |
| WO2000048359A1 (en) | Verification of the private components of a public-key cryptographic system | |
| JP4772965B2 (en) | Method for proving entity authenticity and / or message integrity | |
| KR100971038B1 (en) | Encryption method for distributing load among multiple entities and their devices | |
| JP3331487B2 (en) | Document information and user validity authentication method and system | |
| JP2697876B2 (en) | Electronic bidding system | |
| JP3385519B2 (en) | Validity authentication method and system | |
| JP2904819B2 (en) | Digital signature method | |
| JP3331328B2 (en) | Multiple digital signature method, system, apparatus and program recording medium | |
| JP3292312B2 (en) | Digital signature method | |
| Chiou et al. | Design and Implementation of a Multiple-Choice E-voting Scheme on Mobile System using Novel t-out-of-n Oblivious Signature. | |
| JPH1084341A (en) | Digital signature method with message addition and verification method for it | |
| Zehhafi et al. | A secure variant of Schnorr signature using the RSA algorithm | |
| Zahhafi et al. | Anonymous Secure E-voting over a Network for Multiple Elections | |
| EP0955745A2 (en) | Fair exchange of digital signatures in communications network | |
| JPH1078754A (en) | Signature document authentication method, signature document simultaneous exchange method, signature document authentication system, and signature document simultaneous exchange system | |
| JP2000047582A (en) | Method for collectively verifying a plurality of digital signatures, apparatus therefor, and recording medium recording the method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070726 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080726 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |