説明

内在的署名を用いた鍵一致及び搬送方法

【課題】不正盗聴に対処できるように、2つの通信端末におけるセッション鍵を生成する。
【解決手段】通信端末Aにおいて、ランダム整数xを選択し、指数関数f(α)g(x)を提供し(αは生成元)、ランダム整数x、指数関数f(α)g(x)、及び秘密鍵aから署名sを生成する。通信端末Bにおいて、ランダム整数yを選択し、別の指数関数f’(α)g(y)を提供し、ランダム整数y、指数関数f’(α)g(y)、及び秘密鍵bから署名sを生成する。通信端末A及びBはそれぞれ、通信端子B及びAに、指数関数f(α)g(x)及び指数関数f’(α)g(y)を含むメッセージを送る。通信端末A及びBにおいて、それぞれ、通信端末B及びAによって公開された情報を、通信端末A及びBに属する秘密情報を用いて指数化することによってセッション鍵Kを構築する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号鍵の転送及び認証のための鍵一致(key agreement)プロトコルに関する。
【背景技術】
【0002】
情報の交換の際にプライバシを維持するために、鍵を用いてデータを暗号化することが、広く知られている。この鍵は、通信端末がメッセージを暗号化及び復号化できるが介入者にはメッセージの内容を判断できないように、選択されなければならない。
秘密鍵暗号プロトコルでは、通信端末は、彼らにとって秘密である共通鍵を共有(share)する。このためには、この鍵が通信端末の間で一致しており、この鍵の秘密性を維持するために条項(provision)が作成され、基礎となる安全性が万一危険にさらされた場合には、鍵の交換がなされることが要求される。
【0003】
公開鍵暗号プロトコルは、1976年にDiffie-Hellmanによって最初に提案され、すべての潜在的な通信端末に利用可能とされている公開鍵と、意図された受信者にだけ知られている秘密鍵(private key)とを用いる。公開鍵と秘密鍵とは、受信者の公開鍵を用いて暗号化されたメッセージは、秘密鍵を用いて容易に復号化できるが、秘密鍵は、平文(plaintext)、暗号文(ciphertext)及び公開鍵の知識からは導くことはできないような、相互関係になっている。
【0004】
鍵の確立(establishment)は、二人以上の当事者が、セッション(session)鍵と称される、共有される秘密鍵(secret key)を確立するプロセスである。セッション鍵は、プライバシなどの何らかの暗号上の目的を達成するために、後で用いられる。鍵一致プロトコルには、2つの種類が存在する。すなわち、鍵が第1の当事者によって作成され、第2の当事者に安全に送信されるという鍵輸送(transport)プロトコルと、両方の当事者が、共有される秘密鍵を共同して確立する情報を出し合う鍵一致プロトコルと、である。当事者の間で必要となるメッセージ交換の数は、パス数(number of passes)と称される。鍵確立プロトコルは、ある当事者が、特別に識別された第2の当事者以外のどの当事者もセッション鍵の値を知ることを許されないことが保証されている場合に、「内在的」(implicit)鍵認証(又は、単に、鍵認証)を提供すると称される。内在的鍵認証の性質は、第2の当事者が実際のセッション鍵を有していることを必ずしも意味しない。次に、鍵確立プロトコルは、ある当事者が、特別に識別された第2の当事者が特定のセッション鍵を実際に所持していることを保証されている場合には、鍵確認(confirmation)を提供すると称される。プロトコルに関係する両方の当事者に認証が提供される場合には、鍵認証は、相互的(mutual)と称され、一人の当事者にだけ提供される場合には、認証は、一方的(unilateral)と称される。
【0005】
内在的な鍵認証を提供すると主張する提案は、これまでに、いくつかなされている。
例としては、鍵一致に関する、Nyberg-Rueppelによる1パス(one-pass)プロトコル、 Matsumoto-Takashima-Imai (MTI)及びGoss and Yacobiによる2パス・プロトコルがある。
従来の提案は、共通鍵を確立するための通信端末の間の送信が安全であり、侵入者がセッション鍵をリトリーブし暗号文を復号化することはでfきないことを保証している。このようにして、資金の移動などの注意を要するトランザクションに対する安全性が提供されている。
【0006】
例えば、MTI/A0鍵一致プロトコルでは、二人の通信端末に知られている、共有される秘密鍵を、次のようにして確立している。
1.当初の、一時的な(one-time)セットアップの間に、鍵の発生と公開とが、適切なシステム・プライム(system prime)pと生成元(generator)α∈Zとを真正であることが補償されるように、選択され公開される。通信端末Aは、長期の秘密鍵として1<a<p−1であるランダムな整数aを選択し、長期の公開鍵z=α mod pを計算する。Bも、同様のbとzとを生成する。AとBとは、相互の長期公開鍵の認証されたコピーへのアクセスを有することになる。
【0007】
2.このプロトコルは、次のメッセージの交換を要求する。すなわち、
AからB:α mod p (1)
BからA:α mod p (2)
x及びyの値は、その送信の間は安全に保たれるが、その理由は、pが十分に大きくとられていれば、αの値と指数化とが知られているとしても、指数を決定するのは実際的ではないからである。
【0008】
3.このプロトコルを実現するには、次のステップが、共有されている鍵が要求される度に実行される。
(a)Aは、1≦x≦p−2であるランダムな整数xを選び、Bに向けて、メッセージ(1)、すなわち、α mod pを送る。
(b)Bは、1≦y≦p−2であるランダムな整数yを選び、Aに向けて、メッセージ(2)、すなわち、α mod pを送る。
(c)Aは、鍵K=(α mod pを計算する。
(d)Bは、鍵K=(α mod pを計算する。
(e)両者は、鍵K=αbx+ayを共有する。
【0009】
鍵Kを計算するためには、Aは、自分の秘密鍵aとランダムな整数xとを使わなければならない。これらは、共に、A本人だけに知られているものである。同様にして、Bは、セッション鍵Kを計算するためには、自分の秘密鍵bとランダムな整数yとを使わなければならない。秘密鍵a及びbが、危険にさらされていないと仮定すると、侵入者は、他方の通信端末と同一のセッション鍵を生成することはできない。従って、任意の暗文は、どちらの通信端末にも復号化が不可能である。
【0010】
従って、このプロトコル及び関連するプロトコルは、鍵確立には十分なものであると考えられてきたし、従来型の盗聴や、中間者(man-in-the-middle)による攻撃に対して抵抗できると考えられてきた。
状況によっては、相手方が、一方の通信端末を他方の通信端末であるとミスリードするのが効果的である。
そのような攻撃では、アクティブな相手方、すなわち、侵入者Eは、AとBとの間で交換されるメッセージを修正し、その結果として、Bは、Eと鍵Kを共有していると信じ、他方で、Aは、同じ鍵をBと共有していると信じることになる。EがKの値を知らない場合であっても、通信端末の識別(ID)に関する偽の情報が、有用となる。
【発明の開示】
【発明が解決しようとする課題】
【0011】
そのような攻撃が成功するであろう実際的なシナリオは、次のようなものである。Bは、銀行の支店であり、Aは、口座保持者であると仮定する。銀行の本部によって証明書が発行され、その証明書の中には、保持者の口座情報が書かれている。資金の電子的支払い(デポジット)のためのプロトコルは、相互認証された鍵一致を介して、銀行の支店との鍵の交換であると仮定する。Bがいったん送信者を認証すると、暗号化された資金がその証明書の口座番号に払い込まれる。それ以上の認証が暗号化された支払いメッセージにおいてなされない場合(これは、帯域幅を節約するためになされるかもしれない)には、支払いは、Eの口座になされる。
本発明の目的は、上述の短所が回避される又は解消されるようなプロトコルを提供することである。
【課題を解決するための手段】
【0012】
従って、本発明によると、1対の通信端末A及びBが相互に情報を交換することを認証する方法であって、前記通信端末は、それぞれが、秘密鍵a及びbと、生成元αと前記秘密鍵a及びbのそれぞれとから導かれた公開鍵p及びpと、を有している方法が提供される。この方法は、
i)前記通信端末の第1の者Aが、第1のランダムな整数xを選択し、前記生成元を含む関数f(α)のg(x)をベキとする指数関数を作ることにより、第1の指数関数f(α)g(x)を提供するステップと、
ii)前記第1の通信端末Aが、前記ランダムな整数xと前記指数関数f(α)g(x)とから第1の署名sを生成するステップと、
iii)前記第1の通信端末Aが、第2の通信端末Bに向けて、前記第1の指数関数f(α)g(x)と署名sとを含むメッセージを送るステップと、
iv)前記通信端末Bが、第2のランダムな整数yを選択し、前記生成元を含む関数f’(α)のg(y)をベキとする指数関数を作ることにより、第2の指数関数f’(α)g(x)と、前記第2の整数yと前記第2の指数関数f(α)g(x)とから得られるsとを提供するステップと、
v)前記第2の通信端末Bが、第1の通信端末Aに向けて、前記第2の指数関数f’(α)g(y)と前記署名sとを含むメッセージを送るステップと、
vi)前記通信端末のそれぞれが、受け取ったメッセージの中の前記署名と前記指数関数とから、前記指数関数と等しい値を計算し、前記計算された値と前記送信された値とを比較することによって、自分たちが受け取ったメッセージの真正を検証するステップと、
vii)前記通信端末A及びBのそれぞれが、前記他方の通信端末によって彼ら自身にとって秘密である前記ランダムな整数を用いて、公開された情報を指数化することによって、セッション鍵を構成するステップと、を含む。
【0013】
従って、侵入者Eが自らの公開鍵p=αacをメッセージの一部として送信の中に入れることはできるが、Bは、メッセージを認証する際には、pではなくpを用いることになる。従って、指数関数の計算され送信された値は、対応しない。
【図面の簡単な説明】
【0014】
【図1】本発明にかかるデータ通信システムの概略図である。
【発明を実施するための実施形態】
【0015】
本発明の実施例を次の添付した図面を参照することによって、これから説明することにする。
図1は、データ通信システムの概略図である。図1を参照すると、通信端末A及び通信端末Bとして表される1対の通信端末10、12が、通信チャネル14上で情報を交換する。暗号ユニット16、18が、通信端末10、12とチャネル14とのそれぞれの間に配置されている。鍵20は、暗号ユニット16、18のそれぞれに関連し、それぞれのユニット16、18とそれぞれの通信端末10、12との間で運ばれる平文を、チャネル14上で運ばれる暗文に変換する。
【0016】
動作においては、Aの通信端末10によって生成されるメッセージは、ユニット16によって、鍵20を用いて暗号化され、チャネル14上の暗文として、ユニット18まで送信される。
鍵20は、ユニット18において暗文に作用して、Bの通信端末12のために平文のメッセージを生成する。鍵20が対応する場合には、通信端末12によって受け取られたメッセージは、通信端末10によって送られたものである。
図1に示されたシステムが動作するためには、鍵20が同一であり、従って、公開的な態様で情報の移動を可能にする鍵一致(agreement)プロトコルが確立されていることが必要である。そのような鍵の生成には多数のプロトコルが利用可能であり、また、Diffie-Hellman鍵交換の変形も存在する。その目的は、当事者A及びBが秘密セッション鍵Kを確立することである。
【0017】
これらのプロトコルのためのシステム・パラメータは、素数pと乗法群Zの生成元αとである。通信端末Aは、秘密鍵aと、公開鍵p=αとを有する。通信端末Bは、秘密鍵bと、公開鍵p=αとを有する。以下で例を挙げるプロトコルでは、textは、当事者Aを識別する情報のストリングを意味する。他方の当事者Bが通信端末Aの公開鍵の真正のコピーを有しており、更に、textがAの信用のおけるセンターによって発行された公開鍵証明書を含む場合には、通信端末Bは、その信用のおけるセンターの公開鍵の真正のコピーを用いて、通信端末Aの証明書を検証でき、従って、通信端末Aの公開鍵の真正のコピーを得ることができる。
【0018】
以下のそれぞれの例では、侵入者Eは、AからのメッセージがE自身から生じたものとして識別されることを望んでいると仮定する。これを達成するには、Eは、1≦e≦p−2であるランダムな整数eを選択し、p=(p)e=αae mod pを計算し、これがE自身の公開鍵であることを証明させる。Eは、eを知ってはいるが、指数aeは知らない。textAをtextEによって代替することによって、通信端末Bは、メッセージがAからではなくEからのものであると考え、Eの公開鍵を用いてセッション鍵Kを生成する。Eはまた、Bからのメッセージを中間奪取(インターセプト)し、その秘密のランダムな整数eを用いて、その内容を修正する。Aは、次に、その情報を用いて、AがBと通信できるようにする同じセッション鍵を生成する。
【0019】
侵入者EがBに、BはEと通信しているということを信じさせようとしているのを妨害するには、次のプロトコルが採用される。
このプロトコルの目的は、当事者A及びBがセッション鍵Kを確立することである。ここで挙げたプロトコルは、役割対称的(role-symmetric)であり、対話的(interactive)ではない。
このプロトコルのためのシステム・パラメータは、素数pと乗法群Zの生成元αとである。通信端末Aは、秘密鍵aと、公開鍵p=αとを有する。通信端末Bは、秘密鍵bと、公開鍵p=αとを有する。
【0020】
第1のプロトコル
1.Aは、1≦x≦p−2であるランダムな整数xを選び、r=αと、署名s=x−raα mod (p−1)と、を計算する。Aは、Bに向けて、{r,s,text}を送る。
2.Bは、1≦y≦p−2であるランダムな整数yを選び、r=αと、署名s=y−rbα mod (p−1)と、を計算する。Aは、Bに向けて、{r,s,text}を送る。
3.Aは、αsB(prB・αbを計算し、これが、rに等しいことを検証する。Aは、次に、セッション鍵K=(r=αxyを計算する。
4.Bは、αsA(prA・αaを計算し、これが、rに等しいことを検証する。Bは、次に、セッション鍵K=(r=αxyを計算する。
【0021】
Eが、textをtextに交換する場合には、Bは、rの送信された値には対応しないαsA(prAαaを計算する。Bは、従って、侵入者Eに関する警告を受け、別のセッション鍵を開始することになる。
第1のプロトコルの短所は、完全な前方向の秘密性(守秘性)(perfect forward secrecy)が得られないことである。すなわち、相手側が当事者Aの長期の秘密鍵aを知る場合には、この相手側は、Aの過去のセッション鍵すべてを導き出せることになる。完全な前方向の秘密性は、プロトコル1を次のようにして修正することによって達成される。
【0022】
修正された第1のプロトコル
ステップ1では、Aはまた、αx1をBに送る。ここで、xは、Aによって生成された第2のランダムな整数である。同様にして、上述のステップ2では、Bはまた、αy1をAに送る。ここで、yは、ランダムな整数である。A及びBは、鍵K=αxy+αx1・y1を計算する。
第1のプロトコルの別の短所は、相手側がAの秘密のランダムな整数xを知る場合には、この相手側は、当事者Aの長期の秘密鍵を、方程式s=x−raα mod (p−1)から求めることができる点である。このプロトコルのうまく設計された実現例では、秘密の整数の開示は回避されるので、この短所は、基本的に理論的性格を有するものである。
【0023】
第2のプロトコル
次に述べる第2のプロトコルは、これら2つの短所を解決する。
1.Aは、1≦x≦p−2であるランダムな整数xを選び、(pと、αと署名s=x+aα(p mod (p−1)と、を計算する。Aは、Bに向けて、{α,s,text}を送る。
2.Bは、1≦y≦p−2であるランダムな整数yを選び、(pと、αと署名s=y+bα(p mod (p−1)と、を計算する。Bは、Aに向けて、{α,s,text}を送る。
3.Aは、(αを計算して、αsB(p−αb・αay=αであることを検証する。Aは、次に、セッション鍵K=αay(pを計算する。
4.Bは、(αを計算して、αsA(p−αa・αbx=αであることを検証する。Aは、次に、セッション鍵K=αby(pを計算する。
【0024】
第2のプロトコルが第1のプロトコルとの比較で優れているのは、それが、完全な前方向の秘密性(forward secrecy)を提供するからである。秘密であるランダムな整数xの開示によって、相手側が秘密鍵aを知ることができるのではあるが、これは実際上問題ではない。なぜならば、Aは、自分がこのプロトコルのステップ1においてxを用いた直後に、xを廃棄することができるからである。
【0025】
AがBの公開鍵の認証されたコピーを有していない場合には、Bは、自らの鍵の真正(certified)なコピーを、プロトコルの開始時に、Aに送信しなければならない。この場合には、第2のプロトコルは、3パス・プロトコルである。
量sは、値αに対して、Aの署名として機能する。この署名は、当事者Bだけに確認が可能であるという新規な性質を有している。このアイデアは、ElGamalライクな署名方式のすべてに一般化できる。
上述の第1及び第2のプロトコルは、帯域幅の要件と、鍵一致の計算上の効率とを向上させるように修正が可能である。修正されたプロトコルは、次に、プロトコル1’及びプロトコル2’として、示してある。それぞれの場合に、A及びBは、共通鍵αsA・sBを共有している。
【0026】
プロトコル1’
1.Aは、1≦x≦p−2であるランダムな整数xを選び、r=αと、s=x+raα mod (p−1)と、を計算する。Aは、Bに向けて、{r,text}を送る。
2.Bは、1≦y≦p−2であるランダムな整数yを選び、r=αと、s=y+rbα mod (p−1)と、を計算する。Aは、Bに向けて、{r,text}を送る。
3.Aは、αsA・sBに等しいK=(r(prB・αbsAを計算する。
4.Bは、αsA・sBに等しいK=(r(prA・αasBを計算する。
このようにして、A及びBは、共通鍵を共有するが、署名s及びsは、送信される必要がないことに注意すべきである。
【0027】
プロトコル2’
1.Aは、1≦x≦p−2であるランダムな整数xを選び、(pと、αと署名s=x+a(p mod (p−1)と、を計算する。Aは、Bに向けて、{α,text}を送る。
2.Bは、1≦y≦p−2であるランダムな整数yを選び、(pと、αと署名s=y+b(p mod (p−1)と、を計算する。Bは、Aに向けて、{α,text}を送る。
3.Aは、(αと、K=(α(pαb・αaysAを、すなわち、αsA・sBを計算する。
4.Bは、(αと、K=(α(pαa・αbxSBを、すなわち、αsA・sBを計算する。
従って、やはり、s及びsの送信が回避された。
A及びBがセッション鍵Kを確立するために、別のプロトコルが利用可能である。
【0028】
第3のプロトコル
このプロトコルに対するシステム・パラメータは、乗法群Zの素数pと生成元αである。ユーザAは、秘密鍵aと公開鍵p=αとを有している。ユーザBは、秘密鍵bと公開鍵p=αとを有している。
1.Aは、1≦x,x≦p−2である2つのランダムな整数x,xを選び、rx1=αx1と、r=αと、(rrx1とを計算し、更に、署名s=xrx1−(rrx1aα mod(p−1)を計算する。Aは、Bに向けて、{r,s,αx1,text}を送る。
2.Bは、1≦y,y≦p−2である2つのランダムな整数y,yを選び、ry1=αy1と、r=αと、(rry1とを計算し、更に、署名s=yry1−(rry1b mod(p−1)を計算する。Bは、Aに向けて、{r,s,αy1,text}を送る。
3.Aは、αsB(p(rB)ry1を計算し、これが、(rry1に等しいことを確認する。Aは、セッション鍵K=(αy1x1=αx1・y1を計算する。
4.Bは、αsA(p(rA)rx1を計算し、これが、(rrx1に等しいことを確認する。Bは、セッション鍵K=(αx1y1=αx1・y1を計算する。
これらのプロトコルでは、(r,s)は、Aだけがメッセージrx1に署名できるという性質を有するrx1の署名であると考えることができる。
【0029】
鍵輸送プロトコル
上述のプロトコルによれば、セッション鍵の確立と認証とが可能になる。Aがセッション鍵を当事者Bに輸送(transport)することを可能にするプロトコルを確立することが望まれる。そのようなプロトコルを次に述べる。
1.Aは、1≦x≦p−2であるランダムな整数xを選び、r=αと、署名s=x−raα mod(p−1)と、を計算する。Aは、Bに向けて、{r,s,text}を送る。
2.Bは、αsA(prA・αaを計算し、この量が、rに等しいことを検証する。Bは、次に、セッション鍵K=(rを計算する。
【0030】
修正された鍵輸送プロトコル
上述のプロトコルは、署名sを送信する必要をなくすことによって、帯域幅を減少させるように修正が可能である。
1.Aは、1≦x≦p−2であるランダムな整数xを選び、r=αと、署名s=x−raα mod (p−1)と、を計算する。Aは、更に、K=(psAを計算して、Bに向けて、{r,text}を送る。
2.Bは、αsA(prA・αaを計算し、この量が、rに等しいことを検証する。Bは、次に、セッション鍵K=(α(p−rA・αa=αb・sAを計算する。
すべての1パス鍵輸送プロトコルは、次に述べるリプレイの問題を有する。1パス鍵輸送プロトコルを用いてセッション鍵KをAからBへ、このセッション鍵を用いて暗号化された何らかのテキストと共に送信することを考える。Eが、AからBへの送信を記録すると仮定する。もし、Eが、後に、Bの復号化装置へのアクセス(ただし、Bの秘密鍵など、その装置の内部的な内容へのアクセスではない)を、その装置への送信をリプレイすることによって得ることになる場合には、Eは、元のテキストを回復することができる。この状況では、Eは、セッション鍵を知らない。
【0031】
このリプレイによるアタックは、タイムスタンプの使用などの、通常の方法によって失敗させることができる。しかし、Bの計算資源が限定されていて、それぞれのセッションの開始時に、Bがランダムなビット・ストリングkをAに送信する方がより適切であるようなこともある。テキストを暗号化するのに用いられるセッション鍵は、その場合には、k+k、すなわち、kとkとのXORを計算したものとなる。
【0032】
署名(signing)方程式s=x−raαと、プロトコル2における鍵輸送プロトコルr=αxbとは、いくつかの変形例で代替することができる。いくつか例を挙げると、次の通りである。
=sx+z
=xα+ar
=xr+Aα
1=ar+xs
【0033】
既に述べたプロトコルは、すべて、乗法群Zの設定において、説明された。しかし、これらのプロトコルは、離散対数問題が困難を生じさせるように見える任意の有限群において機能するように容易に修正することができる。適切な選択肢としては、有限体の乗法群(特に、有限体GF(2))、位数(order)qのZの部分群、有限体上で定義される楕円曲線上の点から成る群などがある。それぞれの場合に、適切な生成元(generator)αを用いて公開鍵を定義する。
【0034】
上述したプロトコルは、また、直接的な方法で修正して、それぞれのユーザが自分自身のシステム・パラメータp及びα(又は、Z以外の群が用いられる場合には、類似のパラメータ)を選択できるような状況を扱えるようにできる。
上述のプロトコルでは、一般形式s=x+r・a・αの署名成分が用いられていた。これらのプロトコルは、安全性を損ねることなく、より単純な一般形式s=x+r・aの署名成分を用いるように修正が可能である。
これらのプロトコルの例を、同じ記号(notation)を用いて以下に与えるが、望むのであれば、別の記号を用いてこれらのプロトコルを表現することができることを理解すべきである。
【0035】
プロトコル1’’
このプロトコルは、乗法群Zにおける次の記号を用いて説明される。
pは、素数である。
αは、Zの生成元である。
a及びbは、当事者A及びBのそれぞれの長期的な秘密鍵である。
α mod pは、当事者Aの長期的な秘密鍵である。
α mod pは、当事者Bの長期的な秘密鍵である。
xは、Aによって短期の秘密鍵として選択されるランダムな整数である。
=α mod pは、当事者Aの短期の公開鍵である。
yは、Bによって短期の秘密鍵として選択されるランダムな整数である。
=α mod pは、当事者Aの短期の公開鍵である。
*は、rから導かれる整数である。
*は、rから導かれる整数である。
【0036】
プロトコルを実現するには、次のようにする。
1.Aは、rをBに送る。
2.Bは、rをAに送る。
3.Aは、s=x+(r*)・a mod (p−1)を計算する。
4.Aは、セッション鍵K=(α(α(rb*)sA mod pを計算する。
5.Bは、s=y+(r*)・b mod (p−1)を計算する。
6.Bは、セッション鍵K=(α(α(ra*)sB mod pを計算する。
7.共有される秘密は、αsA・sB mod pである。
このプロトコルでは、待機幅の要件が再び緩和されているが、署名成分は、通信端末の短期及び長期の鍵を組み合わせて、侵入者からの攻撃を禁止している。
【0037】
このプロトコルは、また、Zの部分群を用いても実現できる。この場合には、qは、(p−1)の素約数(prime divisor)であり、gは、Zの中の位数pの要素である。
A及びBの公開鍵は、それぞれが、g及びgの形式を有し、短期の鍵r及びrは、g及びgの形式を有している。
署名成分であるs及びsは、mod qで計算され、セッション鍵は、従前のように、mod qで計算される。この場合には、共有の秘密は、gsA・sB mod pである。
既に述べたように、これらのプロトコルは、Z以外の群においても実現が可能であり、特に、ローバスト(robust)群は、有限体上の楕円曲線上の点から成る群である。このような実現例は、次にプロトコル1’’’として挙げてある。
【0038】
プロトコル1’’’
次の記号を用いる。
Eは、Fq上で定義される楕円曲線である。
Pは、E(Fq)内の素数位数の点である。
(1<d<n−1)は、当事者Aの長期の秘密鍵である。
(1<d<n−1)は、当事者Bの長期の秘密鍵である。
=dPは、当事者Aの長期の公開鍵である。
=dPは、当事者Bの長期の公開鍵である。
=kPは、当事者Aの短期の公開鍵である。
k(1<k<n−1)は、当事者Aの短期の秘密鍵である。
m(1<m<n−1)は、当事者Bの短期の秘密鍵である。
=mPは、当事者Bの短期の公開鍵である。
ra*及びrb*は、ビット・ストリングであり、例えば、r及びrのx座標の80最下位ビットである。
【0039】
このプロトコルを実現するには、次のようにする。
1.Aは、rをBに送る。
2.Bは、rをAに送る。
3.Aは、s=(k+(r*)・d) mod nを計算する。
4.Aは、セッション鍵K=s(r+(r*)Q)を計算する。
5.Bは、s=(m+(r*)d) mod nを計算する。
6.Bは、セッション鍵K=s(r+(r*)Q)を計算する。
7.共有される秘密は、sPである。
【0040】
再び、通信端末の間では署名成分s及びsを送る必要はないことに注意すべきである。しかし、通信端末の短期及び長期の鍵が成分の形式で組み合わされる。
先の例におけるx及びyに対して、記号mを用いているのは、曲線上の点の座標(x,y)との混乱を回避するためである。

【特許請求の範囲】
【請求項1】
公開鍵暗号化を採用しているデータ通信システムにおいて、通信チャネル(14)を介して第1及び第2の通信端末(A及びB)の間で情報を交換することを可能にするために、第1及び第2の通信端末間の鍵を設定する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元αとこれら秘密鍵とからそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
i)第1の通信端末(A)において第1のランダム整数xが選択され、生成元αを含む第1の関数f(α)のg(x)をベキとする指数関数を作ることにより、第1の指数関数f(α)g(x)を提供するステップと、
ii)第1の通信端末(A)において、第1のランダム整数xと第1の機密鍵aとを組み合わせるために、第1のランダム整数x、第1の指数関数f(α)g(x)、及び第1の秘密鍵aから第1の署名sを生成して、該第1の署名を保持するステップと、
iii)第1の通信端末(A)から、第2の通信端子(B)に向けて、第1の指数関数f(α)g(x)を含むメッセージを送るステップと、
iv)第2の通信端末(B)において、第2のランダム整数yを選択され、該第2のランダム整数yと第2の秘密鍵bとを組み合わせるために、生成元αを含む第2の関数f’(α)のg(y)をベキとする指数関数を作ることにより、第2の指数関数f’(α)g(y)を提供し、第2のランダム整数y、第2の指数関数f’(α)g(y)、及び第2の秘密鍵bから第2の署名sを生成して、該第2の署名を保持するステップと、
v)第2の通信端末(B)から、第1の通信端末(A)に向けて、第2の指数関数f’(α)g(y)を含むメッセージを送るステップと、
vi)第1の通信端末(A)において、第2の通信端末(B)によって公開された情報を、第1の通信端末に属する秘密情報を用いて指数化することによって、セッション鍵Kを構築し、第2の通信端末(B)において、第1の通信端末(A)によって公開された情報を、第2の通信端末に属する秘密情報を用いて指数化することによって、セッション鍵Kを構築するステップと
からなることを特徴とする方法。
【請求項2】
請求項1記載の方法において、第1の通信端末(A)によって送られる情報は、該第1の通信端末の識別子を含み、第2の通信端末(B)によって送られる情報は、該第2の通信端末の識別子を含んでいることを特徴とする方法。
【請求項3】
請求項1又は2記載の方法において、生成元αを含む第1の関数f(α)は、生成元α自体であり、生成元αを含む第2の関数f’(α)は、生成元α自体であることを特徴とする方法。
【請求項4】
請求項1又は2記載の方法において、生成元αを含む第1関数f(α)は、第2の通信端末(B)の公開鍵pを含み、生成元αを含む第2の関数f’(α)は、第1の通信端末の公開鍵pを含むことを特徴とする方法。
【請求項5】
請求項1〜3いずれかに記載の方法において、第1の署名sは、第1の指数関数f(α)g(x)から得られた整数r*を用いて生成され、第2の署名sは、第2の指数関数f’(α)g(y)から得られた整数r*を用いて生成されることを特徴とする方法。
【請求項6】
請求項5記載の方法において、第1の通信端末によって公開された情報は、第1の公開鍵P、第1の指数関数f(α)g(x)、及び整数r*を組合せ、第2の通信端末によって公開された情報は、第2の公開鍵P、第2の指数関数f’(α)g(y)、及び整数r*を組み合わせることを特徴とする方法。
【請求項7】
請求項6記載の方法において、生成元αは、pを素数とする乗法群Zの要素であることを特徴とする方法。
【請求項8】
請求項5〜7いずれかに記載の方法において、第1の署名s及び第2の署名sは、
=x+r*aα mod (p−1)
=y+r*bα mod (p−1)
であることを特徴とする方法。
【請求項9】
請求項8記載の方法において、
第1の通信端末によって、セッション鍵Kが、K=(α(α(rb*)sA mod pとして計算され、
第2の通信端末によって、セッション鍵Kが、K=(α(α(ra*)sB mod pとして計算されることを特徴とする方法。
【請求項10】
請求項5〜9いずれかに記載の方法において、αは、qをp−1の素除数とした場合、群Zの位数qの部分群の生成元であることを特徴とする方法。
【請求項11】
請求項5又は6記載の方法において、生成元αは、有限体F上で定義される楕円曲線上の位数nの点Pであり、該楕円曲線上のスカラ乗算によって、累乗が実行されることを特徴とする方法。
【請求項12】
請求項11記載の方法において、整数r*及び整数r*は、第1及び第2の指数関数の座標のビット・ストリングスであることを特徴とする方法。
【請求項13】
請求項11又は12記載の方法において、第1及び第2の署名s及びsは、
=(x+(r*)a) mod n
=(y+(r*)b) mod n
であることを特徴とする方法。
【請求項14】
請求項13記載の方法において、第2及び第1の通信端末において、セッション鍵Kはそれぞれ、
K=s(r+(r*)P
K=s(r+(r*)P
によって計算されることを特徴とする方法。
【請求項15】
請求項1〜3いずれかに記載の方法において、第1及び第2の署名s及びsは、
=x+raα mod (p−1)
=y+rbα mod (p−1)
であることを特徴とする方法。
【請求項16】
請求項4記載の方法において、第1及び第2の署名s及びsは、
=x+a(p mod (p−1)
=y+b(p mod (p−1)
であることを特徴とする方法。
【請求項17】
通信チャネル(14)を介して第1及び第2の通信端末(A及びB)の間で情報を交換することを可能にするために、公開鍵通信システムにおいて、第1及び第2の通信端末間のセッション鍵Kを搬送する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元αとこれら秘密鍵とからそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
a)第1の通信端末において第1のランダム整数xが選択され、該ランダム整数xと生成元αとから第1の値rを計算するステップと、
b)第1の通信端末において、第1のランダム整数xと、第1の値rと、第1の秘密鍵aとから第1の署名sを生成するステップと、
c)第1の通信端末において、第1のランダム整数xと第2の通信端末に属する公開情報とからセッション鍵Kを計算するステップと、
d)第1の通信端末から、第2の通信端子に向けて、第1の値r及び第1の署名sを含むメッセージを送るステップと、
e)第2の通信端末において、生成元α、第1の署名s、第1の値r、及び第1の通信端末に属する公開情報を用いて計算された値の有効性を検証するステップと、
f)第2の通信端末において、第1の値rと、第2の通信端末に属する秘密情報であって、第2の通信端末に属する公開情報に関連している情報とから、セッション鍵Kを計算するステップと
からなることを特徴とする方法。
【請求項18】
請求項17記載の方法において、第1の値rは、生成元を含む第1の関数f(α)を第1のランダム整数xをベキとするように指数化することによって計算されることを特徴とする方法。
【請求項19】
請求項18記載の方法において、第1の関数f(α)は生成元αそのものであることを特徴とする方法。
【請求項20】
請求項17〜19いずれかに記載の方法において、第1の署名sは、
=x−raα mod (p−1)
であることを特徴とする方法。
【請求項21】
請求項17〜19いずれかに記載の方法において、第2の通信端末に属する公開情報は該通信端末の公開鍵pであり、第2の通信端末に属する秘密情報は該通信端末の秘密鍵bであり、第1の通信端末に属する公開情報は該通信端末の公開鍵pであることを特徴とする方法。
【請求項22】
請求項21記載の方法において、第1の通信端末によって計算されたセッション鍵Kは、(pであることを特徴とする方法。
【請求項23】
請求項21又は22記載の方法において、第2の通信端末によって有効性が検証される値は、αsA(prA・αaであることを特徴とする方法。
【請求項24】
請求項23記載の方法において、第2の通信端末によって計算されたセッション鍵Kは、(rであることを特徴とする方法。
【請求項25】
請求項17〜24いずれかに記載の方法において、第2の通信端末が、第1の通信端末にランダム・ビット・ストリングkを送るステップを備えており、このステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。
【請求項26】
公開鍵データ通信システムにおいて、第1及び第2の通信端末間でセッション鍵を搬送して、これら通信端末の間で通信チャネルを介して情報を通信するための共通鍵を設定する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元α及びこれら秘密鍵からそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
i)第1の通信端末において第1のランダム整数xが選択され、生成元αを含む第1の関数f(α)のg(x)をベキとする指数関数を作ることにより、第1の指数関数f(α)g(x)を提供するステップと、
ii)第1の通信端末において、第1のランダム整数xと第1の機密鍵aとを組み合わせるために、第1のランダム整数x、第1の記指数関数f(α)g(x)、及び第1の秘密鍵aから第1の署名sを生成して、該第1の署名を該第1の通信端末に属する秘密の署名として保持するステップと、
iii)第1の通信端末から、第2の通信端子に向けて、第1の指数関数f(α)g(x)を含むメッセージを送るステップと、
iv)第1の通信端末において、第2の公開鍵pと第1の署名sとから第1のセッション鍵Kを計算するステップと、
v)第2の通信端末において、第1の通信端末の公開鍵pと、メッセージ内の情報とを用いて、第1のセッション鍵Kに対応する第2のセッション鍵K’を計算するステップと
からなることを特徴とする方法。
【請求項27】
請求項26記載の方法において、第2の通信端末は、第1の指数関数f(α)g(x)と第2の通信端末の秘密鍵bとを組み合わせることにより、第2のセッション鍵K’を生成することを特徴とする方法。
【請求項28】
請求項26又は27記載の方法において、第1の通信端末は、第2の通信端末の第2の公開鍵pの関数を第1の署名sの関数で指数化することにより、セッション鍵Kを計算することを特徴とする方法。
【請求項29】
請求項26〜28いずれかに記載の方法において、第1の通信端末の第1の署名sは、x−raα mod (p−1)であり、第2のセッション鍵K’は、K’=(r(p−rA・pAであることを特徴とする方法。
【請求項30】
通信チャネル(14)を介して第1及び第2の通信端末の間で情報を交換することを可能にするために、公開鍵通信システムにおいて、第1及び第2の通信端末の間でセッション鍵Kを搬送する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元αとこれら秘密鍵とからそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
a)第1の通信端末において、第1のランダム整数xが選択され、該ランダム整数xと生成元αとから第1の値rを計算するステップと、
b)第1の通信端末において、第1のランダム整数xと、第1の値rと、第1の秘密鍵aとから第1の署名sを生成して、第1のランダム整数及び第1の秘密鍵aを組み合わせるステップと、
c)第1の通信端末において、第1のランダム整数xと第2の通信端末に属する公開情報とから、第2の通信端末によって計算可能であるセッション鍵Kを計算するステップと、
d)第1の通信端末から、第2の通信端子に向けて、第1の値r及び第1の署名sを含むメッセージを送るステップと
からなることを特徴とする方法。
【請求項31】
請求項30記載の方法において、第1の通信端末が、第2の通信端末からランダム・ビット・ストリングkを受信するステップを備え、該ステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。
【請求項32】
通信チャネル(14)を介して第1及び第2の通信端末の間で情報を交換することを可能にするために、公開鍵通信システムにおいて、第1及び第2の通信端末の間でセッション鍵Kを搬送する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元αとこれら秘密鍵とからそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
a)第2の通信端末において、第1の通信端末から、第1の値rと第1の署名sとを受信するステップであって、第1の値rは、第1の通信端末において、第1のランダム整数xと生成元αとから計算され、第1の署名sは、第1の通信端末において、第1のランダム整数xと、第1の値rと、第1の秘密鍵aとから生成されたものである、ステップと、
b)第2の通信端末において、生成元、第1の署名s、第1の値r、及び第1の通信端末に属する公開鍵を用いて生成された値が、第1の通信端末から受信した第1の値rと等しいかどうかを判定するステップと、
c)第2の通信端末において、該通信端末に属する秘密情報と第1の値rとからセッション鍵Kを計算するステップであって、該通信端末に属する秘密情報は、該通信端末に属する公開情報に関連しており、セッション鍵Kは、第1の通信端末においても計算可能である、ステップと
からなることを特徴とする方法。
【請求項33】
請求項32記載の方法において、第2の通信端末が、第1の通信端末にランダム・ビット・ストリングkを送信するステップを備え、該ステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。
【請求項34】
請求項30〜33いずれかに記載の方法において、第1の値rは、生成元αを含む関数f(α)を第1のランダム整数xをベキとする指数関数とすることにより計算されることを特徴とする方法。
【請求項35】
請求項34記載の方法において、生成元αを含む関数f(α)は、生成元αそのものであることを特徴とする方法。
【請求項36】
請求項30〜35いずれかに記載の方法において、第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。
【請求項37】
請求項32〜36いずれかに記載の方法において、第2の通信端末に属する公開情報は、第2の公開鍵pであり、第1の通信端末に属する公開情報は、第1の公開鍵pであり、第2の通信端末に属する秘密情報は、第2の秘密鍵bであることを特徴とする方法。
【請求項38】
請求項32、33又は37記載の方法において、第2の通信端末によって生成され判定された値は、αsA(prA・αaであることを特徴とする方法。
【請求項39】
請求項38記載の方法において、第2の通信端末によって計算されたセッション鍵Kは、(rであることを特徴とする方法。
【請求項40】
公開鍵データ通信システムにおいて、第1及び第2の通信端末間でセッション鍵を搬送して、これら通信端末の間で通信チャネルを介して情報を通信するための共通鍵を設定する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元α及びこれら秘密鍵からそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
i)第1の通信端末において、第1のランダム整数xが選択され、生成元αを含む第1の関数f(α)のg(x)をベキとする指数関数を作ることにより、第1の指数関数f(α)g(x)を提供するステップと、
ii)第1の通信端末において、第1のランダム整数xと第1の機密鍵aとを組み合わせるために、第1のランダム整数x、第1の指数関数f(α)g(x)、及び第1の秘密鍵aから第1の署名sを生成して、該第1の署名を該第1の通信端末に属する秘密の署名として保持するステップと、
iii)第1の通信端末から、第2の通信端子に向けて、第1の指数関数f(α)g(x)を含むメッセージを送るステップと、
iv)第1の通信端末において、第2の公開鍵pと第1の署名sとからセッション鍵Kを計算するステップであって、該セッション鍵Kは、第2の通信端末においても、第1の公開鍵pAとメッセージ中の情報とを用いて計算可能である、ステップと
からなることを特徴とする方法。
【請求項41】
請求項40記載の方法において、第1の通信端末は、セッション鍵Kを、第2の公開鍵pの関数を第1の署名sで指数化することにより計算することを特徴とする方法。
【請求項42】
請求項40又は41記載の方法において、第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。
【請求項43】
公開鍵データ通信システムにおいて、第1及び第2の通信端末間でセッション鍵を搬送して、これら通信端末の間で通信チャネルを介して情報を通信するための共通鍵を設定する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元α及びこれら秘密鍵からそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
i)第2の通信端末において、第1の通信端末から、第1の値rを含んでいるメッセージを受信するステップであって、第1の値rは、第1の通信端末において、第1のランダム整数xと生成元αとから計算されたものである、ステップと、
ii)第2の通信端末において、第1の値r、第1の公開鍵p、該通信端末に属する秘密情報から、セッション鍵Kを計算するステップであって、該通信端末に属する秘密情報は、該通信端末に属する公開情報に関連しており、セッション鍵は、第1の通信端末においても、第2の公開鍵pを用いて計算可能である、ステップと
からなることを特徴とする方法。
【請求項44】
請求項43記載の方法において、第2の通信端末に属する秘密情報は、第2の秘密鍵bであり、第2の通信端末に属する公開情報は、第2の公開情報pであることを特徴とする方法。
【請求項45】
請求項43又は44記載の方法において、第2の通信端末は、セッション鍵Kを、K=(r(p−rA・pAによって計算することを特徴とする方法。
【請求項46】
公開鍵暗号化を採用しているデータ通信システムにおいて、第1及び第2の通信端末間で鍵を搬送して、これら通信端末の間で通信チャネルを介して情報を通信するための共通鍵を設定する方法であって、第1及び第2の通信端末はそれぞれ、第1及び第2の秘密鍵a及びbと、生成元α及びこれら秘密鍵からそれぞれ導かれた第1及び第2の公開鍵p及びpと、を有しており、該方法は、
i)第1の通信端末において、第1のランダム整数xが選択され、生成元αを含む第1の関数f(α)のg(x)をベキとする指数関数を作ることにより、第1の指数関数f(α)g(x)を提供するステップと、
ii)第1の通信端末において、第1のランダム整数xと第1の秘密鍵aとを組み合わせるために、第1のランダム整数x、第1の指数関数f(α)g(x)、及び第1の秘密鍵aから第1の署名sを生成するステップと、
iii)第1の通信端末において、第2の通信端末に、第1の指数関数f(α)g(x)を送信するステップと、
iv)第1の通信端末において、第2の通信端末から、第2の指数関数f’(α)g(y)を含んでいる情報を受信するステップであって、第2の指数関数f’(α)g(y)は、第2の通信端末において、第2のランダム整数yが選択され、生成元αを含む関数f’(α)のg(y)をベキとする指数関数を作ることにより生成されたものである、ステップと、
v)第1の通信端末において、第2の通信端末によって公開された情報を、第1の通信端末に属する秘密情報で指数化することによって、セッション鍵Kを構築するステップであって、第1の通信端末によって構築されたセッション鍵Kは、第2の通信端末においても、第1の通信端末によって公開された情報を、第2の通信端末に属する秘密情報で指数化することにより計算可能である、ステップと
からなることを特徴とする方法。
【請求項47】
請求項46記載の方法において、第1の通信端末から送信されるメッセージは、該通信端末の識別子を含んでおり、第2の通信端末から受信されるメッセージは、該通信端末の識別子を含んでいることを特徴とする方法。
【請求項48】
請求項46又は47記載の方法において、生成元を含んでいる関数f(α)は、生成元αそのものであることを特徴とする方法。
【請求項49】
請求項46又は47記載の方法において、生成元を含んでいる関数f(α)は、第2の公開鍵pを含んでいることを特徴とする方法。
【請求項50】
請求項46、47又は48記載の方法において、第1の通信端末の第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。
【請求項51】
請求項46、47又は49記載の方法において、第1の通信端末の第1の署名sは、x+aα(p mod (p−1)であることを特徴とする方法。
【請求項52】
請求項46〜48いずれかに記載の方法において、第1の通信端末の第1の署名sは、xrx1−(rrx1aα mod (p−1)であり、xは、第1の通信端末によって選択された第2のランダム整数であり、rx1=αx1であることを特徴とする方法。
【請求項53】
請求項46〜49いずれかに記載の方法において、第1の通信端末において、第3のランダム整数xを選択し、第2の通信端末に、rA1=αx1なるrA1を送信し、第1の通信端末において、第2の通信端末から、rB1=αy1なるrB1を受信し、yは、第2の通信端末によって選択された第4のランダム整数であり、第1の通信端末が、αxy及びαx1・y1にそれぞれ等しい一対の鍵k及びkを計算し、セッション鍵がk及びkの排他的論理和によって生成されることを特徴とする方法。
【請求項54】
請求項46〜53いずれかに記載の方法において、第1の通信端末によって受信されたメッセージは、第2の通信端末によって生成された署名sを含んでいることを特徴とする方法。
【請求項55】
請求項54記載の方法において、該方法はさらに、第1の通信端末において、第2の署名s及び第2の指数関数f’(α)g(y)から該第2の指数関数f’(α)g(y)に等しい値を計算し、該計算された値を第2の指数関数f’(α)g(y)と対比することによって、第2の通信端末から受信したメッセージの完全性(インテグリティ)の有効性を評価することにより、セッション鍵を正規なものとして認証するステップを含んでいることを特徴とする方法。
【請求項56】
請求項46〜49いずれかに記載の方法において、第1の署名sは、第1の指数関数f(α)g(x)から得られた整数r*を用いて生成されることを特徴とする方法。
【請求項57】
請求項56記載の方法において、第2の通信端末によって公開された情報は、第2の公開鍵p、第1の指数関数f(α)g(x)、第2の通信端末の整数r*を組み合わせたものであることを特徴とする方法。
【請求項58】
請求項57記載の方法において、生成元αは、乗法群Z(pは素数)の要素であることを特徴とする方法。
【請求項59】
請求項56〜58いずれかに記載の方法において、第1の署名sは、s=x+(r*)a mod (n−1)であることを特徴とする方法。
【請求項60】
請求項59記載の方法において、セッション鍵Kは、K=(α(αrb*sA mod pであることを特徴とする方法。
【請求項61】
請求項56〜60いずれかに記載の方法において、生成元αは、pを素数とする乗法群Zの位数q(qは素除数)の部分群の要素であることを特徴とする方法。
【請求項62】
請求項56又は57記載の方法において、生成元αは、有限体Fq上で定義される楕円曲線上の位数nの点Pであり、該楕円曲線上のスカラ乗算によって、累乗が実行されることを特徴とする方法。
【請求項63】
請求項62記載の方法において、整数r*は、第1の指数関数f(α)g(x)の座標のビット・ストリングスであることを特徴とする方法。
【請求項64】
請求項62又は63記載の方法において、第1の署名sは、
=(x+(r*)a) mod n
であることを特徴とする方法。
【請求項65】
請求項64記載の方法において、第1の通信端末において、セッション鍵Kは、
K=s(r+(r*)P
によって計算されることを特徴とする方法。
【請求項66】
請求項46〜48いずれかに記載の方法において、第1の通信端末が、第1の署名sを自身に属する秘密のものとして保持することを特徴とする方法。
【請求項67】
請求項66記載の方法において、第1の署名sは、
=x+raα mod (p−1)
であることを特徴とする方法。
【請求項68】
請求項66記載の方法において、第1の署名sは、
=x+a(p mod (p−1)
であることを特徴とする方法。
【請求項69】
請求項66記載の方法において、第1の署名sは、s=xr+aα
であることを特徴とする方法。
【請求項70】
請求項66記載の方法において、第1の署名sは、s=xα+arであることを特徴とする方法。
【請求項71】
請求項1〜70いずれかに記載の方法を実行することを特徴とするシステム。
【請求項72】
コンピュータにより読み取り可能な記憶媒体であって、請求項1〜70いずれかに記載の方法を実行するためのプログラムを記憶したことを特徴とする記憶媒体。

【図1】
image rotate


【公開番号】特開2010−11478(P2010−11478A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2009−193282(P2009−193282)
【出願日】平成21年8月24日(2009.8.24)
【分割の表示】特願平10−519298の分割
【原出願日】平成8年10月18日(1996.10.18)
【出願人】(397071791)サーティコム コーポレーション (38)
【Fターム(参考)】