JPH02305039A - Authentication system - Google Patents

Authentication system

Info

Publication number
JPH02305039A
JPH02305039A JP1125224A JP12522489A JPH02305039A JP H02305039 A JPH02305039 A JP H02305039A JP 1125224 A JP1125224 A JP 1125224A JP 12522489 A JP12522489 A JP 12522489A JP H02305039 A JPH02305039 A JP H02305039A
Authority
JP
Japan
Prior art keywords
prover
data
confirmer
random number
authentication
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
JP1125224A
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 JP1125224A priority Critical patent/JPH02305039A/en
Publication of JPH02305039A publication Critical patent/JPH02305039A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute an authentication of high safety without revealing useful information by sending authorized data constituted by performing an operation to a random number generated by a certifier to a confirmer. CONSTITUTION:A certifier constitutes a data to be authencated in which only one square remainder number is put in plural square non-remainer numbers by using a random number generator 101 and a computing element 103 and sends it to a confirmer. The confirmer brings the data for authenticated to cycle permutation at random, based on the authorized data sent from the certifier by using a random number generator 108 and a computing element 107, and also, constitutes question data obtained by multiplying each component by the square remainder and sends it to the certifier. The certifier confirms a fact that the confirmer sends correctly the question data by communication to the confirmer, and thereafter, sends back a digit of the cyclic permutation to the question data sent from the conformer as answer data to the confirmer by using a deciding device 104. Subsequently, the confirmer executes the authentication in accordance with whether the answer data sent from the certifier is correct or not. In such a way, the authentication can be executed safety and with high reliability without revealing important information.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は相手認証(例えば電話の話し相手が   一
本当に自分の話したい相手であることを認証する)。
[Detailed Description of the Invention] [Industrial Application Field] This invention is used to authenticate the other party (for example, to authenticate that the person on the other end of the telephone conversation is the person you really want to talk to).

本人認証(例えば自分が本当にその本人であること全相
手や他人に認証してもらう)、データ認証(データが正
しいことを認証してもらう)などの認証システムにおけ
る認証方式に関するものである。− 〔従来の技術〕 認証方式では、現在効率良く計算するアルゴリズムが知
られていない、と言う意味での計算困難な問題に安全性
の根拠を置く方式が用いられる。
It relates to authentication methods in authentication systems such as personal authentication (for example, having everyone or another person authenticate that you are really the person you say you are) and data authentication (having people authenticate that the data is correct). - [Prior Art] Authentication methods use methods that base security on problems that are difficult to calculate, in the sense that no efficient calculation algorithm is currently known.

そうした計算困難な問題の1つに平方剰余問題がある。One such problem that is difficult to calculate is the square remainder problem.

mを与えられた正整数とするとき、Xがmと互いに素、
すなわち(x、m)=1.かつヤコビ記号C,/m) 
 が1である正整数Xに対してと定義する。mの素因数
分解が分かつている場合は+ Q”を効率良く計算する
アルゴリズムは知られている。しかしmの素因数分解が
知られていない場合、今日まで効率良く計算するアルゴ
リズムは知られていない。したがって、もしQmを効率
良く計算するアルゴリズムを開発した者、あるいはmの
素因数分解を知っている者が、 Qm を計算する能力
を持つと言うことを通信相手となる確認者に納得させる
場合、これを達成する信頼性の高い安全な通信システム
を構成する必要がある。ここで言う信頼性の高い安全な
通信システムとして満たすべき条件として 1、確認者はQrnを計算する能力を持つ者は認証する
When m is a given positive integer, X is coprime to m,
That is, (x, m)=1. and Jacobian symbol C, /m)
is defined as for a positive integer X where is 1. When the prime factorization of m is known, an algorithm for efficiently calculating +Q'' is known. However, when the prime factorization of m is not known, no algorithm to efficiently calculate it has been known to date. Therefore, if a person who has developed an algorithm to efficiently calculate Qm, or who knows the prime factorization of m, wants to convince the confirmer with whom he is communicating that he has the ability to calculate Qm, then this It is necessary to configure a highly reliable and secure communication system that achieves the following.The conditions that must be met for a highly reliable and secure communication system are 1. The verifier must be able to calculate Qrn. .

2、確認者はQmを計算する能力を持たない者は認証し
ない。
2. The verifier will not authenticate a person who does not have the ability to calculate Qm.

3、証明者は、確認者にQmを計算する能力を持つとい
う事だけを伝え、それ以外の情報は漏らさない。
3. The prover only tells the verifier that he has the ability to calculate Qm, and does not divulge any other information.

03つがあげられる。03 can be mentioned.

こうしたQmを効率よく計算する者を認証する信頼性の
高い安全な通信システムとして従来しられるシステムは
GMR(Goldwa9ser−Micali−Rac
kof f )の方法(S、 Goldwasser、
 S、 Micali。
A system conventionally known as a highly reliable and secure communication system for authenticating those who efficiently calculate Qm is GMR (Goldwa9ser-Micali-Rac).
kof f ) method (S, Goldwasser,
S, Micali.

and C,Rackoff、気The knowle
dge CompIex−ity of InLsra
ctive Proof Sygtsms ’ 。
and C, Rackoff, the knowle
dge CompIex-ity of InLsra
active Proof Sygtsms'.

Proceedings on the 17 th 
Annual ACMSymposium on Th
e−ory of Computing 。
Proceedings on the 17th
Annual ACMSymposium on Th
e-ory of Computing.

1985.291−304)  を用いた認証システム
がある。第2図はその認証システムのブロック図で。
1985.291-304). Figure 2 is a block diagram of the authentication system.

