JPH04345232A - Verification method - Google Patents

Verification method

Info

Publication number
JPH04345232A
JPH04345232A JP3117497A JP11749791A JPH04345232A JP H04345232 A JPH04345232 A JP H04345232A JP 3117497 A JP3117497 A JP 3117497A JP 11749791 A JP11749791 A JP 11749791A JP H04345232 A JPH04345232 A JP H04345232A
Authority
JP
Japan
Prior art keywords
prover
verifier
party
certificated
verification
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.)
Pending
Application number
JP3117497A
Other languages
Japanese (ja)
Inventor
Koichi Sakurai
桜井 幸一
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3117497A priority Critical patent/JPH04345232A/en
Publication of JPH04345232A publication Critical patent/JPH04345232A/en
Pending legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

PURPOSE:To reduce number of times of communication while keeping safety and high reliability without loss of the safety and high reliability even in the case of parallel processing by devising the method such that a certificated party indicates that the certificated party knows any ciphered plain sentence among ciphered sentences sent from a verification party through the interaction with the verification party in a way that the verification party is unaware of which of the ciphered sentences is known by the certificated party. CONSTITUTION:A certificated side equipment 9 consists of a random number generator 1, a memory 2, a computing element 3 and a decoder 4, and a verification party equipment 10 consists of a random number generator 6, a memory 7, and a computing element 8, and both the equipments make data communication through a communication line 5. Through the constitution above, the certificated party sends ciphered sentences resulting from ciphering at least two plain sentences at random to the verification party and suggests that the certificated party knows any one plain sentence among the ciphered sentences through the interaction with the verification party in a way that the verification party is unaware of which of the said ciphered sentences is known by the certificated party. The certificated party gets verification by indicating through the interaction with the verification party it that the certificated party knows any plain sentence among ciphered sentences sent from the verification party in a way that the verification party does not recognize which of the sentences the certificated party knows. Thus, number of times of communication is reduced without loss of the safety and high reliability even in the case of parallel processing.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、相手認証(例えば、電
話の話し相手が本当に自分の話し相手であることを認証
する)、本人認証(例えば、自分が本当にその本人であ
ることを相手や他人に認証してもらう)、などを行う認
証方法に関するものである。
[Industrial Application Field] The present invention is applicable to other party authentication (e.g., to authenticate that the person on the other end of the phone call is really the person you are talking to), and personal authentication (e.g., to prove to the other party or others that you are really the person you are talking to). This relates to an authentication method that performs the following:

【0002】0002

【従来の技術】従来、暗号通信の分野における認証では
、ある秘密情報S(例えば、パスワードやIDナンバー
など)を知っている者(以下、証明者と呼ぶ。)を本人
と検証者が確かめることで、認証が行われている。こう
した認証方法の中で、零知識証明技術に基づいた暗号認
証方法が数多く提案されている。この代表的な認証方法
として、FiatとShamirの提案した、いわゆる
Fiat−Shamir法(米国特許第4,748,6
68号明細書に開示されている。)は、(完全性)検証
者は、秘密情報Sを知っている者を、本人と認める。 (健全性)検証者は、秘密情報Sを知らない者は、本人
と認めない。 (零知識性)証明者は、検証者に、秘密情報Sを知って
いるということだけを伝え、秘密情報Sに関する内容は
、一切漏らさない。 という意味で、いかなる攻撃(たとえば、なりすましや
通信回線の盗聴など)に対しても安全であり、認証方法
としては有望である。また、最近では単にある秘密情報
Sを知っていることを示すだけでなく、ある種の計算能
力がある(例えば、ある暗号の解読アルゴリズムを見つ
けたなど)ことを示す零知識証明に基づいた暗号認証方
法が提案されている。この種の方法としては例えば、M
.Tompa  and  H.Woll,”Rand
om  Self−Reducibility  an
d  ZeroーKnowledge  Intera
ctive  Proofs  of  Posscs
sion  of  Information,”IE
EE  Annual  Symposium  on
  Foundation  of  Compute
