JP2010011478A - Key agreement and carrier method using implicit signing - Google Patents

Key agreement and carrier method using implicit signing Download PDF

Info

Publication number
JP2010011478A
JP2010011478A JP2009193282A JP2009193282A JP2010011478A JP 2010011478 A JP2010011478 A JP 2010011478A JP 2009193282 A JP2009193282 A JP 2009193282A JP 2009193282 A JP2009193282 A JP 2009193282A JP 2010011478 A JP2010011478 A JP 2010011478A
Authority
JP
Japan
Prior art keywords
communication terminal
key
signature
communication
secret
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.)
Withdrawn
Application number
JP2009193282A
Other languages
Japanese (ja)
Inventor
Scott A Vanstone
ヴァンストーン,スコット・エイ
Alfred John Menezes
メネゼス,アルフレッド・ジョン
Minghua Qu
キュー,ミングァ
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.)
Certicom Corp
Original Assignee
Certicom 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 Certicom Corp filed Critical Certicom Corp
Priority to JP2009193282A priority Critical patent/JP2010011478A/en
Publication of JP2010011478A publication Critical patent/JP2010011478A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To generate a session key in two communication terminals so as to cope with unauthorized wiretapping. <P>SOLUTION: In the communication terminal A, a random integer x is selected, an exponential function f(α)<SP>g(x)</SP>is provided (α is a generation source), and a signing s<SB>A</SB>is generated from the random integer x, the exponential function f(α)<SP>g(x)</SP>and a private key a. In the communication terminal B, a random integer y is selected, another exponential function f'(α)<SP>g(y)</SP>is provided, and a signing s<SB>B</SB>is generated from the random integer y, the exponential function f'(α)<SP>g(y)</SP>and a private key b. The communication terminals A and B transmit a message, including the exponential function f(α)<SP>g(x)</SP>and the exponential function f'(α)<SP>g(y)</SP>to the communication terminals B and A each. In the communication terminals A and B, each constructs the session key K by exponent-numbering information respectively disclosed by the communication terminals B and A, by using confidential information which belongs to the communication terminals A and B. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、暗号鍵の転送及び認証のための鍵一致(key agreement)プロトコルに関する。   The present invention relates to a key agreement protocol for encryption key transfer and authentication.

情報の交換の際にプライバシを維持するために、鍵を用いてデータを暗号化することが、広く知られている。この鍵は、通信端末がメッセージを暗号化及び復号化できるが介入者にはメッセージの内容を判断できないように、選択されなければならない。
秘密鍵暗号プロトコルでは、通信端末は、彼らにとって秘密である共通鍵を共有(share)する。このためには、この鍵が通信端末の間で一致しており、この鍵の秘密性を維持するために条項(provision)が作成され、基礎となる安全性が万一危険にさらされた場合には、鍵の交換がなされることが要求される。
In order to maintain privacy when exchanging information, it is widely known to encrypt data using a key. This key must be selected so that the communication terminal can encrypt and decrypt the message, but the intervening party cannot determine the content of the message.
In the secret key encryption protocol, communication terminals share a common key that is secret to them. To this end, if this key is consistent between communication terminals, provisions have been created to maintain the confidentiality of this key, and the underlying security should be compromised Requires that a key be exchanged.

公開鍵暗号プロトコルは、1976年にDiffie-Hellmanによって最初に提案され、すべての潜在的な通信端末に利用可能とされている公開鍵と、意図された受信者にだけ知られている秘密鍵(private key)とを用いる。公開鍵と秘密鍵とは、受信者の公開鍵を用いて暗号化されたメッセージは、秘密鍵を用いて容易に復号化できるが、秘密鍵は、平文(plaintext)、暗号文(ciphertext)及び公開鍵の知識からは導くことはできないような、相互関係になっている。   The public key cryptographic protocol was first proposed by Diffie-Hellman in 1976 and made available to all potential communication terminals and a private key known only to the intended recipient ( private key). A public key and a secret key are messages that are encrypted using the recipient's public key, and can be easily decrypted using the secret key. The secret key includes plaintext, ciphertext, and ciphertext. There is a mutual relationship that cannot be derived from knowledge of public keys.

鍵の確立(establishment)は、二人以上の当事者が、セッション(session)鍵と称される、共有される秘密鍵(secret key)を確立するプロセスである。セッション鍵は、プライバシなどの何らかの暗号上の目的を達成するために、後で用いられる。鍵一致プロトコルには、2つの種類が存在する。すなわち、鍵が第1の当事者によって作成され、第2の当事者に安全に送信されるという鍵輸送(transport)プロトコルと、両方の当事者が、共有される秘密鍵を共同して確立する情報を出し合う鍵一致プロトコルと、である。当事者の間で必要となるメッセージ交換の数は、パス数(number of passes)と称される。鍵確立プロトコルは、ある当事者が、特別に識別された第2の当事者以外のどの当事者もセッション鍵の値を知ることを許されないことが保証されている場合に、「内在的」(implicit)鍵認証(又は、単に、鍵認証)を提供すると称される。内在的鍵認証の性質は、第2の当事者が実際のセッション鍵を有していることを必ずしも意味しない。次に、鍵確立プロトコルは、ある当事者が、特別に識別された第2の当事者が特定のセッション鍵を実際に所持していることを保証されている場合には、鍵確認(confirmation)を提供すると称される。プロトコルに関係する両方の当事者に認証が提供される場合には、鍵認証は、相互的(mutual)と称され、一人の当事者にだけ提供される場合には、認証は、一方的(unilateral)と称される。   Key establishment is the process by which two or more parties establish a shared secret key, called a session key. The session key is used later to achieve some cryptographic purpose such as privacy. There are two types of key agreement protocols. That is, a key transport protocol in which a key is created by a first party and securely transmitted to a second party, and both parties share information to jointly establish a shared secret key A key agreement protocol. The number of message exchanges required between the parties is referred to as the number of passes. A key establishment protocol is an “implicit” key when a party is guaranteed that no other party than the specifically identified second party is allowed to know the value of the session key. It is referred to as providing authentication (or simply key authentication). The nature of intrinsic key authentication does not necessarily mean that the second party has an actual session key. Second, the key establishment protocol provides key confirmation when a party is guaranteed that a specially identified second party actually has a particular session key. It is called. If authentication is provided to both parties involved in the protocol, key authentication is referred to as mutual, and if provided to only one party, authentication is unilateral. It is called.

内在的な鍵認証を提供すると主張する提案は、これまでに、いくつかなされている。
例としては、鍵一致に関する、Nyberg-Rueppelによる1パス(one-pass)プロトコル、 Matsumoto-Takashima-Imai (MTI)及びGoss and Yacobiによる2パス・プロトコルがある。
従来の提案は、共通鍵を確立するための通信端末の間の送信が安全であり、侵入者がセッション鍵をリトリーブし暗号文を復号化することはでfきないことを保証している。このようにして、資金の移動などの注意を要するトランザクションに対する安全性が提供されている。
There have been several proposals so far that claim to provide intrinsic key authentication.
Examples include the one-pass protocol by Nyberg-Rueppel, the two-pass protocol by Matsumoto-Takashima-Imai (MTI) and Goss and Yacobi for key agreement.
The conventional proposal guarantees that transmission between communication terminals for establishing a common key is secure, and that an intruder cannot retrieve the session key and decrypt the ciphertext. In this way, security is provided for transactions that require attention such as the transfer of funds.

例えば、MTI/A0鍵一致プロトコルでは、二人の通信端末に知られている、共有される秘密鍵を、次のようにして確立している。
1.当初の、一時的な(one-time)セットアップの間に、鍵の発生と公開とが、適切なシステム・プライム(system prime)pと生成元(generator)α∈Z とを真正であることが補償されるように、選択され公開される。通信端末Aは、長期の秘密鍵として1<a<p−1であるランダムな整数aを選択し、長期の公開鍵z=α mod pを計算する。Bも、同様のbとzとを生成する。AとBとは、相互の長期公開鍵の認証されたコピーへのアクセスを有することになる。
For example, in the MTI / A0 key agreement protocol, a shared secret key known to two communication terminals is established as follows.
1. During initial, one-time setup, key generation and disclosure is authentic with the proper system prime p and generator αεZ * p. So that it is compensated. The communication terminal A selects a random integer a satisfying 1 <a <p−1 as a long-term secret key, and calculates a long-term public key z A = α a mod p. B also generates the same b and z B. A and B will have access to an authenticated copy of each other's long-term public key.