(1)は証明者の操作により乱数を生成する乱数発生器
、(2)は証明者の操作により、乱数発生器より生成さ
れる乱数や演算装置よシ出力される演算結果や、確認者
より送られるデータを記憶するメモリ。
(1) is a random number generator that generates random numbers by the operation of the prover, and (2) is the random number generated by the random number generator by the operation of the prover, the calculation results output from the arithmetic device, and the Memory that stores data to be sent.

(3)は証明者の操作により演算を行う演算装置、(4
)は証明者の操作によりQmの計算を行い、与えられた
数が平方剰余であるか否かの判定を行う判定装置、(5
)は証明者と確認者が用いる通信回線、(6)は確認者
の操作により、乱数発生器より生成される乱数や演算装
置より出力される演算結果や、確認者より送られるデー
タを記憶するメモ!j 、 +71は確認者の操作に上
り演算を行う演算装置、(8)は確認者の操作により乱
数を生成する乱数発生器である。
(3) is an arithmetic device that performs calculations by the prover's operation, (4
) is a determination device that calculates Qm by the prover's operation and determines whether a given number is a square remainder, (5
) is the communication line used by the prover and the verifier, and (6) is used by the verifier to store random numbers generated by the random number generator, calculation results output from the arithmetic device, and data sent by the verifier. Memo! j, +71 is an arithmetic unit that performs calculations according to the operation of the confirmer, and (8) is a random number generator that generates random numbers according to the operation of the confirmer.

次に動作について説明する。Next, the operation will be explained.

ステップ1:証明者は乱数発生器(1)を用いて正整数
の乱数aを生成しメモリ(2)に保存する。
Step 1: The prover generates a positive integer random number a using a random number generator (1) and stores it in the memory (2).

ステップ2:証明者はメモリ(2)より乱数aを呼び出
し、乱数aがmと互いに素であるか否か、すなわち (a、m)=1 を満たすか否か、演算装置(3)を用いて判定する。
Step 2: The prover calls the random number a from the memory (2) and uses the arithmetic device (3) to check whether the random number a is coprime to m, that is, whether it satisfies (a, m) = 1. Make a judgment.