r  Sience,pp.472ー482(1987
)に記載された、合成数Nの素因数分解を知っているこ
とを、零知識証明を用いて検証者にしめす方法があった
[Background Art] Conventionally, in authentication in the field of encrypted communication, the person and the verifier verify who knows a certain secret information S (for example, a password or ID number) (hereinafter referred to as the certifier). Authentication is being performed. Among these authentication methods, many cryptographic authentication methods based on zero-knowledge proof technology have been proposed. A typical authentication method is the so-called Fiat-Shamir method (U.S. Pat. No. 4,748,6) proposed by Fiat and Shamir.
It is disclosed in the specification of No. 68. ), the (integrity) verifier recognizes the person who knows the secret information S as the principal. (Soundness) The verifier does not recognize a person who does not know the secret information S as the principal. (Zero knowledge) The prover only tells the verifier that he knows the secret information S, and does not divulge any information regarding the secret information S. In this sense, it is safe against any kind of attack (for example, spoofing, wiretapping, etc.) and is a promising authentication method. In addition, recently, cryptography is based on zero-knowledge proofs that not only show that one knows a certain secret information S, but also show that one has some kind of computational ability (for example, one has found an algorithm for breaking a certain code). Authentication methods have been proposed. This type of method includes, for example, M
.. Tompa and H. Woll,”Rand
om Self-Reducibility an
d Zero-Knowledge Intera
Active Proofs of Posscs
sion of Information,”IE
EE Annual Symposium on
Foundation of Compute
r Science, pp. 472-482 (1987
), there was a method of proving to the verifier that one knew the prime factorization of the composite number N using a zero-knowledge proof.

【0003】以下この従来例について図2を用いて説明
する。ステップAー0) 検証者は、
This conventional example will be explained below with reference to FIG. Step A-0) The verifier is

【0004】0004

【数1】[Math 1]

【0005】をランダムに選び、Randomly select 0005,

【0006】[0006]

【数2】[Math 2]

【0007】を計算し、xを証明者に送る。ステップA
ー1〜ステップAー4を繰り返す。 ステップAー1) 検証者は、
Calculate [0007] and send x to the prover. Step A
-1 to step A-4 are repeated. Step A-1) The verifier:

【0008】[0008]

【数3】[Math 3]

【0009】をランダムに選び、Randomly select 0009,

【0010】0010

【数4】[Math 4]

【0011】を計算し、yを証明者に送る。 ステップAー2) 証明者は、Calculate y and send it to the prover. Step A-2) The prover is

【0012】0012

【数5】[Math 5]

【0013】をランダムかつ一様に選び、検証者に送る
。 ステップAー3) 検証者は、
[0013] is randomly and uniformly selected and sent to the verifier. Step A-3) The verifier:

【0014】[0014]

【数6】[Math 6]

【0015】を証明者に送る。 ステップAー4) 証明者は、[0015] is sent to the prover. Step A-4) The prover is

【0016】[0016]

【数7】[Math 7]

【0017】を確かめる。 ステップB−1〜ステップB−4を繰り返す。 ステップB−1) 証明者は、Check [0017]. Repeat steps B-1 to B-4. Step B-1) The prover is

【0018】[0018]

【数8】[Math. 8]

【0019】をランダムに選び、Randomly select 0019,

【0020】[0020]

【数9】[Math. 9]

【0021】を計算し、uを検証者に送る。 ステップB−2) 検証者は、Calculate [0021] and send u to the verifier. Step B-2) The verifier is

【0022】[0022]

【数10】[Math. 10]

【0023】をランダムかつ一様に選び、証明者に送る
。 ステップB−3) 証明者は、
[0023] is randomly and uniformly selected and sent to the prover. Step B-3) The prover:

【0024】[0024]

【数11】[Math. 11]

【0025】を満たす数The number that satisfies 0025

【0026】[0026]

【数12】[Math. 12]

【0027】を計算し、さらにCalculate [0027] and further

【0028】[0028]

【数13】[Math. 13]

【0029】を計算しvを検証者に送る。 ステップB−4) 検証者は、[0029] is calculated and v is sent to the verifier. Step B-4) The verifier is

【0030】[0030]

【数14】[Math. 14]

【0031】が成立するかどうかを確かめる。成立すれ
ば、検証者は証明者を正当であると判定する。さもなく
ば、検証者は証明者を不当であると判定する。
Check whether the following holds true. If true, the verifier determines that the prover is valid. Otherwise, the verifier determines the prover to be invalid.

【0032】[0032]

【発明が解決しようとする課題】従来の認証方法は以上
のように構成されているので、信頼性、安全性を高める
ためには、証明者と検証者との間の通信回数を増やす必
要があり、時間的に無駄が多く好ましくなく、また、通
信回数を増やさずに、信頼性を高める方法として、従来
のステップを並列処理することが考えられるものの、こ
れでは、暗号化関数が1対1の場合に安全性が保証され
ないため、安全性、高信頼性を保ちながら通信回数を減
らすことが難しいという問題点であった。この発明は上
記のような問題点を解消するためになされたもので、並
列処理をしても安全性、高信頼性が損なわれず、安全性
、高信頼性を保ちながら通信回数を減らすことができる
認証方法を得ることを目的とする。
[Problem to be solved by the invention] Since the conventional authentication method is configured as described above, in order to improve reliability and security, it is necessary to increase the number of communications between the prover and the verifier. However, as a way to increase reliability without increasing the number of communications, it is possible to process the conventional steps in parallel. The problem is that it is difficult to reduce the number of communications while maintaining safety and high reliability because safety is not guaranteed in this case. This invention was made to solve the above problems, and it is possible to reduce the number of communications while maintaining safety and high reliability without compromising safety and high reliability even when parallel processing is performed. The purpose is to obtain an authentication method that can be used.

