JPH08160857A - 楕円曲線に基づく認証方法及び認証システム - Google Patents

楕円曲線に基づく認証方法及び認証システム

Info

Publication number
JPH08160857A
JPH08160857A JP6323921A JP32392194A JPH08160857A JP H08160857 A JPH08160857 A JP H08160857A JP 6323921 A JP6323921 A JP 6323921A JP 32392194 A JP32392194 A JP 32392194A JP H08160857 A JPH08160857 A JP H08160857A
Authority
JP
Japan
Prior art keywords
prover
elliptic curve
center
certifier
confirmer
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
JP6323921A
Other languages
English (en)
Inventor
Genji Nishioka
玄次 西岡
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6323921A priority Critical patent/JPH08160857A/ja
Publication of JPH08160857A publication Critical patent/JPH08160857A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

(57)【要約】 (修正有) 【目的】身元を証明するような認証システムにおいて、
有限体上の離散対数問題に基づく零知識認証方式に比
べ、認証処理効率を下げることなく、安全性のより高い
零知識認証方式を提案する。 【構成】有限体上の離散対数問題よりも難しい問題であ
る楕円曲線上の離散対数問題を暗号学的仮定として認証
プロトコルを構築する。予め楕円曲線E及び該楕円曲線
E上における加法を定義しておき、センタにおいて該楕
円曲線E及び該楕円曲線E上の点P、Qを公開し、セン
タにおいて上記楕円曲線E上の点P、Qに関し、Q=x
P(ただしxPは、楕円曲線E上の点Pに対して、Pを
x回加える倍計算を意味する)を満足する整数xを証明
者に配布し、証明者が確認者に対してxを所持すること
をxに関する知識を漏らすことなく証明することによ
り、認証を行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、楕円曲線に基づく認証
方式及び装置に関し、特に情報セキュリティの分野にお
いて、証明者が確認者に対して自分の身元の正当性を証
明する認証技術に関する発明である。
【0002】
【従来の技術】近年、暗号の分野では、公開鍵暗号の安
全性をより高めることを主な目的として、有限体上の問
題(例えば、離散対数問題)を楕円曲線上の問題に置き
換えて暗号アルゴリズムを構築する試みが起ってきた。
【0003】そこで、まず楕円曲線の基本的事項につい
て説明し、さらに楕円曲線上の離散対数問題の困難性に
安全性の根拠を置くDiffie-Hellmannタイプの鍵共有方
式について説明する。
【0004】Kを体とする。このとき、P=(a0,a1,
…,an),Q=(b0,b1,…,bn)∈Kn+1−{(0,
0,…,0)} に対して、関係〜を次の様に定義する。 P〜Q ⇔ ∃λ≠0∈K s.t ai=λbi for i=
0,…,n なお、記号⇔は、定義を意味するものとする。
【0005】このとき、関係〜は同値関係になり、商空
間(Kn+1 −{(0,0,…,0)})/〜をn次元射影空間
(n=2のとき、射影平面)と呼び、Pn(K)、また
は、単にPnで表わす。また、Pnにおいて、P=
(a0,a1,…,an)を代表元とする同値類を(a0
1:…:an)と書き、P=(a0:a1:…:an)で
表わす。さらに、Pnの部分空間{(a0:a1:…:
n)∈Pn|Xn+1=0}を無限遠超平面(n=2のと
きは、無限遠直線)と呼ぶ。
【0006】体Kの標数が3より大きいとき、K上の楕
円曲線EK(a、b)を次の様に定義する。
【0007】EK(a,b)={(x:y:z)∈P2|y2
z=x3+axz2+bz3,4a3+27b2≠0,a,b∈
K} また、E=EK(a,b)と無限遠直線との交点(0:
1:0)を無限遠点と呼び、Oによって表わす。
【0008】このとき、定義から、楕円曲線EK(a,
b)は、 EK(a,b)={(x,y)∈K2|y2=x3+ax+
b,4a3+27b2≠0,a,b∈K}∪O と表わすこともできる(以降、簡単のため、この表記を
とる)。
【0009】K上の楕円曲線Eにおいて、次の(1)か
ら(4)のように加法+を定義する。このとき、(E,
+)はアーベル群をなす。
【0010】(1)P=O,Q∈Eのとき、−P=O,
P+Q=Qとする。すなわち、無限遠点Oを単位元とす
る。
【0011】(2)P=(x,y)∈Eのとき、−P=
(x,−y)とする。
【0012】(3)Q=−Pのとき、P+Q=Oとす
る。
【0013】(4)P=(x1,y1),Q=(x2,y2
∈Eに対して、P+Q=(x3,y3)を、 x3=λ2−x1−x23=−y1+λ(x1−x3) により、定義する。ただし、 λ= (y2−y1)/(x2−x1) if x1≠x2 (3x1 2+a)/2y1 if P=Q とする。
【0014】素体Zp(素数pを法とする剰余体)上の
楕円曲線E=Ep(a,b)とB∈Eにおいて、(Bをベ
ースとする)E上の離散対数問題とは、「P∈Eが与え
られたとき、P=xBを満たす整数xを求めよ。」なる
問題を意味する。ただし、xBとは、E上において定義
された加法の下で、Bをx回加える倍計算を意味する。
また、位数がqのP∈Eに対して、すなわち、xP=O
となる最小の正数xがqとなるP∈Eに対して、Nを整
数nを代表元とするZqの元とするとき、NP=nPと
定義できることに注意する。
【0015】一般に、楕円曲線上の離散対数問題のほう
が、有限体上の離散対数問題よりも難しい問題であると
予想されている。
【0016】体上の離散対数問題に基づくDiffie-Hellm
ann鍵配送方式は、公開鍵暗号の概念を実現する具体的
な方法として良く知られている。次に、文献「N.Koblit
z: Elliptic Curve Cryptosystems; Mathematics of Co
mputation, Vol.48 (1987)」に記載の楕円曲線版Diffie
-Hellmann鍵配送方式について説明する。
【0017】センタの公開情報を用いて、AとBが鍵共
有する場合を考える。
【0018】1.センタの準備処理 センタは、素数pとZp上の楕円曲線を表わす係数部の
パラメータ(a,b)、及び、位数がqとなる楕円曲線
上のベース点Pを定めて、A及びBに公開する。
【0019】2.鍵共有処理 1)AはsA∈Zqをランダムに選び、 CA=sAP を計算し、点CAをBに送る。BはsB∈Zqをランダム
に選び、 CB=sBP を計算し、点CBをAに送る。
【0020】2)AはCBとsAから鍵KABを、 KAB=sAB と計算する。BはCAとsBから鍵KBAを、 KBA=sBA と計算する。
【0021】このとき、KAB=KBAが成立し、AとBの
間で鍵共有が行なわれたことになる。
【0022】
【発明が解決しようとする課題】高度情報化社会におい
ては、通信ネットワーク上で、電子投票を行なったり重
要な契約などを行なう等のほか、様々なサービスが行な
われることが予想される。この際、ネットワークの利用
者が自分の身元を安全に相手に証明する認証技術が必要
不可欠になる。
【0023】また、今後は、大きな加入者数を持つネッ
トワークが増えるものと予想され、センタの集中管理が
難しくなると考えられる。そこで、大規模分散環境下で
の使用を前提とした高安全・高効率の認証技術が要求さ
れる。
【0024】零知識証明を用いた認証方式は、認証プロ
トコルから秘密情報を漏らさないことが保証されている
安全性の高い認証方式であるが、さらに、証明者のID
情報とセンタの公開情報のみで認証処理を行なうことが
できるため、公開鍵ファイルの必要がなく、また、セン
タの負荷が少なくなる点において、大規模分散環境下に
適した認証方式の1つである。
【0025】しかし、従来の零知識証明が暗号学的仮定
としている有限体上の離散対数問題や平方剰余問題につ
いては、コンピュータの計算処理能力の向上やアルゴリ
ズムの研究に伴い、問題のサイズを大きくする必要が生
じている。
【0026】本発明の目的は、センタが作成した認証用
の秘密情報を利用して、証明者が確認者に対して自分の
身元を証明する認証システムにおいて、従来知られてい
る零知識認証方式に比べ、より難しい問題を暗号学的仮
定とする効率の良い零知識認証方式、及び、装置を提供
することにある。
【0027】
【課題を解決するための手段】本発明は、零知識証明を
用いた認証方式のさらなる安全性の向上を目的として、
楕円曲線上の離散対数問題に基づく零知識認証方式を提
案するものである。すなわち、本発明では、予め楕円曲
線E及び該楕円曲線E上における加法を定義しておき、
センタにおいて該楕円曲線E及び該楕円曲線E上の点
P,Qを公開し、センタにおいて上記楕円曲線E上の点
P,Qに関し、Q=xP(ただしxPは、楕円曲線E上
の点Pに対して、Pをx回加える倍計算を意味する)を
満足する整数xを証明者に配布し、証明者が確認者に対
してxを所持することをxに関する知識を漏らすことな
く証明することにより、認証を行なう。
【0028】具体的実現方法の1つとしては、センタに
おける準備処理として、秘密情報s(ただし、sは0<
s<qなる整数)を生成して保持するステップと、素数
p,q、楕円曲線E、及び該楕円曲線E上の点G,V
(ただし、V=sGで、sGは楕円曲線E上において定
義された加法により、Gをs回加える倍計算を意味す
る)を生成して公開するステップとを備え、証明者のセ
ンタへの登録処理として、証明者からセンタに、該証明
者のID情報IDAを送るステップと、センタにおいて、
乱数tA(ただし、tAは0<tA<qなる整数)、セン
タの秘密情報s、並びに、センタの公開情報である素数
p,q、楕円曲線E、及び該楕円曲線E上の点G,Vを
用いて、 zAG=(IDA+xA)V+XA を満足する楕円曲線E上の点XA=tAG=(xA,yA
と0<zA<qなる整数zAを作成し、XAとzAを認証用
の情報として証明者に配付するステップとを備え、証明
者と確認者の間の認証処理として、証明者から確認者
に、ID情報IDAとXA=(xA,yA)とを送るステップ
と、 (i)証明者は、0<ri<qなる整数riをランダムに
選び、楕円曲線E上の点Uiを Ui=riG にて計算し、Uiを確認者に送る; (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 Ui=wiG−ei((IDA+xA)V+XA) が成立することを確かめる;上記(i)〜(iv)をi=
1からt(tはセキュリティパラメータ)まで繰り返す
ことにより、証明者の認証を行なうステップとを備える
ようにする。
【0029】上記(i)では楕円曲線E上の点Uiのx
座標及びy座標を証明者から確認者に送り、(iv)でU
i=wiG−ei((IDA+xA)V+XA)を確かめたが、点U
iのx座標のみを用いるようにしてもよい。また、所定
の正定数rを用いて点Uiのx座標の(mod r)により
確認するようにしてもよい。これらについては、実施例
により具体的に説明する。
【0030】
【作用】本発明における認証方式では、楕円曲線上の離
散対数問題に基づいて零知識認証スキームを構築してい
る。楕円曲線上の離散対数問題は、有限体Zp上の離散
対数問題よりも難しいと予想されているため、従来方式
である体上の離散対数問題に基づく零知識認証方式に比
べ、認証スキーム自体の安全性が向上する。さらに、証
明者と確認者間の認証プロトコルにおいては、楕円曲線
上の点のx座標のみの通信内容で認証プロトコルを構築
することもできるので、従来方式と同程度の通信量・通
信回数で認証処理が実現できる。また、本発明における
認証方式では、確認者が証明者を試すために送る乱数の
範囲を大きく取れるため、少ない通信回数で不正者の証
明者へのなりすまし確率を低く設定することができる。
【0031】
【実施例】以下、図面を用いて、本発明の実施例につい
て詳しく説明する。
【0032】図1は、本発明の一実施例に係る認証シス
テムのシステム構成を示す図である。このシステムは、
センタ側装置100と証明者側装置200と確認者側装置300
とICカード400とから構成されている。センタ側装置1
00と証明者側装置200と確認者側装置300は、通信回線50
0を介して接続されている。
【0033】証明者は、確認者に自分の身元を証明する
ことを目的として、認証用の秘密情報を搭載したセンタ
発行のICカード400を所持し、このICカード400を利
用して証明者側装置200と確認者側装置300との間で通信
回線500を介して認証処理を行なう。
【0034】図2は、センタ側装置100の内部構成を示
す。センタ側装置100は、入力装置101、演算装置102、
メモリ103、乱数生成装置104、素数生成装置105、通信
装置106、及び、出力装置107を備えている。
【0035】図3は、証明者側装置200の内部構成を示
す。証明者側装置200は、入力装置201、ICカード読み
書き装置202、通信装置203、及び、出力装置204を備え
ている。
【0036】図4は、確認者側装置300の内部構成を示
す。確認者側装置300は、入力装置301、演算装置302、
メモリ303、乱数生成装置304、通信装置305、及び、出
力装置306を備えている。
【0037】図5は、ICカード400の内部構成を示
す。ICカード400は、入力装置401、演算装置402、メ
モリ403、乱数生成装置404、及び、出力装置405を備え
ている。以下、実施例1〜6により具体的な認証の手順
について説明する。なお、これらの実施例1〜6は、何
れも上記図1〜図5の構成のシステム上で実現されるも
のとする。
【0038】(実施例1)証明者は、確認者に対して自
分の身元を証明したい。この目的の下で、証明者は信頼
できるセンタを訪ねる。
【0039】1.センタの準備処理 センタは、センタ側装置100内の入力装置101と演算装置
102とメモリ103と乱数生成装置104と素数生成装置105を
用いて、秘密情報と公開情報を次の要領で作成し、通信
装置106及び出力装置107を用いて公開情報のみを通信回
線500を介して公開する。また、秘密情報はメモリ103に
格納する。
【0040】秘密情報: ・s∈Z s.t 0<s<q
【0041】公開情報: ・p:512ビット程度の素数 ・q:160ビット程度の素数 ・(a,b)∈Zp 2 s.t 4a3+27b2≠0 ・G∈E s.t ord(G)=q ・V=sG∈E
【0042】ここで、Zpは素数pを法とする剰余体を
表わす。さらに、(a,b)∈Zp 2により、楕円曲線E
=Ep(a,b)={(x,y)∈Zp 2|y2=x3+ax
+b,4a3+27b2≠0,a,b∈Zp}∪Oを表わす。ま
た、P∈Eに対して、ord(P)=nとは、Pの位数がn
であることを意味する。すなわち、xP=Oとなる最小
の正整数xがnである。xPとは、点Pをx回加える倍
計算を意味する(計算方法については、「従来の技術」
を参照)。特に断わらないかぎり、以降についても同様
の表現をとる。
【0043】2.証明者の登録処理 証明者は、確認者に対して自分の身元を証明することを
目的にセンタを訪ねる。証明者は、自分のID情報IDA
をセンタに登録する。センタは、センタ側装置100内の
乱数生成装置104を用いて、0<tA<qなる整数tA
ランダムに選び、演算装置102及びメモリ103を用いて、
楕円曲線E上の点XAと整数zAを XA=tAG=(xA,yA) zA=s(IDA+xA)+tA(mod q) にて計算する。そして、楕円曲線E上の点XAとzAと証
明者のID情報IDAをICカード400内のメモリ403に格
納して、ICカード400を証明者に配布する。
【0044】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して次のプロトコ
ルを実行することにより、 zAG=(IDA+xA)V+XA を満足する整数zAを所持することを証明する。
【0045】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(xA,yA)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、通
信装置203及び出力装置204を用いて通信回線500を介し
て、ID情報IDAとXA=(xA,yA)を確認者側装置30
0に送る。
【0046】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0047】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、楕円曲線E上の点Uiを Ui=riG にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の出力装置
203と通信装置204を用いて、通信回線500を介して、Ui
を確認者側装置300に送る。
【0048】3)確認者側装置300は、Uiを受信後、U
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、通信装置305及び出力装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0049】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の通信装置203及び出力装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。
【0050】5)確認者側装置300は、演算装置302及び
メモリ303を用いて、 Ui=wiG−ei((IDA+xA)V+XA) が成立することを確かめる。
【0051】(実施例2)図6は、実施例2の認証方式
の処理手順の概要を示す図である。証明者は、確認者に
対して自分の身元を証明したい。この目的の下で、証明
者は信頼できるセンタを訪ねる。
【0052】1.センタの準備処理 実施例1と同じ。
【0053】2.証明者の登録処理 実施例1と同じ。
【0054】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して次のプロトコ
ルを実行することにより、 zAG=(IDA+xA)V+XA を満足する整数zAを所持することを証明する。
【0055】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(xA,yA)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、通
信装置203及び出力装置204を用いて通信回線500を介し
て、ID情報IDAとXA=(xA,yA)を確認者側装置30
0に送る。
【0056】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0057】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、整数uiを ui=(riG)x にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の通信装置
203と出力装置204を用いて、通信回線500を介して、ui
を確認者側装置300に送る。
【0058】3)確認者側装置300は、uiを受信後、u
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、出力装置305及び通信装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0059】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の通信装置203及び出力装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。
【0060】5)確認者側装置300は、演算装置302及び
メモリ303を用いて、 ui=(wiG−ei((IDA+xA)V+XA))x が成立することを確かめる。
【0061】但し、射影平面で定義された楕円曲線上の
点P=(x:y:z)に対して、z≠0のとき、Px
x/zとし、Pのx座標と呼ぶ。以降についても、同様
とする。
【0062】上記実施例1では、証明者から確認者に楕
円曲線E上の点Uiのx座標及びy座標を送り、確認者
側でそのx座標及びy座標について所定の式が成立する
ことを確かめた。これに対し、本実施例2では、証明者
から確認者にx座標(実施例のui)のみを送り、確認
者側でそのx座標について所定の式が成立することを確
かめるようになっている。したがって、実施例1よりも
通信路を流れる情報量が少なくなり効率が上がる。
【0063】(実施例3)証明者は、確認者に対して自
分の身元を証明したい。この目的の下で、証明者は信頼
できるセンタを訪ねる。
【0064】1.センタの準備処理 センタは、センタ側装置内100内の入力装置101と演算装
置102とメモリ103と乱数生成装置104と素数生成装置105
を用いて、秘密情報と公開情報を次の要領で作成し、通
信装置106及び出力装置107を用いて公開情報のみを通信
回線500を介して公開する。また、秘密情報はメモリ103
に格納する。
【0065】秘密情報: ・s∈Z s.t 0<s<q
【0066】公開情報: ・p:512ビット程度の素数 ・q:160ビット程度の素数 ・r:r≦qなる正定数、 ・(a,b)∈Zp 2 s.t 4a3+27b2≠0 ・G∈E s.t ord(G)=q ・V=sG∈E
【0067】2.証明者の登録処理 証明者は、確認者に対して自分の身元を証明することを
目的にセンタを訪ねる。証明者は、自分のID情報IDA
をセンタに登録する。センタは、センタ側装置100内の
乱数生成装置104を用いて、0<tA<qなる整数tA
ランダムに選び、演算装置102及びメモリ103を用いて、
楕円曲線E上の点XAと整数xA,yAを XA=tAG=(ax,ay) xA=ax(mod r) yA=s(IDA+xA)+tA(mod q) にて計算する。そして、XAとyAと証明者のID情報ID
AをICカード400内のメモリ403に格納して、ICカー
ド400を証明者に配布する。
【0068】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して、次のプロト
コルを実行することにより、 yAG=(IDA+xA)V+XA を満足するyAを所持することを証明する。
【0069】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(ax、ay)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、通
信装置203及び出力装置204を用いて、通信回線500を介
して、ID情報IDAとXA=(ax、ay)を確認者側装置
300に送る。
【0070】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0071】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、整数uiを ui=(riG)x(mod r) にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の通信装置
203と出力装置204を用いて、通信回線500を介して、ui
を確認者側装置300に送る。
【0072】3)確認者側装置300は、uiを受信後、u
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、出力装置305及び通信装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0073】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の通信装置203及び出力装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。
【0074】5)確認者側装置300は、演算装置302及び
メモリ303を用いて、 ui=(wiG−ei((IDA+xA)V+XA))x(mod r) が成立することを確かめる。
【0075】但し、楕円曲線E上の点P(≠O)に対し
て、Px∈ZqによりPのx座標を表わす(実施例2参
照)。
【0076】上記実施例2では、証明者から確認者に楕
円曲線E上の点Uiのx座標(512ビットのデータ)を送
り、確認者側で所定の式が成立することを確かめた。こ
れに対し、本実施例2では、証明者から確認者にx座標
の(mod r)を取ったデータを送るようにしている。(mod
r)を取ることによりデータ値が小さくなるので、通信路
を流れる情報量が少なくなり効率が上がる。
【0077】(実施例4)証明者は、確認者に対して自
分の身元を証明したい。この目的の下で、証明者は信頼
できるセンタを訪ねる。
【0078】1.センタの準備処理 センタは、センタ側装置内100内の入力装置101と演算装
置102とメモリ103と乱数生成装置104と素数生成装置105
を用いて、秘密情報と公開情報を次の要領で作成し、通
信装置106および出力装置107を用いて公開情報のみを通
信回線500を介して公開する。また、秘密情報はメモリ1
03に格納する。
【0079】秘密情報: ・s∈Z s.t 0<s<q
【0080】公開情報: ・p:512ビット程度の素数 ・q:160ビット程度の素数 ・(a,b)∈Zp 2 s.t 4a3+27b2≠0 ・G∈E s.t ord(G)=q ・V=sG∈E
【0081】2.証明者の登録処理 証明者は、確認者に対して自分の身元を証明することを
目的にセンタを訪ねる。証明者は、自分のID情報IDA
をセンタに登録する。センタは、センタ側装置100内の
乱数生成装置104を用いて、0<tA<qなる整数tA
ランダムに選び、演算装置102及びメモリ103を用いて、
楕円曲線E上の点XAと整数zAを XA=tAG=(xA,yA) zA=(IDA+sxA)/tA(mod q) にて計算する。そして、XAとzAと証明者のID情報ID
AをICカード400内のメモリ403に格納して、ICカー
ド400を証明者に配布する。
【0082】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して、次のプロト
コルを実行することにより、 zAA=IDAG+xAV を満足するzAを所持することを証明する。
【0083】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(xA、yA)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、出
力装置203及び通信装置204を用いて、通信回線500を介
して、ID情報IDAとXA=(xA、yA)を確認者側装置
300に送る。
【0084】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0085】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、楕円曲線E上の点Uiを Ui=riA にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の出力装置
203と通信装置204を用いて、通信回線500を介して、Ui
を確認者側装置300に送る。
【0086】3)確認者側装置300は、Uiを受信後、U
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、出力装置305及び通信装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0087】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の出力装置203及び通信装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。5)
確認者側装置300は、演算装置302及びメモリ303を用い
て、 Ui=wiA−ei(IDAG+xAV) が成立することを確かめる。
【0088】(実施例5)図7は、実施例5の認証方式
の処理手順の概要を示す図である。証明者は、確認者に
対して自分の身元を証明したい。この目的の下で、証明
者は信頼できるセンタを訪ねる。
【0089】1.センタの準備処理 実施例4と同じ。
【0090】2.証明者の登録処理 実施例4と同じ。
【0091】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して、次のプロト
コルを実行することにより、 zAA=IDAG+xAV を満足するzAを所持することを証明する。
【0092】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(xA、yA)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、出
力装置203及び通信装置204を用いて、通信回線500を介
して、ID情報IDAとXA=(xA、yA)を確認者側装置
300に送る。
【0093】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0094】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、整数uiを ui=(riA)x にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の出力装置
203と通信装置204を用いて、通信回線500を介して、ui
を確認者側装置300に送る。
【0095】3)確認者側装置300は、uiを受信後、u
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、出力装置305及び通信装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0096】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の出力装置203及び通信装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。
【0097】5)確認者側装置300は、演算装置302及び
メモリ303を用いて、 ui=(wiA−ei(IDAG+xAV))x が成立することを確かめる。
【0098】但し、楕円曲線E上の点P(≠O)に対し
て、Px∈ZqによりPのx座標を表わす(実施例2参
照)。
【0099】(実施例6)証明者は、確認者に対して自
分の身元を証明したい。この目的の下で、証明者は信頼
できるセンタを訪ねる。
【0100】1.センタの準備処理 センタは、センタ側装置内100内の入力装置101と演算装
置102とメモリ103と乱数生成装置104と素数生成装置105
を用いて、秘密情報と公開情報を次の要領で作成し、通
信装置106および出力装置107を用いて公開情報のみを通
信回線500を介して公開する。また、秘密情報はメモリ1
03に格納する。
【0101】秘密情報: ・s∈Z s.t 0<s<q
【0102】公開情報: ・p:512ビット程度の素数 ・q:160ビット程度の素数 ・r:r≦qなる正定数、 ・(a,b)∈Zp 2 s.t 4a3+27b2≠0 ・G∈E s.t ord(G)=q ・V=sG∈E
【0103】2.証明者の登録処理 証明者は、確認者に対して自分の身元を証明することを
目的にセンタを訪ねる。証明者は、自分のID情報IDA
をセンタに登録する。センタは、センタ側装置100内の
乱数生成装置104を用いて、0<tA<qなる整数tA
ランダムに選び、演算装置102及びメモリ103を用いて、
楕円曲線E上の点XAと整数xA,yAを XA=tAG=(ax,ay) xA=ax(mod r) yA=(IDA+sxA)/tA(mod q) にて計算し、XAとyAと証明者のID情報IDAをICカ
ード400内のメモリ403に格納して、ICカード400を証
明者に配布する。
【0104】3.認証プロトコル 証明者は、証明者側装置200を用いて、確認者側装置300
の確認者に対して、通信回線500を介して、次のプロト
コルを実行することにより、 yAA=IDAG+xAV を満足するyAを所持することを証明する。
【0105】1)証明者は、ICカード400を証明者側
装置200内のICカード読み書き装置202に差し込む。I
Cカード400は、メモリ403に格納されている証明者のI
D情報IDAとXA=(ax、ay)を、出力装置405を用い
て証明者側装置200に出力する。証明者側装置200は、出
力装置203及び通信装置204を用いて、通信回線500を介
して、確認者側装置300に送る。
【0106】次に、2)から5)のステップをi=1から
kまで繰り返し、全てのiについてステップ5)の等式
が成立すれば、確認者は証明者を受理する(kはセキュ
リティパラメータ)。
【0107】2)証明者は、ICカード400内の乱数生
成装置404を用いて、0<ri<qなる整数riをランダ
ムに選び、整数uiを ui=(riA)x(mod r) にて演算装置402及びメモリ403を用いて計算した後、証
明者側装置200に出力し、証明者側装置200内の出力装置
203と通信装置204を用いて、通信回線500を介して、ui
を確認者側装置300に送る。
【0108】3)確認者側装置300は、uiを受信後、u
iをメモリ303に格納し、乱数生成装置304を用いて、乱
数ei∈Rを選び、出力装置305及び通信装置306を用い
て、通信回線500を介して、eiを証明者側装置200に送
る(ただし、RはZqの適当な部分集合)。
【0109】4)証明者側装置200は、eiを受信後、e
iをICカード400内のメモリ403に出力し、ICカード4
00は演算装置402及びメモリ403を用いて、 wi=ri+eiA(mod q) を計算した後、証明者側装置200に出力し、証明者側装
置200内の出力装置203及び通信装置204を用いて、通信
回線500を介して、wiを確認者側装置300に送る。
【0110】5)確認者側装置300は、演算装置302及び
メモリ303を用いて、 ui=(wiA−ei(IDAG+xAV))x(mod r) が成立することを確かめる。
【0111】但し、楕円曲線E上の点P(≠O)に対し
て、Px∈ZqによりPのx座標を表わす(実施例2参
照)。
【0112】
【発明の効果】本発明における認証方式によれば、楕円
曲線上の離散対数問題に基づいて零知識認証スキームを
構築しているので、従来の体上の離散対数問題に基づく
零知識認証方式に比べて安全性が向上している。
【0113】さらに、証明者と確認者の間の認証処理に
おいて、楕円曲線上の点のx座標のみの通信で認証プロ
トコルを構築することができるので、従来の体上の離散
対数問題に基づく零知識認証方式と同程度の通信コスト
で実現できる特徴を持つ。
【0114】また、本発明における認証方式では、確認
者が証明者を試すために送る乱数の範囲を大きく取れる
ため、少ない通信回数で不正者の証明者へのなりすまし
確率を低く設定することができる。
【0115】本発明は、認証処理全般の幅広い範囲に適
用できる。特に、本発明は、従来の方式に比べて高い安
全性を実現できるため、高度のセキュリティレベルが要
求されるシステム、例えば電子投票システムや電子現金
システムにおける認証処理に用いて好適である。
【0116】また、本発明では、証明者側の秘密情報が
少なく、かつ、計算処理負担が小さいため、証明者がI
Cカードを所持し、ICカード内部の秘密情報を利用し
て認証を行なうシステムにおいても有効である。
【図面の簡単な説明】
【図1】本発明の実施例におけるシステム構成を示す図
である。
【図2】本発明のシステム構成内のセンタ側装置の内部
構成を示す図である。
【図3】本発明のシステム構成内の証明者側装置の内部
構成を示す図である。
【図4】本発明のシステム構成内の確認者側装置を示す
図である。
【図5】本発明のシステム構成内のICカードの内部構
成を示す図である。
【図6】実施例2の認証方式の概要を示す図である。
【図7】実施例5の認証方式の概要を示す図である。
【符号の説明】
100…センタ側装置、101…センタ側装置100内の入力装
置、102…センタ側装置100内の演算装置、103…センタ
側装置100内のメモリ、104…センタ側装置100内の乱数
生成装置、105…センタ側装置100内の素数生成装置、10
6…センタ側装置100内の通信装置、107…センタ側装置1
00内の出力装置、200…証明者側装置、201…証明者側装
置200内の入力装置、202…証明者側装置200内のICカ
ード読み書き装置、203…証明者側装置200内の通信装
置、204…証明者側装置200内の出力装置、300…確認者
側装置、301…確認者側装置300内の入力装置、302…確
認者側装置300内の演算装置、303…確認者側装置300内
のメモリ、304…確認者側装置300内の乱数生成装置、30
5…確認者側装置300内の通信装置、306…確認者側装置3
00内の出力装置、400…ICカード、401…ICカード40
0内の入力装置、402…ICカード400内の演算装置、403
…ICカード400内のメモリ、404…ICカード400内の
乱数生成装置、405…ICカード400内の出力装置、500
…通信回線。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 予め、楕円曲線E、及び該楕円曲線E上における加法を
    定義しておくステップと、 センタにおいて、該楕円曲線E、及び該楕円曲線E上の
    点P,Qを公開するステップと、 センタにおいて、上記楕円曲線E上の点P,Qに関し、 Q=xP (ただしxPは、楕円曲線E上の点Pに対し
    て、Pをx回加える倍計算を意味する) を満足する整数xを証明者に配布するステップと、 証明者が、確認者に対して、xを所持することをxに関
    する知識を漏らすことなく証明することにより、認証を
    行なうステップとを備えたことを特徴とする認証方法。
  2. 【請求項2】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、楕円曲線E、及び該楕円曲線E上の点G,
    V(ただし、V=sGで、sGは楕円曲線E上において
    定義された加法により、Gをs回加える倍計算を意味す
    る)を生成して公開するステップとを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、楕円曲線E、及び該楕円曲線
    E上の点G,Vを用いて、 zAG=(IDA+xA)V+XA を満足する楕円曲線E上の点XA=tAG=(xA,yA
    と0<zA<qなる整数zAを作成し、XAとzAを認証用
    の情報として証明者に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、楕円曲線E上の点Uiを Ui=riG にて計算し、Uiを確認者に送る; (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 Ui=wiG−ei((IDA+xA)V+XA) が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  3. 【請求項3】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、楕円曲線E、及び該楕円曲線E上の点G,
    V(ただし、V=sGで、sGは楕円曲線E上において
    定義された加法により、Gをs回加える倍計算を意味す
    る)を生成して公開するステップとを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、楕円曲線E、及び該楕円曲線
    E上の点G,Vを用いて、 zAG=(IDA+xA)V+XA を満足する楕円曲線E上の点XA=tAG=(xA,yA
    と0<zA<qなる整数zAを作成し、XAとzAを認証用
    の情報として証明者に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、整数uiを ui=(riG)x にて計算し、uiを確認者に送る(ただし、括弧の右下
    にxを付した表記は括弧内の点のx座標を表わし、射影
    平面で定義された楕円曲線E上の点P=(x:y:z)
    に対して、z≠0のとき、点Pのx座標(P)xは(P)x
    =x/zであるものとする); (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 ui=(wiG−ei((IDA+xA)V+XA))x が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  4. 【請求項4】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、正定数r(r≦q)、楕円曲線E、及び該
    楕円曲線E上の点G,V(ただし、V=sGで、sGは
    楕円曲線E上において定義された加法により、Gをs回
    加える倍計算を意味する)を生成して公開するステップ
    とを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、正定数r、楕円曲線E、及び
    該楕円曲線E上の点G,Vを用いて、 yAG=(IDA+xA)V+XA を満足する楕円曲線E上の点XA=tAG=(ax
    y)、xA=ax(mod r)、及び、0<yA<qなる整
    数yAを作成し、XAとyAを認証用の情報として証明者
    に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、整数uiを ui=(riG)x(mod r) にて計算し、uiを確認者に送る(ただし、括弧の右下
    にxを付した表記は括弧内の点のx座標を表わし、射影
    平面で定義された楕円曲線E上の点P=(x:y:z)
    に対して、z≠0のとき、点Pのx座標(P)xは(P)x
    =x/zであるものとする); (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 ui=(wiG−ei((IDA+xA)V+XA))x(mod r) が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  5. 【請求項5】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、楕円曲線E、及び該楕円曲線E上の点G,
    V(ただし、V=sGで、sGは楕円曲線E上において
    定義された加法により、Gをs回加える倍計算を意味す
    る)を生成して公開するステップとを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、楕円曲線E、及び該楕円曲線
    E上の点G,Vを用いて、 zAA=IDAG+xAV を満足する楕円曲線E上の点XA=tAG=(xA,yA
    と0<zA<qなる整数zAを作成し、XAとzAを認証用
    の情報として証明者に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、楕円曲線E上の点Uiを Ui=riA にて計算し、Uiを確認者に送る; (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 Ui=wiA−ei(IDAG+xAV) が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  6. 【請求項6】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、楕円曲線E、及び該楕円曲線E上の点G,
    V(ただし、V=sGで、sGは楕円曲線E上において
    定義された加法により、Gをs回加える倍計算を意味す
    る)を生成して公開するステップとを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、楕円曲線E、及び該楕円曲線
    E上の点G,Vを用いて、 zAG=(IDA+xA)V+XA を満足する楕円曲線E上の点XA=tAG=(xA,yA
    と0<zA<qなる整数zAを作成し、XAとzAを認証用
    の情報として証明者に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、整数uiを ui=(riA)x にて計算し、uiを確認者に送る(ただし、括弧の右下
    にxを付した表記は括弧内の点のx座標を表わし、射影
    平面で定義された楕円曲線E上の点P=(x:y:z)
    に対して、z≠0のとき、点Pのx座標(P)xは(P)x
    =x/zであるものとする); (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 ui=(wiA−ei(IDAG+xAV))x が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  7. 【請求項7】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証方法であって、 センタにおける準備処理として、 秘密情報s(ただし、sは0<s<qなる整数)を生成
    して保持するステップと、 素数p,q、正定数r(r≦q)、楕円曲線E、及び該
    楕円曲線E上の点G,V(ただし、V=sGで、sGは
    楕円曲線E上において定義された加法により、Gをs回
    加える倍計算を意味する)を生成して公開するステップ
    とを備え、 証明者のセンタへの登録処理として、 証明者からセンタに、該証明者のID情報IDAを送るス
    テップと、 センタにおいて、乱数tA(ただし、tAは0<tA<q
    なる整数)、センタの秘密情報s、並びに、センタの公
    開情報である素数p,q、正定数r、楕円曲線E、及び
    該楕円曲線E上の点G,Vを用いて、 zAA=IDAG+xAV を満足する楕円曲線E上の点XA=tAG=(ax
    y)、xA=ax(mod r)、及び、0<yA<qなる整
    数yAを作成し、XAとyAを認証用の情報として証明者
    に配付するステップとを備え、 証明者と確認者の間の認証処理として、 証明者から確認者に、ID情報IDAとXA=(xA,yA
    とを送るステップと、 (i)証明者は、0<ri<qなる整数riをランダムに
    選び、整数uiを ui=(riA)x(mod r) にて計算し、uiを確認者に送る(ただし、括弧の右下
    にxを付した表記は括弧内の点のx座標を表わし、射影
    平面で定義された楕円曲線E上の点P=(x:y:z)
    に対して、z≠0のとき、点Pのx座標(P)xは(P)x
    =x/zであるものとする); (ii)確認者は、ei∈R(ただし、Rは素体Zqの適当
    な部分集合)をランダムに選び、eiを証明者に送る; (iii)証明者は、 wi=ri+eiA(mod q) を計算して、wiを確認者に送る; (iv)確認者は、 ui=(wiA−ei(IDAG+xAV))x(mod r) が成立することを確かめる;上記(i)〜(iv)をi=
    1からt(tはセキュリティパラメータ)まで繰り返す
    ことにより、証明者の認証を行なうステップとを備えた
    ことを特徴とする認証方法。
  8. 【請求項8】証明者が確認者に対して自分の身元を証明
    する目的で信頼できるセンタを訪れ、センタが作成した
    証明者用の秘密の情報を利用して、証明者が確認者に身
    元を証明する認証システムにおいて、 予めセンタ側装置において、楕円曲線E、及び該楕円曲
    線E上における加法を定義する手段と、 センタ側装置において定義した楕円曲線E、及び該楕円
    曲線E上の点P,Qを公開情報として証明者側装置及び
    確認者側装置に送る手段と、 センタ側装置において、上記楕円曲線E上の点P,Qに
    関し、 Q=xP (ただしxPは、楕円曲線E上の点Pに対し
    て、Pをx回加える倍計算を意味する) を満足する整数xを証明者に配布する手段と、 証明者側装置と確認者側装置との間で、証明者が、確認
    者に対して、xを所持することをxに関する知識を漏ら
    すことなく証明することにより、認証を行なう手段とを
    備えたことを特徴とする認証システム。
JP6323921A 1994-11-30 1994-11-30 楕円曲線に基づく認証方法及び認証システム Pending JPH08160857A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6323921A JPH08160857A (ja) 1994-11-30 1994-11-30 楕円曲線に基づく認証方法及び認証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6323921A JPH08160857A (ja) 1994-11-30 1994-11-30 楕円曲線に基づく認証方法及び認証システム

Publications (1)

Publication Number Publication Date
JPH08160857A true JPH08160857A (ja) 1996-06-21

Family

ID=18160118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6323921A Pending JPH08160857A (ja) 1994-11-30 1994-11-30 楕円曲線に基づく認証方法及び認証システム

Country Status (1)

Country Link
JP (1) JPH08160857A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000035223A1 (en) * 1998-12-04 2000-06-15 Certicom Corp. Enhanced subscriber authentication protocol
JP2002502186A (ja) * 1998-01-30 2002-01-22 サーティコム コーポレーション 1方向認証通信システム
CN113037479A (zh) * 2021-03-25 2021-06-25 支付宝(杭州)信息技术有限公司 数据验证方法和装置
US11797984B2 (en) 2018-03-23 2023-10-24 Nchain Licensing Ag Computer-implemented system and method for exchange of data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502186A (ja) * 1998-01-30 2002-01-22 サーティコム コーポレーション 1方向認証通信システム
WO2000035223A1 (en) * 1998-12-04 2000-06-15 Certicom Corp. Enhanced subscriber authentication protocol
US7123721B2 (en) 1998-12-04 2006-10-17 Certicom Corp. Enhanced subscriber authentication protocol
US7352866B2 (en) 1998-12-04 2008-04-01 Certicom Enhanced subscriber authentication protocol
US11797984B2 (en) 2018-03-23 2023-10-24 Nchain Licensing Ag Computer-implemented system and method for exchange of data
CN113037479A (zh) * 2021-03-25 2021-06-25 支付宝(杭州)信息技术有限公司 数据验证方法和装置
CN113037479B (zh) * 2021-03-25 2022-04-12 支付宝(杭州)信息技术有限公司 数据验证方法和装置

Similar Documents

Publication Publication Date Title
Xiong et al. Efficient and provably secure certificateless parallel key-insulated signature without pairing for IIoT environments
Yang et al. An ID-based remote mutual authentication with key agreement scheme for mobile devices on elliptic curve cryptosystem
Xiong Cost-effective scalable and anonymous certificateless remote authentication protocol
Zhang et al. Efficient verifiably encrypted signature and partially blind signature from bilinear pairings
US20120324231A1 (en) Attributes in cryptographic credentials
US20050135606A1 (en) Method and apparatus for verifiable generation of public keys
Wang Designated-verifier proxy signature schemes
KR20070033289A (ko) 변용성있는 가명 인증 시스템 및 방법
JP2004208263A (ja) バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
CN101641905A (zh) 隐式证书验证
Hwang et al. Generalization of proxy signature based on elliptic curves
Li et al. Generalization of proxy signature-based on discrete logarithms
Vo et al. A new threshold blind signature scheme from pairings
Xiaofeng et al. Direct anonymous attestation for next generation TPM
Tsai et al. An ECC-based blind signcryption scheme for multiple digital documents
CN108880803A (zh) 一种使用数字签名对区块链事务进行签名的方法及系统
Waheed et al. Novel blind signcryption scheme for e-voting system based on elliptic curves
Ray et al. An ECC based public key infrastructure usable for mobile applications
Tso A new way to generate a ring: Universal ring signature
JPH08160857A (ja) 楕円曲線に基づく認証方法及び認証システム
Yang et al. Certificateless universal designated verifier signature schemes
Mangipudi et al. Authentication and Key Agreement Protocols Preserving Anonymity.
Hanaoui et al. MULTI-AGENT identity combined key Signature authentication PROTOCOL based schnorr signature with provable security under AVISPA
Fajiang et al. An efficient anonymous remote attestation scheme for trusted computing based on improved CPK
JP2868104B2 (ja) 楕円曲線に基づくデイジタル署名方法とその署名者装置及び検証者装置