2.このプロトコルは、次のメッセージの交換を要求する。すなわち、
AからB:α mod p (1)
BからA:α mod p (2)
x及びyの値は、その送信の間は安全に保たれるが、その理由は、pが十分に大きくとられていれば、αの値と指数化とが知られているとしても、指数を決定するのは実際的ではないからである。
2. This protocol requires the exchange of the next message. That is,
A to B: α x mod p (1)
B to A: α y mod p (2)
The values of x and y are kept safe during the transmission because, if p is taken large enough, even if the value of α and exponentiation are known, the exponent This is because it is not practical.

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を共有する。
3. To implement this protocol, the following steps are performed each time a shared key is requested.
(A) A selects a random integer x satisfying 1 ≦ x ≦ p−2 and sends a message (1), that is, α x mod p toward B.
(B) B selects a random integer y satisfying 1 ≦ y ≦ p−2 and sends a message (2), that is, α y mod p toward A.
(C) A calculates the key K = (α y ) a z B x mod p.
(D) B calculates the key K = (α x ) b z A y mod p.
(E) Both share the key K = α bx + ay .

鍵Kを計算するためには、Aは、自分の秘密鍵aとランダムな整数xとを使わなければならない。これらは、共に、A本人だけに知られているものである。同様にして、Bは、セッション鍵Kを計算するためには、自分の秘密鍵bとランダムな整数yとを使わなければならない。秘密鍵a及びbが、危険にさらされていないと仮定すると、侵入者は、他方の通信端末と同一のセッション鍵を生成することはできない。従って、任意の暗文は、どちらの通信端末にも復号化が不可能である。   In order to calculate the key K, A must use his private key a and a random integer x. Both of these are known only to the A person. Similarly, B must use his private key b and a random integer y to calculate the session key K. Assuming that the secret keys a and b are not compromised, the intruder cannot generate the same session key as the other communication terminal. Therefore, any encrypted text cannot be decrypted by either communication terminal.

従って、このプロトコル及び関連するプロトコルは、鍵確立には十分なものであると考えられてきたし、従来型の盗聴や、中間者(man-in-the-middle)による攻撃に対して抵抗できると考えられてきた。
状況によっては、相手方が、一方の通信端末を他方の通信端末であるとミスリードするのが効果的である。
そのような攻撃では、アクティブな相手方、すなわち、侵入者Eは、AとBとの間で交換されるメッセージを修正し、その結果として、Bは、Eと鍵Kを共有していると信じ、他方で、Aは、同じ鍵をBと共有していると信じることになる。EがKの値を知らない場合であっても、通信端末の識別(ID)に関する偽の情報が、有用となる。
Therefore, this protocol and related protocols have been considered sufficient for key establishment and can resist conventional eavesdropping and man-in-the-middle attacks. Has been considered.
In some situations, it is effective for the other party to mislead one communication terminal as the other communication terminal.
In such an attack, the active opponent, intruder E, modifies the message exchanged between A and B, and as a result, B believes that E shares key K. On the other hand, A will believe that he shares the same key with B. Even if E does not know the value of K, false information regarding the identification (ID) of the communication terminal is useful.

そのような攻撃が成功するであろう実際的なシナリオは、次のようなものである。Bは、銀行の支店であり、Aは、口座保持者であると仮定する。銀行の本部によって証明書が発行され、その証明書の中には、保持者の口座情報が書かれている。資金の電子的支払い(デポジット)のためのプロトコルは、相互認証された鍵一致を介して、銀行の支店との鍵の交換であると仮定する。Bがいったん送信者を認証すると、暗号化された資金がその証明書の口座番号に払い込まれる。それ以上の認証が暗号化された支払いメッセージにおいてなされない場合(これは、帯域幅を節約するためになされるかもしれない)には、支払いは、Eの口座になされる。
本発明の目的は、上述の短所が回避される又は解消されるようなプロトコルを提供することである。
A practical scenario where such an attack would be successful is as follows. Assume B is a bank branch and A is an account holder. A certificate is issued by the headquarters of the bank, and the account information of the holder is written in the certificate. It is assumed that the protocol for electronic payment (deposit) of funds is a key exchange with a bank branch via a mutually authenticated key agreement. Once B authenticates the sender, the encrypted funds are paid into the account number on the certificate. If no further authentication is made in the encrypted payment message (which may be done to save bandwidth), the payment is made to E's account.
The object of the present invention is to provide a protocol in which the above disadvantages are avoided or eliminated.

従って、本発明によると、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のそれぞれが、前記他方の通信端末によって彼ら自身にとって秘密である前記ランダムな整数を用いて、公開された情報を指数化することによって、セッション鍵を構成するステップと、を含む。
Therefore, according to the present invention, there is provided a method for authenticating that a pair of communication terminals A and B exchange information with each other, the communication terminals respectively including secret keys a and b, a generator α, A method is provided having public keys p A and p B derived from the secret keys a and b, respectively. This method
i) The first person A of the communication terminal selects a first random integer x and creates an exponential function with g (x) of the function f (α) including the generator as a power, Providing a first exponential function f (α) g (x) ;
ii) the first communication terminal A generates a first signature s A from the random integer x and the exponential function f (α) g (x) ;
iii) the first communication terminal A sends a message including the first exponential function f (α) g (x) and the signature s A to the second communication terminal B;
iv) The communication terminal B selects a second random integer y and creates an exponential function with g (y) of the function f ′ (α) including the generator as a power, thereby generating a second exponent Providing a function f ′ (α) g (x) , s B obtained from the second integer y and the second exponential function f (α) g (x) ;
v) the second communication terminal B sending a message including the second exponential function f ′ (α) g (y) and the signature s B to the first communication terminal A;
vi) Each of the communication terminals calculates a value equal to the exponential function from the signature and the exponential function in the received message, and compares the calculated value with the transmitted value. To verify the authenticity of the messages they received,
vii) each of the communication terminals A and B constructs a session key by indexing the published information with the random integer that is secret to itself by the other communication terminal; ,including.

従って、侵入者Eが自らの公開鍵p=αacをメッセージの一部として送信の中に入れることはできるが、Bは、メッセージを認証する際には、pではなくpを用いることになる。従って、指数関数の計算され送信された値は、対応しない。 Thus, intruder E can put his public key p E = α ac into the transmission as part of the message, but B uses p E instead of p A when authenticating the message. It will be. Therefore, the calculated and transmitted values of the exponential function do not correspond.

本発明にかかるデータ通信システムの概略図である。1 is a schematic diagram of a data communication system according to the present invention.

発明を実施するための実施形態BEST MODE FOR CARRYING OUT THE INVENTION

本発明の実施例を次の添付した図面を参照することによって、これから説明することにする。
図1は、データ通信システムの概略図である。図1を参照すると、通信端末A及び通信端末Bとして表される1対の通信端末10、12が、通信チャネル14上で情報を交換する。暗号ユニット16、18が、通信端末10、12とチャネル14とのそれぞれの間に配置されている。鍵20は、暗号ユニット16、18のそれぞれに関連し、それぞれのユニット16、18とそれぞれの通信端末10、12との間で運ばれる平文を、チャネル14上で運ばれる暗文に変換する。
Embodiments of the present invention will now be described by reference to the following accompanying drawings.
FIG. 1 is a schematic diagram of a data communication system. Referring to FIG. 1, a pair of communication terminals 10, 12 represented as communication terminal A and communication terminal B exchange information on a communication channel 14. The encryption units 16 and 18 are arranged between the communication terminals 10 and 12 and the channel 14, respectively. The key 20 is associated with each of the cryptographic units 16, 18 and converts the plaintext carried between the respective unit 16, 18 and the respective communication terminal 10, 12 into a plaintext carried on the channel 14.

動作においては、Aの通信端末10によって生成されるメッセージは、ユニット16によって、鍵20を用いて暗号化され、チャネル14上の暗文として、ユニット18まで送信される。
鍵20は、ユニット18において暗文に作用して、Bの通信端末12のために平文のメッセージを生成する。鍵20が対応する場合には、通信端末12によって受け取られたメッセージは、通信端末10によって送られたものである。
図1に示されたシステムが動作するためには、鍵20が同一であり、従って、公開的な態様で情報の移動を可能にする鍵一致(agreement)プロトコルが確立されていることが必要である。そのような鍵の生成には多数のプロトコルが利用可能であり、また、Diffie-Hellman鍵交換の変形も存在する。その目的は、当事者A及びBが秘密セッション鍵Kを確立することである。
In operation, a message generated by A's communication terminal 10 is encrypted by unit 16 using key 20 and transmitted as ciphertext on channel 14 to unit 18.
The key 20 acts on the secret text in the unit 18 to generate a plain text message for the B communication terminal 12. If the key 20 corresponds, the message received by the communication terminal 12 is that sent by the communication terminal 10.
In order for the system shown in FIG. 1 to operate, the key 20 must be the same and therefore a key agreement protocol must be established that allows the movement of information in an open manner. is there. Numerous protocols are available for generating such keys, and there are variations of Diffie-Hellman key exchange. Its purpose is that the parties A and B establish a secret session key K.