【0033】[0033]

【課題を解決するための手段】この発明の認証方法に係
る、第1の発明は、証明者が与えられた暗号の解読能力
を有するということを検証者に示す認証方法において、
検証者はランダムに少なくとも2つの平文を暗号化した
暗号文を証明者に送り、上記暗号文のうちどれか一つの
平文を知っていることを、それがどれであるか証明者に
知られないように証明者との対話により示し、証明者は
上記検証者から送られた暗号文のうちどれか一つの平文
を知っていることを、それがどれであるか検証者に知ら
れないように検証者との対話により示すことで認証を得
るものである。また、第2の発明は、証明者が2つ以上
の素数の積からなる合成数Nの素因数分解を知っている
ことを検証者に示す認証方法において、請求項1記載の
認証方法であって、証明者がNを法とするラビン暗号の
解読能力を有することを検証者に示すことで認証を得る
ものである。また、第3の発明は、証明者が2つ以上の
素数の積からなる合成数Nの素因数分解を知っているこ
とを検証者に示す認証方法において、ラビン暗号の解読
能力を有することを検証者に示すことで認証を得る認証
方法であって、検証者はランダムに1つの平文を暗号化
し、その暗号文を証明者に送る第1の工程と、上記検証
者が第1の工程の暗号文のどれか1つの平文を知ってい
ることを、それがどれであるか証明者に知られないよう
に証明者との対話により示す第2の工程と、証明者は検
証者から送られた暗号文のどれか1つの平文を知ってい
ることを、それがどれであるか検証者に知られないよう
に検証者との対話により示す第3の工程とを備え、少な
くとも上記第2の工程と第3の工程は並列に動作して認
証を得るものである。
[Means for Solving the Problems] A first invention related to an authentication method of the present invention is an authentication method that shows a verifier that a prover has the ability to decrypt a given code.
The verifier randomly encrypts at least two plaintexts and sends them to the prover, and the verifier does not know which one of the above ciphertexts it is. Through dialogue with the prover, the prover knows the plaintext of one of the ciphertexts sent from the verifier, without letting the verifier know which one it is. Authentication is obtained by demonstrating this through dialogue with the verifier. Further, a second invention is an authentication method according to claim 1, which is an authentication method for indicating to a verifier that the prover knows the prime factorization of a composite number N consisting of the product of two or more prime numbers. , authentication is obtained by showing the verifier that the prover has the ability to decipher the Rabin cipher modulo N. In addition, the third invention is an authentication method that shows a verifier that the prover knows the prime factorization of a composite number N consisting of the product of two or more prime numbers, which verifies that the prover has the ability to decipher the Rabin cipher. This is an authentication method in which the verifier randomly encrypts one plaintext and sends the ciphertext to the prover, and the verifier encrypts the encrypted text in the first step. The second step is to show that you know the plaintext of one of the sentences by interacting with the prover without letting the prover know which one it is, and the prover knows the plaintext of one of the sentences sent by the verifier. and a third step of indicating that one of the plaintexts among the ciphertexts is known through dialogue with the verifier without the verifier knowing which one it is, and at least the second step described above. and the third step operate in parallel to obtain authentication.

【0034】[0034]

【作用】この発明においては、証明者は検証者に、あた
えられた暗号の解読能力を有すると言うことを何も洩ら
さず、納得させることができるので安全な認証が行え、
また手順を並列に繰り返すことで、いくらでも安全性を
落とすことなく認証の信頼性を上げることができ、安全
性、高信頼性を保ちながら通信回数を減らせる認証方法
が得られる。
[Operation] In this invention, the prover can convince the verifier that he/she has the ability to decipher the given code without disclosing anything, so secure authentication can be performed.
Furthermore, by repeating the steps in parallel, the reliability of authentication can be increased to any extent without compromising security, and an authentication method that can reduce the number of communications while maintaining safety and high reliability can be obtained.

【0035】[0035]