(” + m ) ” 1であればステップ3へ+(”
i’)≠1であればステップ1へ戻る。
("+m)" If it is 1, go to step 3 +("
If i')≠1, return to step 1.

ステップ3:証明者はメモリ(2)より前記乱数aを呼
び出し、前記乱数aの法mのもとてのヤコビ記号が1で
あるか否かすなわち (a / m ) = 1 釜満たすか否か、演算装@(3)を用いて判定する。
Step 3: The prover calls the random number a from memory (2) and checks whether the original Jacobian symbol of the modulus m of the random number a is 1, that is, whether the (a / m) = 1 pot is satisfied. , is determined using the arithmetic unit @(3).

(’a / m ) =’lであればステップ4へ、(
a/m)=−1であればステップ1へ戻る。
If ('a / m) = 'l, go to step 4, (
a/m)=-1, return to step 1.

ステジブ4:証明者は前記乱数aをメモU t2+より
呼び出し、乱数aが平方非剰余であるか否か、すなわち
Stage 4: The prover calls up the random number a from the memo Ut2+, and determines whether the random number a is square non-residue, ie.

Qm’(a) = 0 を満たすか否か1判定装置(4)を用いて判定すゐ。Qm’(a) = 0 It is determined whether or not the following is satisfied using the first determining device (4).

Qm (a’)= Oであればステップ5 ヘ、 Qm
(a) = 1 であればステップ1へ戻る。
If Qm (a') = O, go to step 5, Qm
If (a) = 1, return to step 1.

ステップ5:証明者は前記乱数at通信回線(5)を通
して1通信相手となる確認者に送る。
Step 5: The prover sends the random number to the verifier, which is one communication partner, through the AT communication line (5).

ステップ6:確認者は証明者より送られる乱数aをメモ
1月G)に保存し、乱数aのヤコビ記号が1であるか、
すなわち (a/m’)立1 を満たすか否か、演算装置(7)を用いて確かめる。
Step 6: The verifier saves the random number a sent by the prover in the memo January G), and checks whether the Jacobian symbol of the random number a is 1 or not.
That is, it is checked using the arithmetic device (7) whether or not (a/m') 1 is satisfied.

(a / m ) = 1であればステップ1へ、さも
なくば正当な証明者でないとして操作を打ち切る。
If (a/m) = 1, the process proceeds to step 1; otherwise, it is determined that the prover is not valid and the operation is terminated.

以下のステップT〜ステップ21 f n = log
2m回縁り返す。
The following steps T to Step 21 f n = log
Turn around 2m times.

ステップ7:確認者は乱数発生器(8)を用いてランダ
ムにrQεc tt m−11Cxε(0,1)を選ぶ
Step 7: The verifier randomly selects rQεc tt m−11Cxε(0,1) using the random number generator (8).

ステップB:確認者は演算装置を用いてC工=0ならば
x =: r O2,CX ” 1ならばz=ar(1
2を計算する。
Step B: The confirmer uses an arithmetic device to calculate that if C = 0, then x =: r O2,CX ''1, then z = ar (1
Calculate 2.

ステップ9:確認者は前記演算結果Xを通信回線(5)
を通して、証、間者に送る。
Step 9: The confirmer sends the calculation result X to the communication line (5)
Through, testimonies, sent to intermediaries.

ステップ10:確認者は乱数発生器(8)を用いて2つ
のランダムな集合(ただし大きさはn=log2mのサ
イズ) T=(tl、 t2.−・、tn: J=r1modm
)。
Step 10: The confirmer uses the random number generator (8) to create two random sets (however, the size is n=log2m) T=(tl, t2.-・, tn: J=r1modm)
).

3=  (kn+1 、tn+2.・”、  t2n:
  ti=  ar12 nod  m  )(tjE
[:1. m−1]  j=1.−. 2n)を選ぶ。
3 = (kn+1, tn+2.・”, t2n:
ti= ar12 nod m )(tjE
[:1. m-1] j=1. −. 2n).

ステップ11:確認者は乱数発生器(8)を用いてT″
′Sの元をランダムな順序で通信回線(5)を通して、
証明者に送る。
Step 11: The confirmer uses the random number generator (8) to
'S through the communication line (5) in a random order,
Send it to the certifier.

ステップ12:証明者は乱数発生器(1)を用いて大@
 サId、 n (D 、 T”” S ’DH分集合
Z (CT”S ) ヲランダムに選ぶ。
Step 12: The prover uses the random number generator (1) to
S Id, n (D, T""S' DH subset Z (CT"S) is selected at random.

ステップ13:証明者は前記2を通信回線(5)を通し
て、確認者に送る。
Step 13: The prover sends the above 2 to the verifier through the communication line (5).

ステップ14:確認者は2の各元2θ2に対し。Step 14: Confirmer for each element 2θ2 of 2.

z = r2mod m  あるいはz = ar2m
ad mを満たすrを演算装置(7)を用いて計算する
。もしもT−ZとS−Zの大きさがdだけ違う場合、確
認者BはT−ZとS−Zの大きい方の集合から、乱数発
生器を用いてランダムにd個の集合t11.・・・、t
tctを選び、  tij −” ri j2mod 
mあるいはjij−”Arlj2modmを満たすri
l * ””、rid  とを演算装置(7)を用いて
計算する。
z = r2mod m or z = ar2m
r that satisfies ad m is calculated using the arithmetic unit (7). If the sizes of T-Z and S-Z differ by d, confirmer B uses a random number generator to randomly select d sets t11. from the larger set of T-Z and S-Z. ...,t
Select tct, tij −”ri j2mod
m or jij-”ri that satisfies Arlj2modm
l*”” and rid are calculated using the arithmetic unit (7).

ステップ15:確認者は前記ri1.・・・+ ’id
  を通信回線(5)を通して、証明者に送る。
Step 15: The confirmer is the ri1. ...+ 'id
is sent to the prover through the communication line (5).

ステップ16:証明者は前記ri1*・・・、ridが
tij :l: rij2mod mあるいはt1j=
 ari」2nod mを満たすかどうかを確かめる。
Step 16: The prover uses the above ri1*..., rid is tij :l: rij2mod m or t1j=
ari''2nod m is satisfied.

ステップ1T:確認者は X ”T  Z  (ttl、 −、tfd )y=s
 −z −(tll、 ・・°、 ttd)と置き。
Step 1T: The confirmer is X ”T Z (ttl, -, tfd)y=s
-z -(tll, ...°, ttd).

Cx二〇すなわちx:rornodmならば。If Cx20, that is, x:ronodm.

X’ = (r(Iri =: 辰mad m l t
 iεX)Y’ =(yrori = 2 moc! 
m 1tilEY )CX=1すなわち1”Yrc3 
modmならば。
X' = (r(Iri =: Dragon mad m l t
iεX)Y' = (yrori = 2 moc!
m 1tilEY )CX=1 or 1”Yrc3
If it's modm.

X = ()’rori =M nod m IJεX
)Y’= (rori = F口nod m l Jf
EY )を演算装置(7)を用いて求める。
X = ()'rori =M nod m IJεX
)Y'= (rori = F mouth nod m l Jf
EY) is obtained using the arithmetic device (7).

ステップ18:確認者は乱数発生器(8)を用いてX″
′Y′の元をランダムな順序で通信回線(5)を通して
、証明者に送る。
Step 18: The confirmer uses the random number generator (8) to
The elements of 'Y' are sent to the prover in a random order through the communication line (5).

ステップ19.証明者は前記確認者より送られるx/ 
’−’ y/ の元が正しい形であるかを確かめる。す
なわちX″′Y′  の任意の元Wが、あるX″″Yの
任意の元t1 に対して w2=xt1modm あるいは w” = yx t i mod m が成立するか、かつまた lx”y’l> n / 3 であるかを演算装置(3)を用いて確かめる。
Step 19. The prover will be sent by the verifier x/
Check whether the element of '-' y/ is in the correct form. In other words, for any element W of X"'Y', for any element t1 of some X""Y, w2 = xt1 modm or w" = yx t i mod m, and lx"y'l >n/3 using the arithmetic device (3).

ステップ20 :証明者は前記判定結果が正しければ、
 v=Qm(x) を通信回線(5)を通して、確認者
に送る。正しくなければ操作を中止する。
Step 20: If the above judgment result is correct, the prover
Send v=Qm(x) to the confirmer through the communication line (5). If it is not correct, cancel the operation.

ステップ21 :確認者はv ” CX  であるか否
かを演算装置(7)を用いて確かめる。v =Cエ な
らばステップ6に戻る。v * C1ならば確認者は操
作を中止する。
Step 21: The confirmer uses the arithmetic device (7) to confirm whether or not v''CX. If v=Ce, return to step 6. If v*C1, the confirmer cancels the operation.

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

従来の方式は以上のように構成されているので。 The conventional method is configured as described above.

証明者は確認者に対して、ステップ1でおくる乱数aが
平方非剰余数であるということ以外、何の情報も漏らす
ことなく、Qmを計算する能力を所有することを納得さ
せることが可能であるが9mの素因数を知らない確認者
にとって乱数aが平方非剰余数であるという情報は確認
者自身では得ることができないことを考えると、この装
置を用いた認証方式は乱数aが平方非剰余数であるとい
う重要な情報が確実に洩れるという問題があった。
The prover can convince the confirmer that he has the ability to calculate Qm without revealing any information other than that the random number a generated in step 1 is a square non-residue number. However, considering that a verifier who does not know the prime factors of 9m cannot obtain the information that random number a is a square non-remainder number, the authentication method using this device is based on the fact that random number a is a square non-remainder There was a problem in that important information such as numbers was definitely leaked.

この発明はこうし友ある特定の数が平方非剰余数である
といった重要な情報を漏らさずに、証明者がQmを計算
する能力を所有すること全確認者にたいして納得させる
安全かつ信頼性の高い認証システムを得ることを目的と
する。
The invention thus provides a safe and reliable way to convince all provers that the prover possesses the ability to calculate Qm without divulging important information such as that a certain number is a square non-residue number. The purpose is to obtain a certification system.

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

この発明に係る認証方式は、証明者の操作により乱数を
発生する証明者側乱数発生器と、証明者の操作によシ演
算を行う証明者側演算器と、証明者の操作により与えら
れた正整数が法Nのもとて平方剰余であるか、平方非剰
余であるかの判定を行う判定器と、上記証明者側乱数発
生手段によシ生成される乱数や上記証明者側演算手段に
より得られる計算結果や確認者より送られるデータを蓄
える記憶装置と、確認者の操作にょシ乱数を発生する確
認者側乱数発生器と、確認者の操作により演算を行う確
認者側演算器と、上記確認者側乱数発生手段によシ生成
される乱数や上記確認者側演算手段により得られる計算
結果や証明者より送られるデータを蓄える記憶装置とを
備え、証明者側装置と確認者側装置との間で相互に通信
を行う通信回線と証明者が確認者に複数の平方非剰余数
の中にただ1つの平方剰余数を入れ、平方剰余数の位置
は確認者に教えないという認証データを確認者に送り、
この認証データを用いて質疑応答を繰返すことを手段と
して認証者は証明者が本当に平方剰余であるか平方非剰
余であるかの判定を効率よく計算するアルゴリズムをし
っている。ある込は計算装置を有するということを確か
めるものである。
The authentication method according to the present invention includes a prover-side random number generator that generates random numbers by the prover's operation, a prover-side arithmetic unit that performs a calculation by the prover's operation, and a prover-side random number generator that generates random numbers by the prover's operation. A determiner that determines whether a positive integer is a square remainder or a non-square remainder under the modulus N, and a random number generated by the random number generation means on the prover side and the calculation means on the prover side. A storage device that stores the calculation results obtained by and data sent from the confirmer, a confirmer-side random number generator that generates random numbers according to the confirmer's operations, and a confirmer-side arithmetic unit that performs calculations according to the confirmer's operations. , a storage device for storing random numbers generated by the random number generation means on the verifier side, calculation results obtained by the arithmetic means on the verifier side, and data sent from the prover; A communication line that communicates with the device, and a certification that the verifier enters only one square remainder number among multiple square non-residue numbers and does not tell the verifier the location of the square remainder number. Send the data to the reviewer,
By repeating questions and answers using this authentication data, the certifier knows an algorithm to efficiently calculate whether the prover is really a square remainder or a non-square remainder. Included is to confirm that you have a computing device.

〔作用〕[Effect]

証明者は乱数発生器と演算器とを用いて複数の平方非剰
余数の中にただ1つの平方剰余数を入れた認証データを
構成し確認者に送る。確認者は乱数発生器と演算器とを
用いて証明者から送られる認証データを基にランダムに
認証データを巡回置換し、さらに各成分に平方剰余を掛
合せ九質問データを構成し証明者に送る。証明者は確認
者が正しく質問データを送っていることを、確認者との
通信によシ確かめたうえで0判定装置を用いて確認者か
ら送られる質問データに対する巡回置換の位数を解答デ
ータとして確認者に送り返す。確認者は証明者から送ら
れる解答データが正しいかどうかで認証を行う。
The prover uses a random number generator and an arithmetic unit to compose authentication data in which only one square remainder number is included among a plurality of square non-residue numbers, and sends it to the verifier. The verifier uses a random number generator and an arithmetic unit to randomly permute the authentication data based on the authentication data sent from the prover, and then multiplies each component by the square remainder to form nine question data and sends it to the prover. send. The prover confirms through communication with the confirmer that the confirmer is sending the question data correctly, and then uses a 0 judgment device to determine the order of cyclic permutation for the question data sent by the confirmer as the answer data. and send it back to the confirmer. The verifier performs authentication based on whether the answer data sent from the prover is correct.

〔発明の実殉例〕[Examples of actual inventions]

以下、この発明の一実施例を詳しく説明する。 Hereinafter, one embodiment of the present invention will be described in detail.

第」図は、この発IJj[係る認証方式の一実樒例を示
すブロック図である。図において、  (101)は証
明者の操作により乱数を生成する乱数発生器。
FIG. 1 is a block diagram illustrating an example of this authentication method. In the figure, (101) is a random number generator that generates random numbers by the operation of the prover.

(102)は証明者の操作により、乱数発生器より生成
される乱数や演算装置より出力される演算結果や、認証
者よシ送られるデータを記憶するメモリ。
(102) is a memory for storing random numbers generated by a random number generator, calculation results output from an arithmetic device, and data sent by the certifier through the operation of the certifier.

(103)は証明者の操作により演算を行う演算装置。(103) is an arithmetic device that performs arithmetic operations by the prover's operation.

(104)は証明者の操作によりQmの計算を行い。(104) calculates Qm by the prover's operation.

与えられた数が平方剰余であるか否かの判定を行う判定
装置、  (105)は証明者と確認者が用いる通信回
線、  (106)は確認者の操作により、乱数発生器
より生成される乱数や演算装置よシ出力される演算結果
や、確認者より送られるデータを記憶するメモ!、I、
  (107)は確認者の操作によシ演算を行う演算装
置である。
A determination device that determines whether a given number is a square remainder, (105) is a communication line used by the prover and the confirmer, and (106) is a random number generator generated by the confirmer's operation. A memo that stores random numbers, calculation results output from the calculation device, and data sent by the confirmer! ,I,
(107) is an arithmetic device that performs calculations according to the operation of the confirmer.

上述したような装置構成は例えばICカードと計算機シ
ステムにより実現される。
The device configuration as described above is realized by, for example, an IC card and a computer system.

次に動作について説明する。Next, the operation will be explained.

ステップ1:f間者は乱数発生器(101)を用いて正
整数の乱数aを生成しメモIJ (102)に記憶する
Step 1: The user generates a positive integer random number a using a random number generator (101) and stores it in the memo IJ (102).

ステップ2:証明者は前記乱数aをメモIJ (102
)より呼び出し、乱数aがmと互いに素であるか否かす
なわち (a、n’+)=1 を満たすか否か、演算装置(105)を用いて判定する
。(a、m)=1であればステップ3へ、(−、m)#
1でちればステップ1へ戻る。
Step 2: The prover memorizes the random number a (102
), and the arithmetic unit (105) is used to determine whether the random number a is coprime to m, that is, whether it satisfies (a, n'+)=1. If (a, m) = 1, go to step 3, (-, m) #
If it is 1, return to step 1.

ステップ3:証明者1−j@記乱数aをメモIJ (1
02)より呼び出し、乱数&の法mのもとてのヤコビ記
号が1であるか否かすなわち (a/m)=1 を満たすか否か、演算装置(103)を用いて判定する
。(a/m)=1であればステップ4へ、(a/m)=
−1であれはステップ1へ戻る。
Step 3: Memoize prover 1-j@memory random number a IJ (1
02), and the arithmetic unit (103) is used to determine whether the original Jacobian symbol of the modulo m of the random number & is 1, that is, whether (a/m)=1 is satisfied. If (a/m)=1, go to step 4, (a/m)=
If it is -1, return to step 1.

ステップ4:証明者は前記乱数aをメモl) (102
)より呼び出し、乱数aが平方非剰余であるか否かすな
わち Qm (a) = 0 を満たすか否か0判定装置(104)を用いて判定する
。Qm (a) = 0 であればステップ5 ヘ、 
Qm(a) =:1であればステップ1へ戻る。
Step 4: The prover memorizes the random number a) (102
), and it is determined using a 0 determination device (104) whether the random number a is a square non-residue, that is, whether it satisfies Qm (a) = 0. If Qm (a) = 0, go to step 5.
If Qm(a) =:1, return to step 1.

ステップ5:証明者は乱数発生器(101)と演算装置
(103)とを用いて正整数の乱数を成分とするq行p
列の乱数行列R=(rij)O≦l≦p−t、o≦j≦
q−L(ただし各rijはmと互いに素)を生成レモリ
(102)に記憶する。
Step 5: The prover uses a random number generator (101) and an arithmetic unit (103) to generate q rows p whose components are positive integer random numbers.
Column random number matrix R = (rij) O≦l≦pt, o≦j≦
q-L (where each rij is coprime to m) is stored in the generation memory (102).

ステップ6:証明者は乱数発生器(101)を用いて整
数の乱数ベクトルB=(bo、・・・*  bq−1)
(0≦bj≦p−1)を生成しメモリ(102)に記憶
する。
Step 6: The prover uses a random number generator (101) to generate an integer random number vector B = (bo, ... * bq-1)
(0≦bj≦p-1) is generated and stored in the memory (102).

ステップ7:証明者は、前記正整数の乱数ベクトルBと
前記平方非剰余である正整数の乱数aと乱数行列Rとを
メモリ(1[11)より呼び出し、演算装置(105)
を用いて。
Step 7: The prover reads the random number vector B of positive integers, the random number a of positive integers which is the square non-residue, and the random number matrix R from the memory (1[11), and calls the arithmetic unit (105).
Using.

を計算し、認証データs =(8Ij) o≦i≦p−
1゜0≦j≦q−t  を構成しメモ’) (102)
に記憶する。
Calculate the authentication data s = (8Ij) o≦i≦p−
Construct 1゜0≦j≦q−t and memo') (102)
to be memorized.

ステップ8:証明者は、前記認証データSをメモIJ 
(102)より呼び出し9通信回線(105)を通して
通信相手となる確認者に送る。
Step 8: The prover memorizes the authentication data S
(102) sends it to the confirming person who will be the communication partner through the call 9 communication line (105).

ステップ9:確認者は前記証明者よシ送られる認証デー
タSをメモリ(106)に記憶し、認証データSの各S
ij  のヤコビ記号(s t J/ N )が1であ
るかどうかを演算装置(107)を用いて確かめる。
Step 9: The verifier stores the authentication data S sent by the prover in the memory (106), and stores each S of the authentication data S.
The arithmetic unit (107) is used to check whether the Jacobian symbol (s t J/N) of ij is 1 or not.

以下のステップ10〜ステツプ21 ヲn=log2m
回繰り返す。
Step 10 to Step 21 below = log2m
Repeat times.

ステップ10:確認者は乱数発生器(108)とを用い
て整数の乱数ベクトルC=(co、・・・、cl)一 (0≦ej≦p〜1)と正整数の乱数を成分とするq行
p列の乱数行列T=(tfj)0≦i≦p−1,0≦j
≦q−1を生成しメモリ(106)に記憶する。
Step 10: The confirmer uses a random number generator (108) to generate an integer random number vector C=(co,...,cl)-(0≦ej≦p~1) and a positive integer random number as components. Random number matrix T = (tfj) with q rows and p columns 0≦i≦p-1, 0≦j
≦q-1 is generated and stored in the memory (106).

ステップ11:確認者は、前記証明者よシ送られる認証
データSと前記確認者側乱数発生器(108)が生成し
た乱数ベクトルC1乱数行列Tとをメモ’) (106
)よシ呼び出し演算装置(io7)を用いて。
Step 11: The verifier takes note of the authentication data S sent by the prover and the random number vector C1 random number matrix T generated by the verifier's random number generator (108)') (106
) using the Yoshi call arithmetic unit (io7).

G (i、 j )==(i +ajrriod p、
 j 、)uij”5G(i、j) ・ Vij””tij2Xuij rnodNを計算し、質
問データv=(vij)o≦i≦p−1゜0≦j≦q−
1を構成しメモリ(106)に記憶する。
G (i, j) = = (i + ajrriod p,
j ,)uij"5G(i,j)・Vij""tij2Xuij rnodN is calculated, and the question data v=(vij)o≦i≦p−1゜0≦j≦q−
1 and stores it in the memory (106).

ステップ12:確認者は前記質問データ■をメモリ(1
06)より呼び出し1通信回l5(105)を通して証
明者に送る。
Step 12: The confirmer stores the question data ■ in memory (1
06) and sends it to the prover through call 1 communication cycle l5 (105).

ステップ13:証明者は乱数発生器(,01)を用いて
ランダムに(o、1.・・・、 q−1)  の中から
W個の数(eo、・・・、ew−1)(但し61#6j
)を選び、確認データE =(eo 、 ”・、  e
w−1) ’に構成シメモリ(102)に記憶する。
Step 13: The prover uses the random number generator (,01) to randomly select W numbers (eo,..., ew-1) (from (o, 1..., q-1)). However, 61#6j
) and check data E = (eo, ”・, e
w-1)' is stored in the configuration memory (102).