これらのプロトコルのためのシステム・パラメータは、素数pと乗法群Z の生成元αとである。通信端末Aは、秘密鍵aと、公開鍵p=αとを有する。通信端末Bは、秘密鍵bと、公開鍵p=αとを有する。以下で例を挙げるプロトコルでは、textは、当事者Aを識別する情報のストリングを意味する。他方の当事者Bが通信端末Aの公開鍵の真正のコピーを有しており、更に、textがAの信用のおけるセンターによって発行された公開鍵証明書を含む場合には、通信端末Bは、その信用のおけるセンターの公開鍵の真正のコピーを用いて、通信端末Aの証明書を検証でき、従って、通信端末Aの公開鍵の真正のコピーを得ることができる。 The system parameters for these protocols are the prime number p and the generator α of the multiplicative group Z * p . The communication terminal A has a secret key a and a public key p A = α a . The communication terminal B has a secret key b and a public key p B = α b . In the protocol given below, text A means a string of information that identifies party A. If the other party B has a genuine copy of the public key of communication terminal A, and if text A contains a public key certificate issued by A's trusted center, then communication terminal B The authentic copy of the trusted center's public key can be used to verify the certificate of the communication terminal A, thus obtaining an authentic copy of the communication terminal A's public key.

以下のそれぞれの例では、侵入者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と通信できるようにする同じセッション鍵を生成する。 In each of the following examples, assume that intruder E wants to identify the message from A as originating from E himself. To achieve this, E chooses a random integer e with 1 ≦ e ≦ p−2 and calculates p E = (p A ) e = α ae mod p, which is E's own public key Prove that E knows e but does not know index ae. By replacing textA with textE, the communication terminal B considers the message to be from E, not from A, and generates a session key K using E's public key. E also intercepts the message from B and modifies its contents with its secret random integer e. A then uses that information to generate the same session key that allows A to communicate with B.

侵入者EがBに、BはEと通信しているということを信じさせようとしているのを妨害するには、次のプロトコルが採用される。
このプロトコルの目的は、当事者A及びBがセッション鍵Kを確立することである。ここで挙げたプロトコルは、役割対称的(role-symmetric)であり、対話的(interactive)ではない。
このプロトコルのためのシステム・パラメータは、素数pと乗法群Z の生成元αとである。通信端末Aは、秘密鍵aと、公開鍵p=αとを有する。通信端末Bは、秘密鍵bと、公開鍵p=αとを有する。
To prevent intruder E from trying to convince B that B is communicating with E, the following protocol is employed.
The purpose of this protocol is for parties A and B to establish a session key K. The protocols listed here are role-symmetric and not interactive.
The system parameters for this protocol are the prime number p and the generator α of the multiplicative group Z * p . The communication terminal A has a secret key a and a public key p A = α a . The communication terminal B has a secret key b and a public key p B = α b .

第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を計算する。
First protocol A selects a random integer x satisfying 1 ≦ x ≦ p−2, and calculates r A = α x and signature s A = x−r Aa mod (p−1). A sends {r A , s A , text A } to B.
2. B chooses a random integer y with 1 ≦ y ≦ p−2 and calculates r B = α y and signature s B = y−R Bb mod (p−1). A sends {r B , s B , text B } to B.
3. A computes α sB (p B ) rB · αb and verifies that it is equal to r B. A then calculates a session key K = (r B ) x = α xy .
4). B computes α sA (p A ) rA · αa and verifies that it is equal to r A. B then calculates the session key K = (r A ) y = α xy .

Eが、textをtextに交換する場合には、Bは、rの送信された値には対応しないαsA(prAαaを計算する。Bは、従って、侵入者Eに関する警告を受け、別のセッション鍵を開始することになる。
第1のプロトコルの短所は、完全な前方向の秘密性(守秘性)(perfect forward secrecy)が得られないことである。すなわち、相手側が当事者Aの長期の秘密鍵aを知る場合には、この相手側は、Aの過去のセッション鍵すべてを導き出せることになる。完全な前方向の秘密性は、プロトコル1を次のようにして修正することによって達成される。
If E exchanges text A for text B , B computes α sA (p E ) rAαa that does not correspond to the transmitted value of r A. B will therefore receive a warning regarding intruder E and will start another session key.
The disadvantage of the first protocol is that it does not provide perfect forward secrecy. That is, when the other party knows the long-term secret key a of the party A, the other party can derive all the past session keys of A. Full forward secrecy is achieved by modifying protocol 1 as follows.

修正された第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)から求めることができる点である。このプロトコルのうまく設計された実現例では、秘密の整数の開示は回避されるので、この短所は、基本的に理論的性格を有するものである。
In the modified first protocol step 1, A also sends α x1 to B. Here, x 1 is a second random integer generated by A. Similarly, in step 2 above, B also sends α y1 to A. Here, y 1 is a random integer. A and B calculate the key K = α xy + α x1 · y1 .
Another disadvantage of the first protocol is that if the other party knows A's secret random integer x, then the other party will know the long-term secret key of party A, the equation s A = x−r Aa This can be obtained from mod (p-1). This disadvantage is fundamentally theoretical in nature, since in well-designed implementations of this protocol, disclosure of secret integers is avoided.

第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を計算する。
Second Protocol The second protocol described below solves these two disadvantages.
1. A selects a random integer x satisfying 1 ≦ x ≦ p−2, and calculates (p B ) x , α x and signature s A = x + a α a (p B ) x mod (p−1) To do. A sends {α x , s A , text A } to B.
2. B selects a random integer y satisfying 1 ≦ y ≦ p−2 and calculates (p A ) y , α y and signature s B = y + bα b (p A ) y mod (p−1) To do. B sends {α y , s B , text B } to A.
3. A calculates (α y ) a and verifies that α sB (p B ) −αb · αay = α y . A then calculates a session key K = α ay (p B ) x .
4). B computes (α x ) b and verifies that α sA (p A ) −αa · αbx = α x . A then calculates a session key K = α by (p A ) y .

第2のプロトコルが第1のプロトコルとの比較で優れているのは、それが、完全な前方向の秘密性(forward secrecy)を提供するからである。秘密であるランダムな整数xの開示によって、相手側が秘密鍵aを知ることができるのではあるが、これは実際上問題ではない。なぜならば、Aは、自分がこのプロトコルのステップ1においてxを用いた直後に、xを廃棄することができるからである。   The second protocol is superior to the first protocol because it provides complete forward secrecy. Although the other party can know the secret key a by disclosing the secret random integer x, this is not a problem in practice. This is because A can discard x immediately after using it in step 1 of this protocol.

AがBの公開鍵の認証されたコピーを有していない場合には、Bは、自らの鍵の真正(certified)なコピーを、プロトコルの開始時に、Aに送信しなければならない。この場合には、第2のプロトコルは、3パス・プロトコルである。
量sは、値αに対して、Aの署名として機能する。この署名は、当事者Bだけに確認が可能であるという新規な性質を有している。このアイデアは、ElGamalライクな署名方式のすべてに一般化できる。
上述の第1及び第2のプロトコルは、帯域幅の要件と、鍵一致の計算上の効率とを向上させるように修正が可能である。修正されたプロトコルは、次に、プロトコル1’及びプロトコル2’として、示してある。それぞれの場合に、A及びBは、共通鍵αsA・sBを共有している。
If A does not have a certified copy of B's public key, B must send a certified copy of his key to A at the start of the protocol. In this case, the second protocol is a three-pass protocol.
The quantity s A serves as A's signature for the value α x . This signature has a novel property that only the party B can confirm it. This idea can be generalized to all ElGamal-like signature schemes.
The first and second protocols described above can be modified to improve the bandwidth requirements and the computational efficiency of key agreement. The modified protocols are then indicated as protocol 1 'and protocol 2'. In each case, A and B share a common key α sA · sB .

プロトコル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は、送信される必要がないことに注意すべきである。
Protocol 1 '
1. A selects a random integer x satisfying 1 ≦ x ≦ p−2, and calculates r A = α a and s A = x + r Aa mod (p−1). A sends {r A , text A } to B.
2. B selects a random integer y satisfying 1 ≦ y ≦ p−2 and calculates r B = α y and s B = y + r Bb mod (p−1). A sends {r B , text B } to B.
3. A calculates K = (r B (p B ) rB · αb ) sA equal to α sA · sB .
4). B calculates K = (r A (p A ) rA · αa ) sB equal to α sA · sB .
In this way, it should be noted that A and B share a common key, but signatures s A and s B do not need to be transmitted.