【実施例】以下、この発明の一実施例を図について説明
する。図1はこの発明の一実施例を示すブロック図であ
る。図において、1は証明者の操作により乱数を生成す
る乱数発生器、2は証明者が生成する乱数や、検証者か
ら送られるデータを記憶する証明者側メモリ、3は証明
者の操作により、通常の演算を行う演算器、4は証明者
の操作により、暗号の解読を行う解読器、5は証明者と
検証者とがデータのやりとりを行う通常の通信回線、6
は検証者の操作により乱数を生成する乱数発生器、7は
検証者が生成する乱数や、証明者から送られるデータを
記憶する証明者側メモリ、8は検証者の操作により、通
常の演算を行う演算器であり、上記、乱数発生器1、メ
モリ2、演算器3、解読器4により証明者側装置9が構
成され、乱数発生器6、メモリ7、演算器8により検証
者側装置10が構成されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing one embodiment of the present invention. In the figure, 1 is a random number generator that generates random numbers by the operation of the prover, 2 is the prover side memory that stores the random numbers generated by the prover and data sent from the verifier, and 3 is the random number generator that generates random numbers by the operation of the prover. A computing unit that performs normal calculations, 4 a decryptor that decrypts the code under the operation of the prover, 5 a normal communication line for exchanging data between the prover and the verifier, 6
is a random number generator that generates random numbers through the operation of the verifier; 7 is the prover side memory that stores random numbers generated by the verifier and data sent from the prover; and 8 is the memory that performs normal calculations through the operation of the verifier. The random number generator 1, memory 2, arithmetic unit 3, and decoder 4 constitute a prover side device 9, and the random number generator 6, memory 7, and arithmetic unit 8 constitute a verifier side device 10. is configured.

【0036】本実施例では暗号化関数としてはIn this embodiment, the encryption function is

【003
7】
003
7]

【数15】[Math. 15]

【0038】を考え、証明者はD(x)の逆関数(すな
わち離散対数)を計算できる能力を検証者に示したい。
Considering the following, the prover wants to demonstrate to the verifier the ability to calculate the inverse function (ie, discrete logarithm) of D(x).

【0039】次に動作について説明する。 ステップ(1)において 検証者は、乱数発生器6を用いて、ランダムに0≦w[
1i],w[2i]<p(1≦i≦n)を秘密に生成し
、(w[1i],x[2i])(1≦i≦n)をメモリ
7に記憶すると共に演算器8を用いて、
Next, the operation will be explained. In step (1), the verifier uses the random number generator 6 to randomly select 0≦w[
1i], w[2i]<p (1≦i≦n), and (w[1i], x[2i]) (1≦i≦n) is stored in the memory 7 and the arithmetic unit 8 Using,

【0040】[0040]

【数16】[Math. 16]

【0041】[0041]

【数17】[Math. 17]

【0042】を計算し、(x[1i],x[2i])(
1≦i≦n)をメモリ7に記憶すると共に乱数発生器6
を用いて、ランダムに 0<r[1ij],r[2ij]<p(1≦i,j≦n
) を秘密に生成し、(r[1ij],r[2ij])(1
≦i,j≦n)をメモリ7に記憶すると共に演算器8を
用いて、
Calculate (x[1i],x[2i])(
1≦i≦n) in the memory 7 and the random number generator 6
, randomly set 0<r[1ij], r[2ij]<p(1≦i, j≦n
) secretly generate (r[1ij],r[2ij])(1
≦i, j≦n) in the memory 7 and using the arithmetic unit 8,

【0043】[0043]

【数18】[Math. 18]

【0044】[0044]

【数19】[Math. 19]

【0045】を計算し、(y[1ij],y[2ij]
)(1≦i,j≦n)をメモリ7に記憶すると共に乱数
発生器を用いて、ランダムに
Calculate (y[1ij], y[2ij]
) (1≦i, j≦n) in the memory 7, and using a random number generator, randomly

【0046】[0046]

【数20】[Math. 20]

【0047】を選び、q[ij](1≦i,j≦n)を
メモリ7に記憶すると共に q[ij]=0の場合は (z[1ij],z[2ij])=(y[1ij],y
[2ij]), q[ij]=1の場合は (z[1ij],z[2ij])=(y[2ij],y
[1ij]), と置いて、(z[1ij],z[2ij])(1≦i,
j≦n)をメモリ7に記憶すると共に (x[1i],x[2i]),(z[1ij],z「2
ij])(1≦i,j≦n) を通信回線5を通じて証明者に送る。ステップ(2)に
おいて証明者は検証者から送られてきてデータ(x[1
i],x[2i]),(z[1ij],z[2ij])
(1≦i,j≦n)をメモリ2に記憶すると共に乱数発
生器1を用いて、ランダムに
, and store q[ij] (1≦i, j≦n) in the memory 7, and if q[ij]=0, (z[1ij], z[2ij])=(y[ 1ij],y
[2ij]), if q[ij] = 1, then (z[1ij], z[2ij]) = (y[2ij], y
[1ij]), and (z[1ij], z[2ij]) (1≦i,
j≦n) in the memory 7, and (x[1i], x[2i]), (z[1ij], z"2
ij]) (1≦i, j≦n) to the prover through the communication line 5. In step (2), the prover receives the data (x[1
i], x[2i]), (z[1ij], z[2ij])
(1≦i, j≦n) is stored in memory 2 and randomly generated using random number generator 1.