ステップ14:証明者は、@記乱数ベクトルEをメモリ
(102)より呼び出し1通信回l (105) を通
して確認者に送る。。
Step 14: The prover calls the @recorded random number vector E from the memory (102) and sends it to the verifier through one communication cycle l (105). .

ステップ15.確認者は、前記証明者より送られる確認
データE=(eo、 ・・・+eW−1)をメモリ(1
06)に記憶し、Eの各Q j に対する変換データT
 CE〕= (tij) 0≦i≦p −4、j EF
C’ [E’)= (ej) jEE をメモリ(106)より呼び出し0通信回線(105)
  を通して証明者に送る。
Step 15. The verifier stores the verification data E=(eo,...+eW-1) sent from the prover in memory (1
06), and transform data T for each Q j of E
CE]= (tij) 0≦i≦p −4, j EF
C'[E') = (ej) Recall jEE from memory (106) 0 communication line (105)
send to the prover through

ステップ16:証明者は、@記確認者より送られる変換
データをメモU (102)に記憶し、変換データが正
当であるかどうか、すなわち G (t、 j)==(i+cjmnd  p、 j)
ulj” 5G(L J )・ vij”” tB2X ul jmad Nがすべての
O≦i≦rs−t、jEEに対して成立するかどうかを
演算装置(103)を用いて確かめる。
Step 16: The prover stores the conversion data sent from the @confirmer in the memo U (102), and determines whether the conversion data is valid, that is, G (t, j) = = (i + cjmnd p, j)
The arithmetic unit (103) is used to check whether ulj"5G(LJ)·vij""tB2Xul jmad N holds true for all O≦i≦rs-t, jEE.