プロトコル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を確立するために、別のプロトコルが利用可能である。
Protocol 2 '
1. A chooses a random integer x with 1 ≦ x ≦ p−2 and calculates (p B ) x , α x and signature s A = x + a (p B ) x mod (p−1) . A sends {α x , text A } to B.
2. B chooses a random integer y with 1 ≦ y ≦ p−2 and calculates (p A ) y , α y and signature s B = y + b (p A ) y mod (p−1) . B sends {α y , text B } to A.
3. A calculates (α y ) a and K = (α y (p B ) αb · αay ) sA , that is, α sA · sB .
4). B calculates (α x ) b and K = (α x (p A ) αa · αbx ) SB , that is, α sA · sB .
Therefore, again, transmission of s A and s B was avoided.
Another protocol is available for A and B to establish the session key K.

第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の署名であると考えることができる。
Third Protocol The system parameters for this protocol are the prime number p and generator α of the multiplicative group Z * p . User A has a secret key a and a public key p A = α a . User B has a private key b and a public key p B = α b .
1. A selects two random integers x, x 1 where 1 ≦ x, x 1 ≦ p−2, and calculates r x1 = α x1 , r A = α x , and (r A ) rx1 Furthermore, the signature s A = xr x1 − (r A ) rx1a mod (p−1) is calculated. A sends {r A , s A , α x1 , text A } to B.
2. B chooses two random integers y, y 1 where 1 ≦ y, y 1 ≦ p−2 and calculates r y1 = α y1 , r B = α y and (r B ) ry1 Furthermore, the signature s B = yr y1 − (r B ) ry1 b mod (p−1) is calculated. B sends {r B , s B , α y1 , text B } to A.
3. A computes α sB (p B ) (rB) ry1 and confirms that it is equal to (r B ) ry1 . A calculates the session key K = (α y1 ) x1 = α x1 · y1 .
4). B computes α sA (p A ) (rA) rx1 and confirms that it is equal to (r A ) rx1 . B calculates the session key K = (α x1 ) y1 = α x1 · y1 .
In these protocols, (r A , s A ) can be considered as a signature of r x1 with the property that only A can sign the message r x1 .

鍵輸送プロトコル
上述のプロトコルによれば、セッション鍵の確立と認証とが可能になる。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を計算する。
Key Transport Protocol According to the protocol described above, it is possible to establish and authenticate a session key. It is desirable to establish a protocol that allows A to transport the session key to party B. Such a protocol is described next.
1. A selects a random integer x satisfying 1 ≦ x ≦ p−2, and calculates r A = α x and signature s A = x−r Aa mod (p−1). A sends {r A , s A , text A } to B.
2. B computes α sA (p A ) rA · αa and verifies that this amount is equal to r A. B then calculates a session key K = (r A ) b .

修正された鍵輸送プロトコル
上述のプロトコルは、署名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は、セッション鍵を知らない。
Modified key transport protocol the protocol described above, by eliminating the need to send sign s A, it is capable of modifications to reduce bandwidth.
1. A selects a random integer x satisfying 1 ≦ x ≦ p−2, and calculates r A = α x and signature s A = x−r Aa mod (p−1). A further calculates K = (p B ) sA and sends {r A , text A } to B.
2. B computes α sA (p A ) rA · αa and verifies that this amount is equal to r A. B then calculates a session key K = (α x (p A ) −rA · αa ) b = α b · sA .
All one-pass key transport protocols have the replay problem described below. Consider sending a session key K from A to B using a one-pass key transport protocol with some text encrypted using this session key. Suppose E records a transmission from A to B. If E later gains access to B's decryption device (but not access to the device's internal content, such as B's private key) by replaying transmissions to that device If this happens, E can recover the original text. In this situation, E does not know the session key.

このリプレイによるアタックは、タイムスタンプの使用などの、通常の方法によって失敗させることができる。しかし、Bの計算資源が限定されていて、それぞれのセッションの開始時に、Bがランダムなビット・ストリングkをAに送信する方がより適切であるようなこともある。テキストを暗号化するのに用いられるセッション鍵は、その場合には、k+k、すなわち、kとkとのXORを計算したものとなる。   This replay attack can be failed by normal methods such as using a time stamp. However, B's computational resources may be limited, and it may be more appropriate for B to send a random bit string k to A at the start of each session. In that case, the session key used to encrypt the text is k + k, that is, the XOR of k and k.

署名(signing)方程式s=x−raαと、プロトコル2における鍵輸送プロトコルr=αxbとは、いくつかの変形例で代替することができる。いくつか例を挙げると、次の通りである。
=sx+z
=xα+ar
=xr+Aα
1=ar+xs
The signing equation s A = x−r Aa and the key transport protocol r A = α xb in protocol 2 can be replaced by several variants. Some examples are as follows.
r A = s A x + z
s A = xα a + ar A
s A = xr A + Aα a
1 = ar A + xs A

既に述べたプロトコルは、すべて、乗法群Z の設定において、説明された。しかし、これらのプロトコルは、離散対数問題が困難を生じさせるように見える任意の有限群において機能するように容易に修正することができる。適切な選択肢としては、有限体の乗法群(特に、有限体GF(2))、位数(order)qのZ の部分群、有限体上で定義される楕円曲線上の点から成る群などがある。それぞれの場合に、適切な生成元(generator)αを用いて公開鍵を定義する。 All the protocols already mentioned have been described in the setting of the multiplicative group Z * p . However, these protocols can be easily modified to work in any finite group where the discrete logarithm problem appears to create difficulties. Suitable choices include multiplicative groups of finite fields (especially finite fields GF (2 n )), Z * p subgroups of order q, and points on elliptic curves defined on finite fields. There is a group consisting of. In each case, a public key is defined using an appropriate generator α.

上述したプロトコルは、また、直接的な方法で修正して、それぞれのユーザが自分自身のシステム・パラメータp及びα(又は、Z 以外の群が用いられる場合には、類似のパラメータ)を選択できるような状況を扱えるようにできる。
上述のプロトコルでは、一般形式s=x+r・a・αの署名成分が用いられていた。これらのプロトコルは、安全性を損ねることなく、より単純な一般形式s=x+r・aの署名成分を用いるように修正が可能である。
これらのプロトコルの例を、同じ記号(notation)を用いて以下に与えるが、望むのであれば、別の記号を用いてこれらのプロトコルを表現することができることを理解すべきである。
The protocol described above can also be modified in a straightforward manner so that each user has his own system parameters p and α (or similar parameters if groups other than Z * p are used). Can handle situations that can be selected.
In the above-described protocol, a signature component of the general format s A = x + r a · a · α a is used. These protocols can be modified to use a signature component of the simpler general form s A = x + r a · a without compromising security.
Examples of these protocols are given below using the same notation, but it should be understood that other protocols can be used to represent these protocols if desired.

プロトコル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から導かれる整数である。
Protocol 1 ''
This protocol is described using the following symbols in the multiplicative group Z * p .
p is a prime number.
α is a generator of Z * p .
a and b are the long-term secret keys of parties A and B, respectively.
α a mod p is the long-term secret key of party A.
α b mod p is the long-term secret key of party B.
x is a random integer selected by A as a short-term secret key.
r a = α x mod p is the short-term public key of party A.
y is a random integer selected by B as a short-term secret key.
r b = α y mod p is the short-term public key of party A.
r a * is an integer derived from r a .
r b * is an integer derived from r b.

プロトコルを実現するには、次のようにする。
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である。
このプロトコルでは、待機幅の要件が再び緩和されているが、署名成分は、通信端末の短期及び長期の鍵を組み合わせて、侵入者からの攻撃を禁止している。
To implement the protocol, do the following:
1. A sends ra to B.
2. B sends rb to A.
3. A calculates s A = x + (r a *) · a mod (p−1).
4). A calculates the session key K = (α yb ) (rb *) ) sA mod p.
5). B calculates s B = y + (r b *) · b mod (p−1).
6). B calculates the session key K = (α xa ) (ra *) ) sB mod p.
7). The shared secret is α sA · sB mod p.
In this protocol, the waiting width requirement is relaxed again, but the signature component prohibits attacks from intruders by combining the short-term and long-term keys of the communication terminal.

このプロトコルは、また、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’’’として挙げてある。
This protocol can also be implemented using a subgroup of Z * p . In this case, q is a prime divisor of (p−1), and g is an element of order p in Z * p .
The public keys of A and B each have the form g a and g b , and the short-term keys r a and r b have the form g x and g y .
The signature components s A and s B are calculated with mod q, and the session key is calculated with mod q as before. In this case, the shared secret is g sA · sB mod p.
As already mentioned, these protocols can be implemented in groups other than Z * p . In particular, the robust group is a group of points on an elliptic curve on a finite field. Such an implementation is then listed as protocol 1 '''.

プロトコル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最下位ビットである。
Protocol 1 '''
Use the following symbols:
E is an elliptic curve defined on Fq.
P is a prime number point in E (Fq).
d a (1 <d a <n−1) is the long-term secret key of the party A.
d b (1 <d b <n−1) is the long-term secret key of party B.
Q a = d a P is party A's long-term public key.
Q b = d b P is party B's long-term public key.
r a = kP is party A's short-term public key.
k (1 <k <n−1) is the short-term secret key of the party A.
m (1 <m <n−1) is the short-term secret key of party B.
r b = mP is party B's short-term public key.
ra * and rb * is a bit string, for example, a 80 least significant bits of the x-coordinate of r a and r b.