【0048】[0048]

【数21】[Math. 21]

【0049】を選び、e[ij](1≦i,j≦n)を
メモリ2に記憶すると共にまた乱数発生器1を用いて、
ランダムに0<t[1ij],t[2ij]<p(1≦
i,j≦n)を生成し、(t[1ij],t[2ij]
)(1≦i,j≦n)をメモリ2に記憶すると共に演算
器3を用いて、
Select [0049], store e[ij] (1≦i, j≦n) in the memory 2, and also use the random number generator 1,
Randomly 0<t[1ij], t[2ij]<p(1≦
i, j≦n) and (t[1ij], t[2ij]
) (1≦i, j≦n) in the memory 2 and using the arithmetic unit 3,

【0050】[0050]

【数22】[Math. 22]

【0051】[0051]

【数23】[Math. 23]

【0052】を計算し、(u[1ij],u[2ij]
)(1≦i,j≦n)をメモリ2に記憶すると共に乱数
発生器1を用いて、ランダムに
Calculate (u[1ij], u[2ij]
) (1≦i, j≦n) in the memory 2 and randomly using the random number generator 1.

【0053】[0053]

【数24】[Math. 24]

【0054】を選び、s[ij](1≦i,j≦n)を
メモリ2に記憶すると共に s[ij]=0の場合は (v[1ij],v[2ij])=(u[1ij],u
[2ij]), s[ij]=1の場合は (v[1ij],v[2ij])=(u[2ij],u
[1ij]), と置いて、通信回線5を通じてe[ij],(v[1i
j],v[2ij])(1≦i,j≦n)を証明者に送
る。 ステップ(3)において検証者は証明者から送られるデ
ータe[ij],(v[1ij]、v[2ij])(1
≦i,j≦n)をメモリ7に記憶すると共に検証者は、
ランダムに
Select s[ij] (1≦i, j≦n) in the memory 2, and if s[ij]=0, (v[1ij], v[2ij])=(u[ 1ij], u
[2ij]), if s[ij] = 1, then (v[1ij], v[2ij]) = (u[2ij], u
[1ij]), e[ij], (v[1i
j], v[2ij]) (1≦i, j≦n) to the prover. In step (3), the verifier sends the data e[ij], (v[1ij], v[2ij]) (1
≦i, j≦n) in the memory 7, and the verifier:
In a random manner

【0055】[0055]

【数25】[Math. 25]

【0056】を選び、f[ij](1≦i,j≦n)を
メモリ7に記憶すると共にメモリ7からe[ij],q
[ij],r[1ij],r[2ij],w[1ij]
,w[2ij]を呼び出し、 e[ij]=0を受け取った場合は、 q[ij]=0ならば (a[1ij],a[2ij])=(r[1ij],r
[2ij]) q[ij]=1ならば (a[1ij],a[2ij])=(r[2ij],r
[1ij]) を計算し、 e[ij]=1を受け取った場合は、 q[ij]=0の時は、h[ij]=r[1ij]+w
[1ij]  mod  p −1を、 q[ij]=1の時は、h[ij]=r[2ij]+w
[2ij]  mod  p −1を、 を計算し、f[ij],(a[1ij],[2ij])
,h[ij](1≦i, j≦n)を通信回線5を通じて証明者に送る。 ステップ(4)において証明者は検証者からおくられた
データf[ij],(a[1ij],a[2ij]),
h[ij](1≦i,j≦n)をメモリ2に記憶すると
共にメモリ2からx[1i],x[2i],z[1ij
],z[2ij],y[ij],t[1ij],t[2
ij]を呼び出し、演算器3を用いてe[ij]=0に
対しては、
[0056] and store f[ij] (1≦i, j≦n) in the memory 7, as well as e[ij], q from the memory 7.
[ij], r[1ij], r[2ij], w[1ij]
, w[2ij] and receives e[ij]=0, if q[ij]=0 then (a[1ij], a[2ij])=(r[1ij], r
[2ij]) If q[ij] = 1, then (a[1ij], a[2ij]) = (r[2ij], r
[1ij]) and when e[ij]=1 is received, when q[ij]=0, h[ij]=r[1ij]+w
[1ij] mod p −1, when q[ij]=1, h[ij]=r[2ij]+w
[2ij] mod p −1, calculate f[ij], (a[1ij], [2ij])
, h[ij] (1≦i, j≦n) to the prover through the communication line 5. In step (4), the prover uses the data f[ij], (a[1ij], a[2ij]), sent from the verifier.
h[ij] (1≦i, j≦n) is stored in memory 2, and from memory 2 x[1i], x[2i], z[1ij
], z[2ij], y[ij], t[1ij], t[2
ij] and using arithmetic unit 3, for e[ij]=0,