ステップ11:証明者はランダムに(eO*・・・。Step 11: The prover is randomly selected (eO*...).

”W−11を除< (0,1,−、q−11の中からh
を選ヒ、メモリ(102)に記憶する。
"Excluding W-11 < (0, 1, -, h from q-11
is selected and stored in the memory (102).

ステップ18:証明者は確認者から送られる質問データ
Vのh行の各Vijが平方剰余であるか否かを判定し、
平方剰余である位置をdh(0≦d≦p−1)とし、メ
モリ(102)に記憶する。
Step 18: The prover determines whether each Vij in the h rows of the question data V sent from the verifier is a square remainder,
The position of the square remainder is set as dh (0≦d≦p−1) and stored in the memory (102).

ステップ19:証明者は、前記演算手段により得られる
演算結果dh と前記乱数bh  とをメモリ(102
)より呼び出し、演算装(1003)を用いて0rdh
=dh−bhn+od p を計算し判定データ(h 、 0rdh)を構成し、メ
モリ(102)に記憶する。
Step 19: The prover stores the calculation result dh obtained by the calculation means and the random number bh in a memory (102
) and use the arithmetic unit (1003) to write 0rdh.
=dh-bhn+odp is calculated to form judgment data (h, 0rdh) and stored in the memory (102).

ステップ20:証明者は前記判定データ(h。Step 20: The prover uses the judgment data (h).

0rdh)をメモ!J、(102)より呼び出し2通信
回線(105)を通して確認者に送る。
0rdh)! J, (102) sends it to the confirmer through the call 2 communication line (105).

ステップ21:確認者は、前記乱数Chをメモリ(10
6)より呼び出し、乱数Ch と証明者から送られる前
記0rdhが一致するかを確かめる。
Step 21: The confirmer stores the random number Ch in memory (10
6), and check whether the random number Ch and the 0rdh sent from the prover match.

なお上記実施例において証明者、確認者で説明したが、
ICカードと端末のように同等の対象によシ実現される
ことは言うまでもない。
In addition, in the above example, the prover and confirmer were explained, but
Needless to say, this can be realized using equivalent objects such as an IC card and a terminal.

〔発明の効果〕〔Effect of the invention〕

以上、詳述したように、この発明は証明者が確認者に複
数の平方非剰余数の中にただ1つの平方剰余数を入れた
認証データを送る。但し平方剰余数の位置は教えなめこ
とで、この認証データを用いて確認者は、証明者が本当
に平方剰余であるか平方非剰余であるかの判定を効率よ
く計算するアルゴリズムをしっている。あるいは計算装
置を有するということを質疑応答を繰返すことで確かめ
るので、確認者がこの認証システムを用いて、正当な証
明者から得る情報は、初めに証明者から送られる認証デ
ータの中にただ1つ平方剰余数が存在するということで
あって、どの元が平方剰余数であるか、あるいは平方非
剰余数であるかという情報は得ることはできない。した
がって証明者は従来のGMRの方式を用いた認証装置に
くらべて有益な情報を漏らさず安全性の高い、認証を行
うことが可能となる。
As described in detail above, in the present invention, the prover sends the verifier authentication data in which only one square remainder number is included among a plurality of square non-residue numbers. However, the location of the square remainder is not known, and the verifier uses this authentication data to know an algorithm that efficiently calculates whether the prover is really a square remainder or a non-square remainder. . Alternatively, the fact that the verifier has a computing device is confirmed through repeated questions and answers, so the verifier uses this authentication system to obtain only one piece of information from the authentic prover in the authentication data initially sent from the prover. This means that there are two square remainder numbers, and we cannot obtain information about which elements are square remainder numbers or non-square remainder numbers. Therefore, the prover can perform highly secure authentication without leaking useful information compared to an authentication device using the conventional GMR method.

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

第1図は本発明の認証方式を実現する装置の構成をあら
れすブロック図、第2図は従来装置の構成をあられすブ
ロック図である。 <11は証明者側乱数発生器、(2)は証明者側メモリ
。 (3)は証明者側演算装置、(4)は証明者判定装置、
(5)は通信回線、(6)は確認者側メモ!J、(7)
は確認者側演算装置、(8)は確認者側乱数発生器、 
 (101)は証明者側乱数発生器、  (102)は
証明者側メモリ。 (103)は証明者側演算装置、 (104)は証明者
判定装置、  (105)は通信回線、  (106)
は確認者側メモ!J、  (107)は確認者側演算装
置、 (108)は確認者側乱数発生器を表す。
FIG. 1 is a block diagram showing the configuration of a device that implements the authentication method of the present invention, and FIG. 2 is a block diagram showing the configuration of a conventional device. <11 is a random number generator on the prover side, and (2) is a memory on the prover side. (3) is the prover side arithmetic device, (4) is the prover judgment device,
(5) is the communication line, (6) is the confirmer's memo! J, (7)
is a calculation device on the verifier side, (8) is a random number generator on the verifier side,
(101) is a random number generator on the prover side, and (102) is a memory on the prover side. (103) is the prover side arithmetic device, (104) is the prover judgment device, (105) is the communication line, (106)
is a memo from the confirmer! J, (107) represents an arithmetic unit on the verifier side, and (108) represents a random number generator on the verifier side.

Claims (2)

【特許請求の範囲】[Claims] (1)認証通信を行うシステムにおいて、証明者は、証
明者が生成した乱数に演算を施し認証データを構成し、
この認証データを確認者へ送り、確認者は、認証データ
と確認者が生成した乱数とに演算を施し、質問データを
構成しこの質問データを証明者へ送り、証明者は、確認
者から送られる認証データに応じた解答データを確認者
へ送り、確認者は証明者から送られる解答データが正し
いかを確かめることにより認証を行うことを特徴とする
認証方式。
(1) In a system that performs authentication communication, the prover composes authentication data by performing calculations on random numbers generated by the prover,
This authentication data is sent to the verifier, the verifier performs arithmetic operations on the authentication data and the random numbers generated by the verifier, composes question data, and sends this query data to the prover. An authentication method characterized in that answer data corresponding to the authentication data sent by the prover is sent to the verifier, and the verifier performs authentication by checking whether the answer data sent from the prover is correct.
(2)請求項1に記載の認証方式において、証明者が確
認者より質問データを受け取つた後、証明者は、証明者
が生成した乱数に演算を施し確認データを構成し確認者
へ送り、確認者は、証明者より送られる確認データに応
じて、認証データから質問データを構成した時に用いた
変換データを証明者に送り、証明者は、確認者から送ら
れる変換データと認証データとより、確認データに対応
する質問データが正答かどうかを確かめ、証明者は、確
認者から送られる認証データに応じた解答データを確認
者へ送ることを特徴とする認証方式。
(2) In the authentication method according to claim 1, after the prover receives the question data from the confirmer, the prover performs an operation on the random numbers generated by the prover to form confirmation data and sends it to the confirmer; The verifier sends the conversion data used when configuring the question data from the authentication data to the prover in accordance with the confirmation data sent from the prover, and the prover converts the conversion data and authentication data sent from the confirmer to the prover. , an authentication method characterized by checking whether question data corresponding to confirmation data is a correct answer, and the prover sending answer data corresponding to the authentication data sent from the confirmer to the confirmer.
JP1125224A 1989-05-18 1989-05-18 Authentication system Pending JPH02305039A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1125224A JPH02305039A (en) 1989-05-18 1989-05-18 Authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1125224A JPH02305039A (en) 1989-05-18 1989-05-18 Authentication system

Publications (1)

Publication Number Publication Date
JPH02305039A true JPH02305039A (en) 1990-12-18

Family

ID=14904911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1125224A Pending JPH02305039A (en) 1989-05-18 1989-05-18 Authentication system

Country Status (1)

Country Link
JP (1) JPH02305039A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07212356A (en) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> Certifying method and system of communication partner

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K OHTA T OKAMOTO PRACTICAL EXTENSION OF FIAT-SHAMIR SCHEME ELECTRONICS LETTERS=1988 *
U FEIGE A FIAT A SHAMIR ZERO KNOWLEDGE PROOFS OF IDENTITY PROCEEDINGS OF 19TH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING=1987 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07212356A (en) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> Certifying method and system of communication partner

Similar Documents

Publication Publication Date Title
CN107733852B (en) A kind of auth method and device, electronic equipment
Damgård Efficient concurrent zero-knowledge in the auxiliary string model
EP3146670B1 (en) Network authentication system with dynamic key generation
Lyubashevsky Lattice-based identification schemes secure under active attacks
EP0348812B1 (en) Authentication method and apparatus therefor
CN109067801A (en) A kind of identity identifying method, identification authentication system and computer-readable medium
CN106936566A (en) It is a kind of based on block chain technology can outsourcing document signature method
Tsiounis Efficient electronic cash: new notions and techniques
CN105827620B (en) A kind of data transmission system and its method
CN107248909A (en) It is a kind of based on SM2 algorithms without Credential-Security endorsement method
WO2007133274B1 (en) Centralized identity verification and/or password validation
CN104994110A (en) Method for assigning verifier for auditing cloud storage data
US7313697B2 (en) Method for authentication
US7991151B2 (en) Method for secure delegation of calculation of a bilinear application
JP2000358027A (en) System for certifying authentication of authentication information
JP2007519044A (en) Zero knowledge proof encryption method and apparatus
WO2002009348A3 (en) Ring-based digital signature and authentication method and apparatus
CN100428682C (en) System and method for authenticating content user
CN106779705A (en) A kind of dynamic payment method and system
CN113364597A (en) Privacy information proving method and system based on block chain
Ng et al. Universal designated multi verifier signature schemes
CN102883325A (en) Identification server, mobile terminal and end-to-end identification communication channel establishing method
JP4945026B2 (en) Authentication or signing process with reduced computational suite
CN110176989A (en) Quantum communications service station identity identifying method and system based on unsymmetrical key pond
Breuer et al. Cryptocurrencies with security policies and two-factor authentication