このプロトコルを実現するには、次のようにする。
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である。
To implement this protocol, do the following:
1. A sends ra to B.
2. B sends rb to A.
3. A calculates s A = (k + (r a *) · d a ) mod n.
4). A calculates the session key K = s A (r b + (r b *) Q b ).
5). B calculates s B = (m + (r b *) d b ) mod n.
6). B calculates the session key K = s b (r a + (r a *) Q a ).
7). The shared secret is s a s b P.

再び、通信端末の間では署名成分s及びsを送る必要はないことに注意すべきである。しかし、通信端末の短期及び長期の鍵が成分の形式で組み合わされる。
先の例におけるx及びyに対して、記号mを用いているのは、曲線上の点の座標(x,y)との混乱を回避するためである。
Again, it should be noted that it is not necessary to send the signature components s A and s B between the communication terminals. However, the short and long term keys of the communication terminal are combined in the form of components.
The reason why the symbol m is used for x and y in the previous example is to avoid confusion with the coordinates (x, y) of the points on the curve.

Claims (72)

公開鍵暗号化を採用しているデータ通信システムにおいて、通信チャネル(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を構築するステップと
からなることを特徴とする方法。
In order to be able to exchange information between the first and second communication terminals (A and B) via a communication channel (14) in a data communication system employing public key encryption, A method for setting a key between a first and second communication terminal, wherein the first and second communication terminals respectively include a first and second secret keys a and b, a generation source α, and these secret keys. And first and second public keys p A and p B respectively derived from
i) In the first communication terminal (A), a first random integer x is selected, and by generating an exponential function with g (x) of the first function f (α) including the generator α as a power, Providing a first exponential function f (α) g (x) ;
ii) In the first communication terminal (A), in order to combine the first random integer x and the first secret key a, the first random integer x, the first exponential function f (α) g (x And generating a first signature s A from the first private key a and retaining the first signature;
iii) sending a message including the first exponential function f (α) g (x) from the first communication terminal (A) to the second communication terminal (B);
iv) In the second communication terminal (B), the second random integer y is selected, and the second random integer y and the second secret key b are combined, A second exponential function f ′ (α) g (y) is provided by generating an exponential function with power g (y) of the function f ′ (α) as a second random integer y, Generating a second signature s B from the exponential function f ′ (α) g (y) and the second secret key b, and holding the second signature;
v) sending a message including the second exponential function f ′ (α) g (y) from the second communication terminal (B) to the first communication terminal (A);
vi) In the first communication terminal (A), the session key K is constructed by indexing the information disclosed by the second communication terminal (B) using the secret information belonging to the first communication terminal. Then, in the second communication terminal (B), the session key K is constructed by indexing the information disclosed by the first communication terminal (A) using the secret information belonging to the second communication terminal. The method comprising the steps of:
請求項1記載の方法において、第1の通信端末(A)によって送られる情報は、該第1の通信端末の識別子を含み、第2の通信端末(B)によって送られる情報は、該第2の通信端末の識別子を含んでいることを特徴とする方法。 The method according to claim 1, wherein the information sent by the first communication terminal (A) includes an identifier of the first communication terminal, and the information sent by the second communication terminal (B) is the second communication terminal (B). Including an identifier of a communication terminal. 請求項1又は2記載の方法において、生成元αを含む第1の関数f(α)は、生成元α自体であり、生成元αを含む第2の関数f’(α)は、生成元α自体であることを特徴とする方法。 3. The method according to claim 1 or 2, wherein the first function f (α) including the generator α is the generator α itself, and the second function f ′ (α) including the generator α is the generator. A method characterized by α itself. 請求項1又は2記載の方法において、生成元αを含む第1関数f(α)は、第2の通信端末(B)の公開鍵pを含み、生成元αを含む第2の関数f’(α)は、第1の通信端末の公開鍵pを含むことを特徴とする方法。 3. The method according to claim 1, wherein the first function f (α) including the generator α includes the public key p B of the second communication terminal (B) and includes the generator α. '(Α) includes the public key p A of the first communication terminal. 請求項1〜3いずれかに記載の方法において、第1の署名sは、第1の指数関数f(α)g(x)から得られた整数r*を用いて生成され、第2の署名sは、第2の指数関数f’(α)g(y)から得られた整数r*を用いて生成されることを特徴とする方法。 The method according to any one of claims 1 to 3, the first signature s A is generated using the integer r a * obtained from the first exponential function f (α) g (x) , second The signature s B of is generated using an integer r b * obtained from the second exponential function f ′ (α) g (y) . 請求項5記載の方法において、第1の通信端末によって公開された情報は、第1の公開鍵P、第1の指数関数f(α)g(x)、及び整数r*を組合せ、第2の通信端末によって公開された情報は、第2の公開鍵P、第2の指数関数f’(α)g(y)、及び整数r*を組み合わせることを特徴とする方法。 The method of claim 5, wherein the information published by the first communication terminal, the first public key P A, the first exponential function f (α) g (x) , and an integer r a * combination, A method characterized in that the information published by the second communication terminal combines a second public key P B , a second exponential function f ′ (α) g (y) , and an integer r b *. 請求項6記載の方法において、生成元αは、pを素数とする乗法群Z の要素であることを特徴とする方法。 7. The method according to claim 6, wherein the generator α is an element of a multiplicative group Z * p having p as a prime number. 請求項5〜7いずれかに記載の方法において、第1の署名s及び第2の署名sは、
=x+r*aα mod (p−1)
=y+r*bα mod (p−1)
であることを特徴とする方法。
The method according to any one of claims 5 to 7, wherein the first signature s A and the second signature s B are:
s A = x + r a * aα a mod (p−1)
s B = y + r b * bα b mod (p−1)
A method characterized in that
請求項8記載の方法において、
第1の通信端末によって、セッション鍵Kが、K=(α(α(rb*)sA mod pとして計算され、
第2の通信端末によって、セッション鍵Kが、K=(α(α(ra*)sB mod pとして計算されることを特徴とする方法。
The method of claim 8, wherein
The first communication terminal calculates a session key K as K = (α yb ) (rb *) ) sA mod p,
A method characterized in that a session key K is calculated by the second communication terminal as K = (α xa ) (ra *) ) sB mod p.
請求項5〜9いずれかに記載の方法において、αは、qをp−1の素除数とした場合、群Z の位数qの部分群の生成元であることを特徴とする方法。 10. The method according to claim 5, wherein α is a generator of a subgroup of order q of group Z * p , where q is a prime divisor of p-1. . 請求項5又は6記載の方法において、生成元αは、有限体F上で定義される楕円曲線上の位数nの点Pであり、該楕円曲線上のスカラ乗算によって、累乗が実行されることを特徴とする方法。 7. The method according to claim 5, wherein the generator α is a point P of order n on the elliptic curve defined on the finite field F q , and a power is executed by scalar multiplication on the elliptic curve. A method characterized by that. 請求項11記載の方法において、整数r*及び整数r*は、第1及び第2の指数関数の座標のビット・ストリングスであることを特徴とする方法。 12. The method of claim 11, wherein the integer r a * and the integer r b * are bit strings of the coordinates of the first and second exponential functions. 請求項11又は12記載の方法において、第1及び第2の署名s及びsは、
=(x+(r*)a) mod n
=(y+(r*)b) mod n
であることを特徴とする方法。
13. The method according to claim 11 or 12, wherein the first and second signatures s A and s B are:
s A = (x + (r a *) a) mod n
s B = (y + (r b *) b) mod n
A method characterized in that
請求項13記載の方法において、第2及び第1の通信端末において、セッション鍵Kはそれぞれ、
K=s(r+(r*)P
K=s(r+(r*)P
によって計算されることを特徴とする方法。
14. The method according to claim 13, wherein in each of the second and first communication terminals, the session key K is
K = s A (r b + (r b *) P B )
K = s b (r a + (r a *) P A )
A method characterized by being calculated by:
請求項1〜3いずれかに記載の方法において、第1及び第2の署名s及びsは、
=x+raα mod (p−1)
=y+rbα mod (p−1)
であることを特徴とする方法。
4. The method according to claim 1, wherein the first and second signatures s A and s B are:
s A = x + r Aa mod (p−1)
s B = y + r Bb mod (p−1)
A method characterized in that
請求項4記載の方法において、第1及び第2の署名s及びsは、
=x+a(p mod (p−1)
=y+b(p mod (p−1)
であることを特徴とする方法。
5. The method of claim 4, wherein the first and second signatures s A and s B are
s A = x + a (p B ) x mod (p−1)
s B = y + b (p A ) y mod (p−1)
A method characterized in that
通信チャネル(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を計算するステップと
からなることを特徴とする方法。
First and second communication terminals in a public key communication system in order to be able to exchange information between first and second communication terminals (A and B) via a communication channel (14) The first and second communication terminals are respectively derived from the first and second secret keys a and b, the generation source α, and these secret keys, respectively. First and second public keys p A and p B , the method comprising:
a) selecting a first random integer x at the first communication terminal and calculating a first value r A from the random integer x and the generator α;
b) In the first communication terminal, generating a first signature s A from the first random integer x, the first value r A and the first secret key a;
c) calculating a session key K from the first random integer x and public information belonging to the second communication terminal in the first communication terminal;
d) sending a message including the first value r A and the first signature s A from the first communication terminal toward the second communication terminal;
e) In the second communication terminal, the validity of the value calculated using the generator α, the first signature s A , the first value r A , and the public information belonging to the first communication terminal is verified. Steps,
f) In the second communication terminal, from the first value r A and the secret information belonging to the second communication terminal and related to the public information belonging to the second communication terminal, the session key Calculating K, the method comprising the steps of:
請求項17記載の方法において、第1の値rは、生成元を含む第1の関数f(α)を第1のランダム整数xをベキとするように指数化することによって計算されることを特徴とする方法。 The method of claim 17, the first value r A, being a first function f including origin a (alpha) calculated by indexing to a first random integer x and a power A method characterized by. 請求項18記載の方法において、第1の関数f(α)は生成元αそのものであることを特徴とする方法。 19. The method according to claim 18, wherein the first function f (α) is the generator α itself. 請求項17〜19いずれかに記載の方法において、第1の署名sは、
=x−raα mod (p−1)
であることを特徴とする方法。
The method according to any one of claims 17 to 19, the first signature s A,
s A = x−r Aa mod (p−1)
A method characterized in that
請求項17〜19いずれかに記載の方法において、第2の通信端末に属する公開情報は該通信端末の公開鍵pであり、第2の通信端末に属する秘密情報は該通信端末の秘密鍵bであり、第1の通信端末に属する公開情報は該通信端末の公開鍵pであることを特徴とする方法。 The method according to any one of claims 17 to 19, public information belonging to the second communication terminal is a public key p B of said communication terminal, the secret information belonging to the second communication terminal is the private key of the communication terminal b. The public information belonging to the first communication terminal is the public key p A of the communication terminal. 請求項21記載の方法において、第1の通信端末によって計算されたセッション鍵Kは、(pであることを特徴とする方法。 22. The method according to claim 21, wherein the session key K calculated by the first communication terminal is (p B ) x . 請求項21又は22記載の方法において、第2の通信端末によって有効性が検証される値は、αsA(prA・αaであることを特徴とする方法。 The method according to claim 21 or 22, wherein the value verified by the second communication terminal is α sA (p A ) rA · αa . 請求項23記載の方法において、第2の通信端末によって計算されたセッション鍵Kは、(rであることを特徴とする方法。 24. The method of claim 23, wherein the session key K calculated by the second communication terminal is (r A ) b . 請求項17〜24いずれかに記載の方法において、第2の通信端末が、第1の通信端末にランダム・ビット・ストリングkを送るステップを備えており、このステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。 25. A method according to any of claims 17 to 24, comprising the step of the second communication terminal sending a random bit string k to the first communication terminal, the step comprising: A method which is performed before encrypting a message with a bit string k exclusive-ORed with a key K and setting a short-lived key (k + K) for encrypting the message. 公開鍵データ通信システムにおいて、第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’を計算するステップと
からなることを特徴とする方法。
In a public key data communication system, a session key is conveyed between first and second communication terminals, and a common key for communicating information between the communication terminals via a communication channel is set. The first and second communication terminals respectively have first and second secret keys a and b, a generator α and first and second public keys p A and p B derived from the secret keys, respectively. And the method comprises:
i) The first random integer x is selected in the first communication terminal, and the first function f (α) including the generator α is generated by generating an exponential function with g (x) as power Providing an exponential function f (α) g (x) ;
ii) In order to combine the first random integer x and the first secret key a at the first communication terminal, the first random integer x, the first exponential function f (α) g (x) , Generating a first signature s A from the first secret key a and holding the first signature as a secret signature belonging to the first communication terminal;
iii) sending a message including the first exponential function f (α) g (x) from the first communication terminal toward the second communication terminal;
iv) calculating a first session key K from the second public key p B and the first signature s A at the first communication terminal;
v) In the second communication terminal, using the public key p A of the first communication terminal and the information in the message, calculating a second session key K ′ corresponding to the first session key K A method characterized by comprising:
請求項26記載の方法において、第2の通信端末は、第1の指数関数f(α)g(x)と第2の通信端末の秘密鍵bとを組み合わせることにより、第2のセッション鍵K’を生成することを特徴とする方法。 27. The method according to claim 26, wherein the second communication terminal combines the first exponential function f (α) g (x) and the second communication terminal's private key b to obtain the second session key K. A method characterized by generating '. 請求項26又は27記載の方法において、第1の通信端末は、第2の通信端末の第2の公開鍵pの関数を第1の署名sの関数で指数化することにより、セッション鍵Kを計算することを特徴とする方法。 According to claim 26 or 27 method wherein the first communication terminal, by indexing the second function of the public key p B of the second communication terminal a function of the first signature s A, a session key A method characterized by calculating K. 請求項26〜28いずれかに記載の方法において、第1の通信端末の第1の署名sは、x−raα mod (p−1)であり、第2のセッション鍵K’は、K’=(r(p−rA・pAであることを特徴とする方法。 The method according to any one of claims 26 to 28, the first signature s A of the first communication terminal is a x-r A aα a mod ( p-1), the second session key K 'is , K ′ = (r A (p A ) −rA · pA ) b . 通信チャネル(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を含むメッセージを送るステップと
からなることを特徴とする方法。
A session key between the first and second communication terminals in a public key communication system in order to be able to exchange information between the first and second communication terminals via a communication channel (14). The first and second communication terminals are respectively the first and second secret keys a and b, the generator α, and the secret keys derived from the secret keys, respectively. Two public keys p A and p B , the method comprising:
a) selecting a first random integer x at the first communication terminal and calculating a first value r A from the random integer x and the generator α;
b) In the first communication terminal, a first signature s A is generated from the first random integer x, the first value r A and the first secret key a, and the first random integer and Combining the first secret key a;
c) calculating a session key K that can be calculated by the second communication terminal from the first random integer x and the public information belonging to the second communication terminal in the first communication terminal;
d) sending a message including the first value r A and the first signature s A from the first communication terminal towards the second communication terminal.
請求項30記載の方法において、第1の通信端末が、第2の通信端末からランダム・ビット・ストリングkを受信するステップを備え、該ステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。 31. The method of claim 30, comprising the step of the first communication terminal receiving a random bit string k from the second communication terminal, the step comprising exclusive logic with the session key K and the session key K. A method which is performed before encrypting a message with a summed bit string k and setting a short-lived key (k + K) for encrypting the message. 通信チャネル(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の通信端末においても計算可能である、ステップと
からなることを特徴とする方法。
A session key between the first and second communication terminals in a public key communication system in order to be able to exchange information between the first and second communication terminals via a communication channel (14). The first and second communication terminals are respectively the first and second secret keys a and b, the generator α, and the secret keys derived from the secret keys, respectively. Two public keys p A and p B , the method comprising:
a) In the second communication terminal, a step of receiving a first value r A and a first signature s A from the first communication terminal, wherein the first value r A is the first communication At the terminal, it is calculated from the first random integer x and the generator α, and the first signature s A is obtained at the first communication terminal by the first random integer x, the first value r A , A step generated from one private key a;
b) In the second communication terminal, the value generated using the generation source, the first signature s A , the first value r A , and the public key belonging to the first communication terminal is the first communication terminal. Determining whether it is equal to a first value r A received from:
c) calculating a session key K from the secret information belonging to the communication terminal and the first value r A in the second communication terminal, the secret information belonging to the communication terminal belonging to the communication terminal A method comprising the steps of relating to public information, wherein the session key K is also calculable at the first communication terminal.
請求項32記載の方法において、第2の通信端末が、第1の通信端末にランダム・ビット・ストリングkを送信するステップを備え、該ステップは、セッション鍵Kと該セッション鍵Kで排他的論理和されたビット・ストリングkとでメッセージを暗号化して、メッセージを暗号化するための短命鍵(k+K)を設定する前に、実行されることを特徴とする方法。 33. The method of claim 32, comprising the step of the second communication terminal transmitting a random bit string k to the first communication terminal, the step comprising exclusive logic with the session key K and the session key K. A method which is performed before encrypting a message with a summed bit string k and setting a short-lived key (k + K) for encrypting the message. 請求項30〜33いずれかに記載の方法において、第1の値rは、生成元αを含む関数f(α)を第1のランダム整数xをベキとする指数関数とすることにより計算されることを特徴とする方法。 The method according to any one of claims 30 to 33, the first value r A, is a function f (alpha) containing the origin alpha calculated by an exponential function to a power of the first random integer x A method characterized by that. 請求項34記載の方法において、生成元αを含む関数f(α)は、生成元αそのものであることを特徴とする方法。 35. The method according to claim 34, wherein the function f (α) including the generator α is the generator α itself. 請求項30〜35いずれかに記載の方法において、第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。 36. The method according to any one of claims 30 to 35, wherein the first signature s A is xr Aa mod (p−1). 請求項32〜36いずれかに記載の方法において、第2の通信端末に属する公開情報は、第2の公開鍵pであり、第1の通信端末に属する公開情報は、第1の公開鍵pであり、第2の通信端末に属する秘密情報は、第2の秘密鍵bであることを特徴とする方法。 The method according to any one of claims 32 to 36, public information belonging to the second communication terminal is the second public key p B, public information belonging to the first communication terminal, a first public key p A and the secret information belonging to the second communication terminal is the second secret key b. 請求項32、33又は37記載の方法において、第2の通信端末によって生成され判定された値は、αsA(prA・αaであることを特徴とする方法。 According to claim 32, 33 or 37 the method described, the values that were generated determined by the second telecommunication terminal, a method which is a α sA (p A) rA · αa. 請求項38記載の方法において、第2の通信端末によって計算されたセッション鍵Kは、(rであることを特徴とする方法。 39. The method of claim 38, wherein the session key K calculated by the second communication terminal is (r B ) b . 公開鍵データ通信システムにおいて、第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とメッセージ中の情報とを用いて計算可能である、ステップと
からなることを特徴とする方法。
In a public key data communication system, a session key is conveyed between first and second communication terminals, and a common key for communicating information between the communication terminals via a communication channel is set. The first and second communication terminals respectively have first and second secret keys a and b, a generator α and first and second public keys p A and p B derived from the secret keys, respectively. And the method comprises:
i) In the first communication terminal, the first random integer x is selected, and the first function f (α) including the generator α is generated by generating an exponential function with g (x) as a power. Providing an exponential function f (α) g (x) of:
ii) In the first communication terminal, in order to combine the first random integer x and the first secret key a, the first random integer x, the first exponential function f (α) g (x) , and Generating a first signature s A from a first secret key a and holding the first signature as a secret signature belonging to the first communication terminal;
iii) sending a message including the first exponential function f (α) g (x) from the first communication terminal toward the second communication terminal;
iv) calculating a session key K from the second public key p B and the first signature s A in the first communication terminal, the session key K being also in the second communication terminal A method comprising steps that can be calculated using the first public key pA and the information in the message.
請求項40記載の方法において、第1の通信端末は、セッション鍵Kを、第2の公開鍵pの関数を第1の署名sで指数化することにより計算することを特徴とする方法。 The method of claim 40, wherein, the first communication terminal, wherein the calculating by the session key K, to indexed a function of a second public key p B in the first signature s A . 請求項40又は41記載の方法において、第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。 According to claim 40 or 41 method described, the first signature s A, wherein the a x-r A aα a mod ( p-1). 公開鍵データ通信システムにおいて、第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を用いて計算可能である、ステップと
からなることを特徴とする方法。
In a public key data communication system, a session key is conveyed between first and second communication terminals, and a common key for communicating information between the communication terminals via a communication channel is set. The first and second communication terminals respectively have first and second secret keys a and b, a generator α and first and second public keys p A and p B derived from the secret keys, respectively. And the method comprises:
In i) a second communications terminal from the first communication terminal, comprising: receiving a message containing a first value r A, the first value r A, in the first communication terminal, A step calculated from the first random integer x and the generator α,
ii) In the second communication terminal, a step of calculating a session key K from the first value r A , the first public key p A , and secret information belonging to the communication terminal, the secret belonging to the communication terminal The information relates to public information belonging to the communication terminal, and the session key includes steps that can be calculated using the second public key p B even in the first communication terminal. And how to.
請求項43記載の方法において、第2の通信端末に属する秘密情報は、第2の秘密鍵bであり、第2の通信端末に属する公開情報は、第2の公開情報pであることを特徴とする方法。 The method of claim 43, the secret information belonging to the second communication terminal is the second private key b, and that the public information belonging to the second communication terminal is the second public information p B Feature method. 請求項43又は44記載の方法において、第2の通信端末は、セッション鍵Kを、K=(r(p−rA・pAによって計算することを特徴とする方法。 The method of claim 43 or 44, wherein the second communication terminal, wherein the calculating a session key K, by K = (r A (p A ) -rA · pA) b. 公開鍵暗号化を採用しているデータ通信システムにおいて、第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の通信端末に属する秘密情報で指数化することにより計算可能である、ステップと
からなることを特徴とする方法。
In a data communication system adopting public key encryption, a common key for carrying a key between the first and second communication terminals and communicating information between the communication terminals via a communication channel is provided. The first and second communication terminals are respectively a first and second secret keys a and b, a generator α and first and second public keys derived from these secret keys, respectively. Keys p A and p B , the method comprising:
i) In the first communication terminal, the first random integer x is selected, and the first function f (α) including the generator α is generated by generating an exponential function with g (x) as a power. Providing an exponential function f (α) g (x) of:
ii) In the first communication terminal, in order to combine the first random integer x and the first secret key a, the first random integer x, the first exponential function f (α) g (x) , and Generating a first signature s A from a first private key a;
iii) In the first communication terminal, transmitting the first exponential function f (α) g (x) to the second communication terminal;
iv) In the first communication terminal, receiving the information including the second exponential function f ′ (α) g (y) from the second communication terminal, the second exponential function f ′ (Α) g (y) is an exponential function in which the second random integer y is selected in the second communication terminal, and g (y) of the function f ′ (α) including the generator α is a power. A step that is generated by
v) In the first communication terminal, constructing a session key K by indexing information published by the second communication terminal with secret information belonging to the first communication terminal, The session key K constructed by the communication terminal can be calculated by indexing the information disclosed by the first communication terminal with the secret information belonging to the second communication terminal even in the second communication terminal. A method comprising the steps of:
請求項46記載の方法において、第1の通信端末から送信されるメッセージは、該通信端末の識別子を含んでおり、第2の通信端末から受信されるメッセージは、該通信端末の識別子を含んでいることを特徴とする方法。 48. The method of claim 46, wherein the message transmitted from the first communication terminal includes an identifier of the communication terminal, and the message received from the second communication terminal includes an identifier of the communication terminal. A method characterized by being. 請求項46又は47記載の方法において、生成元を含んでいる関数f(α)は、生成元αそのものであることを特徴とする方法。 48. A method according to claim 46 or 47, wherein the function f (α) containing the generator is the generator α itself. 請求項46又は47記載の方法において、生成元を含んでいる関数f(α)は、第2の公開鍵pを含んでいることを特徴とする方法。 According to claim 46 or 47 method wherein, function f containing the origin (alpha), a method characterized in that it contains a second public key p B. 請求項46、47又は48記載の方法において、第1の通信端末の第1の署名sは、x−raα mod (p−1)であることを特徴とする方法。 According to claim 46, 47 or 48 the method described, the first signature s A of the first communication terminal, wherein the a x-r A aα a mod ( p-1). 請求項46、47又は49記載の方法において、第1の通信端末の第1の署名sは、x+aα(p mod (p−1)であることを特徴とする方法。 According to claim 46, 47 or 49 the method described, the first signature s A of the first communication terminal, wherein the a x + aα a (p B) x mod (p-1). 請求項46〜48いずれかに記載の方法において、第1の通信端末の第1の署名sは、xrx1−(rrx1aα mod (p−1)であり、xは、第1の通信端末によって選択された第2のランダム整数であり、rx1=αx1であることを特徴とする方法。 49. The method according to any one of claims 46 to 48, wherein the first signature s A of the first communication terminal is xr x1 − (r A ) rx1a mod (p−1), where x 1 is A second random integer selected by the first communication terminal, wherein r x1 = α x1 . 請求項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の排他的論理和によって生成されることを特徴とする方法。 The method according to any one of claims 46 to 49, in the first communication terminal, selects a third random integer x 1 of the second communication terminal, transmits a r A1 = α x1 becomes r A1, The first communication terminal receives r B1 such that r B1 = α y1 from the second communication terminal, where y 1 is a fourth random integer selected by the second communication terminal, A method wherein the communication terminal calculates a pair of keys k 1 and k 2 equal to α xy and α x1 · y1 , respectively, and the session key is generated by exclusive OR of k 1 and k 2 . 請求項46〜53いずれかに記載の方法において、第1の通信端末によって受信されたメッセージは、第2の通信端末によって生成された署名sを含んでいることを特徴とする方法。 The method according to any one of claims 46 to 53, the message received by the first communication terminal, a method characterized in that it contains a signature s B generated by the second communication terminal. 請求項54記載の方法において、該方法はさらに、第1の通信端末において、第2の署名s及び第2の指数関数f’(α)g(y)から該第2の指数関数f’(α)g(y)に等しい値を計算し、該計算された値を第2の指数関数f’(α)g(y)と対比することによって、第2の通信端末から受信したメッセージの完全性(インテグリティ)の有効性を評価することにより、セッション鍵を正規なものとして認証するステップを含んでいることを特徴とする方法。 55. The method of claim 54, further comprising, at a first communication terminal, from a second signature s B and a second exponential function f ′ (α) g (y) to the second exponential function f ′. (Α) By calculating a value equal to g (y) and comparing the calculated value with the second exponential function f ′ (α) g (y) , the message received from the second communication terminal A method comprising authenticating a session key as authentic by evaluating the validity of integrity. 請求項46〜49いずれかに記載の方法において、第1の署名sは、第1の指数関数f(α)g(x)から得られた整数r*を用いて生成されることを特徴とする方法。 The method according to any one of claims 46 to 49, the first signature s A, that is generated using the integer r a * obtained from the first exponential function f (α) g (x) Feature method. 請求項56記載の方法において、第2の通信端末によって公開された情報は、第2の公開鍵p、第1の指数関数f(α)g(x)、第2の通信端末の整数r*を組み合わせたものであることを特徴とする方法。 57. The method according to claim 56, wherein the information disclosed by the second communication terminal includes a second public key p B , a first exponential function f (α) g (x) , an integer r of the second communication terminal. A method characterized by combining b *. 請求項57記載の方法において、生成元αは、乗法群Z (pは素数)の要素であることを特徴とする方法。 7. The method of claim 57, wherein, the originator alpha, (the p to prime) multiplicative group Z p *, characterized in that an element of. 請求項56〜58いずれかに記載の方法において、第1の署名sは、s=x+(r*)a mod (n−1)であることを特徴とする方法。 The method according to any one of claims 56 to 58, the first signature s A, a method which is a s A = x + (r a *) a mod (n-1). 請求項59記載の方法において、セッション鍵Kは、K=(α(αrb*sA mod pであることを特徴とする方法。 60. The method of claim 59, wherein the session key K is K = ([alpha] y ([alpha] b ) rb * ) sA mod p. 請求項56〜60いずれかに記載の方法において、生成元αは、pを素数とする乗法群Z の位数q(qは素除数)の部分群の要素であることを特徴とする方法。 The method according to any one of claims 56 to 60, the origin alpha, (the q-containing divisor) multiplicative group Z p * of order q of a prime number p-characterized in that it is a component of a subgroup of Method. 請求項56又は57記載の方法において、生成元αは、有限体Fq上で定義される楕円曲線上の位数nの点Pであり、該楕円曲線上のスカラ乗算によって、累乗が実行されることを特徴とする方法。 58. The method according to claim 56 or 57, wherein the generator α is a point P of order n on an elliptic curve defined on a finite field Fq, and a power is executed by scalar multiplication on the elliptic curve. A method characterized by that. 請求項62記載の方法において、整数r*は、第1の指数関数f(α)g(x)の座標のビット・ストリングスであることを特徴とする方法。 63. The method of claim 62, wherein the integer r a * is a bit string of coordinates of the first exponential function f (α) g (x) . 請求項62又は63記載の方法において、第1の署名sは、
=(x+(r*)a) mod n
であることを特徴とする方法。
The method of claim 62 or 63, wherein, the first signature s A,
s A = (x + (r a *) a) mod n
A method characterized in that
請求項64記載の方法において、第1の通信端末において、セッション鍵Kは、
K=s(r+(r*)P
によって計算されることを特徴とする方法。
65. The method of claim 64, wherein the session key K at the first communication terminal is:
K = s b (r a + (r a *) P a )
A method characterized by being calculated by:
請求項46〜48いずれかに記載の方法において、第1の通信端末が、第1の署名sを自身に属する秘密のものとして保持することを特徴とする方法。 The method according to any one of claims 46 to 48, the first communication terminal, wherein the holding as a secret belonging to the first signature s A to itself. 請求項66記載の方法において、第1の署名sは、
=x+raα mod (p−1)
であることを特徴とする方法。
The method of claim 66, the first signature s A,
s A = x + r Aa mod (p−1)
A method characterized in that
請求項66記載の方法において、第1の署名sは、
=x+a(p mod (p−1)
であることを特徴とする方法。
The method of claim 66, the first signature s A,
s A = x + a (p B ) x mod (p−1)
A method characterized in that
請求項66記載の方法において、第1の署名sは、s=xr+aα
であることを特徴とする方法。
The method of claim 66, the first signature s A, s A = xr A + aα a
A method characterized in that
請求項66記載の方法において、第1の署名sは、s=xα+arであることを特徴とする方法。 68. The method of claim 66, wherein the first signature s A is s A = xα a + ar A. 請求項1〜70いずれかに記載の方法を実行することを特徴とするシステム。 A system for performing the method according to any one of claims 1 to 70. コンピュータにより読み取り可能な記憶媒体であって、請求項1〜70いずれかに記載の方法を実行するためのプログラムを記憶したことを特徴とする記憶媒体。 A computer-readable storage medium storing a program for executing the method according to any one of claims 1 to 70.
JP2009193282A 2009-08-24 2009-08-24 Key agreement and carrier method using implicit signing Withdrawn JP2010011478A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193282A JP2010011478A (en) 2009-08-24 2009-08-24 Key agreement and carrier method using implicit signing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193282A JP2010011478A (en) 2009-08-24 2009-08-24 Key agreement and carrier method using implicit signing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP51929898A Division JP4384728B2 (en) 1995-04-21 1996-10-18 Key agreement and transport protocols using intrinsic signatures

Publications (1)

Publication Number Publication Date
JP2010011478A true JP2010011478A (en) 2010-01-14

Family

ID=41591307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193282A Withdrawn JP2010011478A (en) 2009-08-24 2009-08-24 Key agreement and carrier method using implicit signing

Country Status (1)

Country Link
JP (1) JP2010011478A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110495134A (en) * 2017-03-27 2019-11-22 黑莓有限公司 For the method and system for the graceful safe prime number of selection of finite field diffie-hellman

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110495134A (en) * 2017-03-27 2019-11-22 黑莓有限公司 For the method and system for the graceful safe prime number of selection of finite field diffie-hellman
CN110495134B (en) * 2017-03-27 2023-08-25 黑莓有限公司 Method and system for selecting a secure prime number for finite field diffie-hellman

Similar Documents

Publication Publication Date Title
JP4384728B2 (en) Key agreement and transport protocols using intrinsic signatures
US5889865A (en) Key agreement and transport protocol with implicit signatures
EP0739105B1 (en) Method for signature and session key generation
JP3560439B2 (en) Device for performing encryption key recovery
US9106410B2 (en) Identity based authenticated key agreement protocol
US5907618A (en) Method and apparatus for verifiably providing key recovery information in a cryptographic system
US6487661B2 (en) Key agreement and transport protocol
JP5171991B2 (en) Key agreement and transport protocol
US6785813B1 (en) Key agreement and transport protocol with implicit signatures
US5796833A (en) Public key sterilization
US7716482B2 (en) Conference session key distribution method in an ID-based cryptographic system
JP2003298568A (en) Authenticated identification-based cryptosystem with no key escrow
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
JP2010011478A (en) Key agreement and carrier method using implicit signing
EP2315390B1 (en) Key agreement and transport protocol with implicit signatures
Chen et al. A Novel Hybrid Encryption Scheme Using RSA-Co-CP-ABE for Ciphertext Transmission in Cloud Environment
Yang et al. Cryptanalysis of an Enhanced Authentication Key Exchange Protocol
Ganjewar Diffie Hellman Key Exchange

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120307

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120606

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120611

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120622