【0057】[0057]

【数26】[Math. 26]

【0058】[0058]

【数27】[Math. 27]

【0059】e[ij]=1に対しては、For e[ij]=1,

【0060】[0060]

【数28】[Math. 28]

【0061】が成立するかどうかを確かめる。さらにf
[ij]=0を受け取った場合は、演算器3を用いてs
[ij]=0ならば (b[1ij],b[2ij])=(t[1ij],t
[2ij]) s[ij]=1ならば (b[1ij],b[2ij])=(t[2ij],t
[1ij]) を計算して、(b[1ij],b[2ij])(1≦i
,j≦n)を通信回線5を通じて検証者に送る。 f[ij]=1を受け取った場合は、解読器4を用いて
Check whether the following holds true. Further f
If [ij] = 0 is received, use arithmetic unit 3 to calculate s
If [ij] = 0, then (b[1ij], b[2ij]) = (t[1ij], t
[2ij]) If s[ij] = 1, then (b[1ij], b[2ij]) = (t[2ij], t
[1ij]) and (b[1ij],b[2ij])(1≦i
, j≦n) to the verifier through the communication line 5. If f[ij]=1 is received, use decoder 4 to

【0062】[0062]

【数29】[Math. 29]

【0063】[0063]

【数30】[Math. 30]

【0064】を満たすw[1ij],w[1ij]を計
算し、さらに演算器3を用いて、s[ij]=0の場合
は、k[ij]=t[1ij]+w[1ij]  mo
d  p−1を、s[ij]=1の場合は、k[ij]
=t[2ij]+w[2ij]  mod  p−1を
計算して、k[ij](1≦i,j≦n)を通信回線5
を通じて検証者に送る。 ステップ(5)において検証者はメモリよりf[ij]
,v[1ij],v[2ij],x[1i],x[2i
]を呼び出し、f[ij]=0に対しては、
Calculate w[1ij] and w[1ij] satisfying
d p-1, if s[ij]=1, then k[ij]
=t[2ij]+w[2ij] mod p-1 is calculated, and k[ij] (1≦i, j≦n) is connected to the communication line 5.
to the verifier through. In step (5), the verifier retrieves f[ij] from memory.
, v[1ij], v[2ij], x[1i], x[2i
], and for f[ij]=0,

【0065
0065
]

【数31】[Math. 31]

【0066】[0066]

【数32】[Math. 32]

【0067】f[ij]=1に対しては、For f[ij]=1,

【0068】[0068]

【数33】[Math. 33]

【0069】が成立するかどうかを確かめる。成立すれ
ば、証明者を正しいと受理し、さもなくば、不当な証明
者として拒否する。
Check whether the following holds true. If it holds true, the prover is accepted as correct; otherwise, it is rejected as an invalid prover.

【0070】また、暗号化関数としてラビン暗号の暗号
化関数
[0070] Also, as an encryption function, the encryption function of the Rabin cipher is used.

【0071】[0071]

【数34】[Math. 34]

【0072】を考えた場合は、証明者はNの素因数分解
を知っているという知識を検証者に示すことができる。
If we consider the following, the prover can show the verifier that he knows the prime factorization of N.

【0073】この場合は以下のように動作する。 ステップ(1)において検証者は、ランダムにIn this case, the operation is as follows. In step (1), the verifier randomly

【007
4】
007
4]

【数35】[Math. 35]

【0075】を生成し、演算器を用いて、Generate [0075] and use an arithmetic unit to calculate

【0076】[0076]

【数36】[Math. 36]

【0077】計算すると同時に乱数発生器を用いて、ラ
ンダムに
[0077] At the same time as calculation, a random number generator is used to randomly

【0078】[0078]

【数37】[Math. 37]

【0079】を生成し演算器を用いて、Generate [0079] and use an arithmetic unit,

【0080】[0080]

【数38】[Math. 38]

【0081】を計算し、通信回線を通じて証明者に送る
。ステップ(2)において証明者は乱数発生器を用いて
、ランダムに
[0081] is calculated and sent to the prover via the communication line. In step (2), the prover uses a random number generator to randomly

【0082】[0082]

【数39】[Math. 39]

【0083】を生成し、演算器を用いて、Generate [0083] and use an arithmetic unit to calculate

【0084】[0084]

【数40】[Math. 40]

【0085】を計算し、e[ij],Z[ij](1≦
i,j≦n)を通信回線を通じて証明者に送る。ステッ
プ(3)において検証者は演算器を用いて、
Calculate e[ij], Z[ij] (1≦
i, j≦n) to the prover via the communication line. In step (3), the verifier uses a calculator to

【0086
0086
]

【数41】[Math. 41]

【0087】を計算し、乱数発生器を用いて、ランダム
Calculate [0087] and use a random number generator to randomly select

【0088】[0088]

【数42】[Math. 42]

【0089】を生成し、f[ij],Z[ij](1≦
i,j≦n)を通信回線を通じて証明者に送る。ステッ
プ(4)において証明者は、
[0089] and f[ij], Z[ij] (1≦
i, j≦n) to the prover via the communication line. In step (4), the prover:

【0090】[0090]

【数43】[Math. 43]

【0091】が成立するかどうかを確かめ、成立しなけ
れば、止まる。さもなくば解読器を用いて、
It is checked whether the following holds true, and if it does not hold, the process stops. Otherwise, using a decoder,

【0092
0092
]

【数44】[Math. 44]

【0093】を満たす0093

【0094】[0094]

【数45】[Math. 45]

【0095】を計算し、Calculate 0095,

【0096】[0096]

【数46】[Math. 46]

【0097】を通信回線を通じて検証者に送る。ステッ
プ(5)において確認者は、演算器を用いて、
[0097] is sent to the verifier via the communication line. In step (5), the confirmer uses a calculator to

【009
8】
009
8]

【数47】[Math. 47]

【0099】が成立するかどうかを確かめる。成立すれ
ば、証明者を正しいと受理し、さもなくば、不当な証明
者として拒否する。
Check whether the following holds true. If it holds true, the prover is accepted as correct; otherwise, it is rejected as an invalid prover.

【0100】また、上記では並列処理した方法を実施例
に説明したが、単に直列に繰り返して信頼性をあげるこ
とも可能である。
[0100] In addition, although the parallel processing method has been described as an example above, it is also possible to simply repeat the processing in series to improve reliability.

【0101】[0101]

【発明の効果】以上のようにこの発明の認証方法によれ
ば、第1の発明により、並列処理をしても安全性、高信
頼性が損なわれず、安全性、高信頼性を保ちながら通信
回数を減らすことができる認証方法が得られる効果があ
る。また、第2の発明により、ラビン暗号を用いた場合
において、並列処理をしても、安全性、高信頼性が損な
われず、安全性、高信頼性を保ちながら通信回数を減ら
すことができる認証方法が得られる効果がある。また、
第3の発明により、ラビン暗号を用い、検証者はランダ
ムに1つの平文を暗号化し、その暗号文を証明者に送る
場合において、並列処理をしても、安全性、高信頼性が
損なわれず、安全性、高信頼性を保ちながら通信回数を
減らすことができる認証方法が得られる効果がある。
As described above, according to the authentication method of the present invention, security and high reliability are not impaired even when parallel processing is performed, and communication can be performed while maintaining security and high reliability. This has the effect of providing an authentication method that can reduce the number of times of authentication. Further, according to the second invention, when Rabin encryption is used, security and high reliability are not impaired even when parallel processing is performed, and the number of communications can be reduced while maintaining security and high reliability. There is an effect that can be obtained by the method. Also,
According to the third invention, when the verifier randomly encrypts one plaintext using the Rabin cipher and sends the ciphertext to the prover, security and high reliability are not impaired even if parallel processing is performed. This has the effect of providing an authentication method that can reduce the number of communications while maintaining safety and high reliability.

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

【図1】この発明の一実施例を示すブロック図。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】従来の認証方法の実施例を示すブロック図。FIG. 2 is a block diagram showing an example of a conventional authentication method.

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

1  乱数発生器 2  メモリ 3  演算器 4  解読器 5  通信回線 6  乱数発生器 7  メモリ 8  演算器 9  証明者側装置 10  検証者側装置 1 Random number generator 2 Memory 3 Arithmetic unit 4 Decoder 5 Communication line 6 Random number generator 7 Memory 8 Arithmetic unit 9 Prover side device 10 Verifier side device

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】  証明者が与えられた暗号の解読能力を
有するということを検証者に示す認証方法において、検
証者はランダムに少なくとも2つの暗号文を証明者に送
り、上記暗号文のうちどれか一つの平文を知っているこ
とを、それがどれであるか証明者に知られないように証
明者との対話により示し、証明者は上記検証者から送ら
れた暗号文のうちどれか一つの平文を知っていることを
、それがどれであるか検証者に知られないように検証者
との対話により示すことで認証を得ることを特徴とする
認証方法。
Claim 1: In an authentication method that shows a verifier that the prover has the ability to decrypt a given code, the verifier randomly sends at least two ciphertexts to the prover, and determines which of the ciphertexts The prover knows one plaintext by interacting with the prover without the prover knowing which one it is, and the prover knows one of the ciphertexts sent from the verifier. An authentication method characterized by obtaining authentication by demonstrating knowledge of one plaintext through dialogue with a verifier without the verifier knowing which one it is.
【請求項2】  証明者が2つ以上の素数の積からなる
合成数Nの素因数分解を知っていることを検証者に示す
認証方法において、請求項1記載の認証方法であって、
証明者がNを法とするラビン暗号の解読能力を有するこ
とを検証者に示すことで認証を得ることを特徴とする認
証方法。
2. An authentication method according to claim 1, which shows the verifier that the prover knows the prime factorization of a composite number N consisting of the product of two or more prime numbers,
An authentication method characterized in that a prover obtains authentication by showing a verifier that he or she has the ability to decipher a Rabin cipher modulo N.
【請求項3】  証明者が2つ以上の素数の積からなる
合成数Nの素因数分解を知っていることを検証者に示す
認証方法において、ラビン暗号の解読能力を有すること
を検証者に示すことで認証を得る認証方法であって、検
証者はランダムに1つの平文を暗号化し、その暗号文を
証明者に送る第1の工程と、上記検証者が第1の工程の
暗号文のどれか1つの平文を知っていることを、それが
どれであるか証明者に知られないように証明者との対話
により示す第2の工程と、証明者は検証者から送られた
暗号文のどれか1つの平文を知っていることを、それが
どれであるか検証者に知られないように検証者との対話
により示す第3の工程とを備え、少なくとも上記第2の
工程と第3の工程は並列に動作して認証を得ることを特
徴とする認証方法。
[Claim 3] An authentication method for showing a verifier that the prover knows the prime factorization of a composite number N consisting of the product of two or more prime numbers, which shows the verifier that the prover has the ability to decipher the Rabin cipher. This is an authentication method in which the verifier randomly encrypts one plaintext and sends the ciphertext to the prover, and the verifier selects which of the ciphertexts in the first step. The second step is to demonstrate that the prover knows one plaintext by interacting with the prover without the prover knowing which one it is, and the prover knows the ciphertext sent by the verifier. a third step of indicating that one of the plaintexts is known through dialogue with the verifier without the verifier knowing which one it is, and at least the second step and the third step. This is an authentication method characterized in that the steps of are performed in parallel to obtain authentication.
JP3117497A 1991-05-22 1991-05-22 Verification method Pending JPH04345232A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3117497A JPH04345232A (en) 1991-05-22 1991-05-22 Verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3117497A JPH04345232A (en) 1991-05-22 1991-05-22 Verification method

Publications (1)

Publication Number Publication Date
JPH04345232A true JPH04345232A (en) 1992-12-01

Family

ID=14713202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3117497A Pending JPH04345232A (en) 1991-05-22 1991-05-22 Verification method

Country Status (1)

Country Link
JP (1) JPH04345232A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530930A (en) * 1998-11-19 2002-09-17 アルコット システムズ インコーポレイテッド Method and apparatus for securely distributing authentication credentials to roaming users
US8429720B2 (en) 1997-12-23 2013-04-23 Ca, Inc. Method and apparatus for camouflaging of data, information and functional transformations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429720B2 (en) 1997-12-23 2013-04-23 Ca, Inc. Method and apparatus for camouflaging of data, information and functional transformations
JP2002530930A (en) * 1998-11-19 2002-09-17 アルコット システムズ インコーポレイテッド Method and apparatus for securely distributing authentication credentials to roaming users

Similar Documents

Publication Publication Date Title
US6226383B1 (en) Cryptographic methods for remote authentication
Jablon Strong password-only authenticated key exchange
US7359507B2 (en) Server-assisted regeneration of a strong secret from a weak secret
US8437473B2 (en) Small public-key based digital signatures for authentication
US7010692B2 (en) Cryptographic methods for remote authentication
US5907618A (en) Method and apparatus for verifiably providing key recovery information in a cryptographic system
US6249585B1 (en) Publicly verifiable key recovery
US8661240B2 (en) Joint encryption of data
US7221758B2 (en) Practical non-malleable public-key cryptosystem
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
JPH03128541A (en) System and method for cipher communication
CA2693133A1 (en) Method and system for generating implicit certificates and applications to identity-based encryption (ibe)
EP2686978B1 (en) Keyed pv signatures
JP7276423B2 (en) Cryptographic system, key generation device, key generation method, key generation program, and homomorphic arithmetic device
KR20010013155A (en) Auto-recoverable auto-certifiable cryptosystems
JP4563037B2 (en) ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD
JPH04345232A (en) Verification method
JPH06112935A (en) Ciphering communication method
JP2680426B2 (en) Authentication method
JPH04213243A (en) User authentication system
JP2003173139A (en) Publicly verifiable encryption apparatus, its decoder, encryption program, and decoding program
Sun et al. On the design of RSA with short secret exponent
JP2682692B2 (en) Encryption communication method
Ho et al. Hybrid deniable and short-key encryption protocols based on the authentication procedure
Lam et al. Cryptography