JP6594348B2 - 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム - Google Patents

鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム Download PDF

Info

Publication number
JP6594348B2
JP6594348B2 JP2016569359A JP2016569359A JP6594348B2 JP 6594348 B2 JP6594348 B2 JP 6594348B2 JP 2016569359 A JP2016569359 A JP 2016569359A JP 2016569359 A JP2016569359 A JP 2016569359A JP 6594348 B2 JP6594348 B2 JP 6594348B2
Authority
JP
Japan
Prior art keywords
terminal device
public key
key
random number
randomized
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.)
Active
Application number
JP2016569359A
Other languages
English (en)
Other versions
JPWO2016114259A1 (ja
Inventor
彰 永井
恆和 齋藤
鉄太郎 小林
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2016114259A1 publication Critical patent/JPWO2016114259A1/ja
Application granted granted Critical
Publication of JP6594348B2 publication Critical patent/JP6594348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、情報セキュリティ分野の応用技術に関し、特にクラウド鍵管理型の鍵交換技術に関する。
特許文献1には、代理計算技術が記載されている。代理計算とは、別装置に何らかの計算を委託することである。よく知られる代理計算としては、復号機能を備えた装置に暗号文の復号を依頼し、平文を得るというものである。例えば、クライアントが平文mを公開鍵yで暗号化した暗号文Cを保持しており、鍵装置が公開鍵yに対する秘密鍵sを保持しているとする。クライアントは暗号文Cを鍵装置に送信し、鍵装置は公開鍵yに対応する秘密鍵sで暗号文Cを復号して平文mを得、クライアントへ返信する。代理計算によって、(1)クライアントが所持すべき計算能力と機能の不足、(2)クライアントが機能を実行するために必要な秘密情報の漏洩(例えば、代理計算を用いない通常の構成では、秘密鍵をクライアント自身が管理する必要があり、クライアントから秘密鍵が漏洩する恐れがある。)、(3)クライアントが所有する装置の紛失や盗難による不正利用(例えば、鍵装置が秘密鍵を失効させることでクライアントの復号機能を停止させ、不正利用を防止することができる。)、などの課題を解決することができる。
非特許文献1、2には、鍵交換技術が記載されている。鍵交換とは、公開された通信路を使って2台のクライアントが安全に鍵を交換(共有)するための方式である。具体的な鍵交換の例は、DHM(Diffie-Hellman-Merkle)鍵交換方式がある。一般的に、暗復号を用いて鍵交換を行うことは可能であるが、暗復号では秘密鍵を用いるため、鍵管理が必要となる。一方、DHM鍵交換方式では乱数を用いるため、鍵管理が不要となり安全性が向上する。また、鍵の共有相手を認証しながら鍵交換を行う方式として、デジタル署名を用いた認証鍵交換、MQV(Menezes-Qu-Vanstone)認証鍵交換、HMQV(Hashed MQV)認証鍵交換(以上、非特許文献1参照)、およびFSU認証鍵交換(非特許文献2参照)、などが挙げられる。
特許文献2には、自己訂正技術が記載されている。自己訂正とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて、常に正しい計算を行う技術である。より詳しくは、正しい計算結果を出力する計算機を用いた場合には正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合には正しい計算結果、もしくは計算できない旨の結果を出力する技術である。
特許第5161177号公報 特許第5506704号公報
岡本龍明、「鍵交換:現代暗号の誕生とその発展」、電気情報通信学会、Fundamentals Review、vol. 1、no. 4、pp. 70-76、2007年 Atsushi Fujioka, Koutarou Suzuki, Berkant Ustaoglu, "Ephemeral Key Leakage Resilient and Efficient ID-AKEs That Can Share Identities,Private and Master Keys", Pairing 2010, Lecture Notes in Computer Science, vol. 6487, pp. 187-205, 2010.
代理計算を用いて鍵交換を行う場合、以下の課題がある。
(1)共有鍵が漏洩する問題がある。例えば、クライアントu1とクライアントu2が鍵装置(代理計算装置)を利用して代理計算による鍵交換を行う場合、鍵装置はクライアントのみが知るべきである共有鍵を取得でき、クライアント間の暗号通信を解読できてしまう。具体的には、クライアントu1はクライアントu2の公開鍵をそのまま鍵装置へ送信するため、鍵装置はクライアントu1とクライアントu2が鍵交換を行おうとしていることを知ることができる。すると、鍵装置はクライアントu1の秘密鍵と、公開もしくは送信されたクライアントu2の公開鍵とを用いて共有鍵を計算できてしまう。
(2)鍵装置の処理正当性の問題がある。秘密鍵を所持する鍵装置が、バグや故障等により正しい処理を行えない場合に、クライアントは鍵装置が正しい処理を行ったのかを検証できない。
(3)鍵装置の正当性の問題がある。誤った鍵装置に代理計算を依頼した場合に、クライアントは誤った鍵装置の処理結果であることを検出できない。
この発明の目的は、このような点に鑑みて、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる鍵交換技術を提供することである。
上記の課題を解決するために、この発明の鍵交換方法は、s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、鍵装置の記憶部に、端末装置の秘密鍵が記憶されており、端末装置が、乱数s1, s2, s'1, s'2を生成する乱数生成ステップと、端末装置が、乱数s1を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、乱数s2を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化ステップと、鍵装置が、秘密鍵を用いて第一乱数化公開鍵情報から第一委託結果を算出し、秘密鍵を用いて第二乱数化公開鍵情報から第二委託結果を算出する代理計算ステップと、端末装置が、乱数s2を用いて第一委託結果から第一検証値を算出し、乱数s1を用いて第二委託結果から第二検証値を算出し、第一検証値と第二検証値とが一致するか否かを検証する検証ステップと、端末装置が、第一検証値と第二検証値とが一致する場合に、乱数s'1, s'2を用いて第一委託結果および第二委託結果から共有鍵を算出する共有鍵計算ステップと、を含む。
端末装置から鍵装置へ送信される公開鍵が乱数化されているため、鍵装置は計算を依頼してきた端末装置が他のどの端末装置と鍵交換を行うのかを特定できない。また、端末装置は他の端末装置の公開鍵を乱数化して代理計算を委託するため、鍵装置は共有鍵を計算することができない。
また、端末装置は自分の公開鍵と相手方の乱数化した公開鍵を鍵装置へ送信し、鍵装置は両方について処理結果を返信するため、正しい鍵装置が選択されていない場合や鍵装置が正しく処理をしていない場合は、委託した結果として得られる二つの鍵交換に必要な値に誤差が生じる。端末装置はその誤差の有無を確認することで、正しい鍵装置であることと正しく処理されていることを確認することができる。
したがって、この発明の鍵交換技術によれば、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる。
図1は、第一実施形態の鍵交換システムの機能構成を例示する図である。 図2Aは、端末装置の機能構成を例示する図である。図2Bは、鍵装置の機能構成を例示する図である。 図3は、第一実施形態の鍵交換方法の処理フローを例示する図である。 図4は、第二実施形態の鍵交換方法の処理フローを例示する図である。 図5は、第三実施形態の鍵交換方法の処理フローを例示する図である。 図6は、第四実施形態の鍵交換方法の処理フローを例示する図である。 図7は、第五実施形態の鍵交換システムの機能構成を例示する図である。 図8は、第五実施形態の鍵交換方法の処理フローを例示する図である。 図9は、第六実施形態の鍵交換システムの機能構成を例示する図である。 図10は、第六実施形態の鍵交換方法の処理フローを例示する図である。 図11は、第七実施形態の鍵交換システムの機能構成を例示する図である。 図12は、第七実施形態の鍵交換方法の処理フローを例示する図である。 図13は、第七実施形態の鍵交換方法の処理フローを例示する図である。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[自己訂正を用いた代理計算]
自己訂正を用いた代理計算、特に群準同型の代理計算について説明する。二つの群G, Hと、その間の準同型写像をF: G→Hとする。このとき、GとHに定義される二項演算はともに乗法としても一般性を失わない。クライアント端末Uがg∈Gを秘匿化して代理計算装置Pに送信し、F(g)の計算を委託する手法を以下に述べる。
(1)クライアント端末Uは単位元でない適当な元g0∈Gに対してF(g0)を計算する。
(2)クライアント端末Uはランダムな整数s1, s2∈Zを互いに素になるようにとり、s'1とs'2をs1s'1+s2s'2=1を満足するように定める。
(3)クライアント端末Uは任意の単位元でない元g1, g2∈Gを定め、代理計算装置Pへ二つのペア(g1 -1, g1gs1), (g2 -1, g2gs2)を送信する。
(4)代理計算装置Pはζ1=F(g1 -1)F(g1gs1), ζ2=F(g2 -1)F(g2gs2)を計算し、クライアント端末Uへ送信する。
(5)クライアント端末Uはζ1 s22 s1を確認する。正しくなければ(1)に戻る。正しければ、ζ1 s'1ζ2 s'2=F(gs1s'1+s2s'2)=F(g)を計算する。
[第一実施形態]
第一実施形態は、自己訂正を用いたDHM鍵交換方式である。
本形態の鍵交換システムは、例えば、図1に示すように、共有鍵の交換を行う2台の端末装置11, 12と各端末装置に対応する2台の鍵装置21, 22とを含む。本形態では2台の端末装置1が鍵交換を行う例を説明するが、鍵交換システムに含まれる端末装置1および鍵装置2の数に制限はない。各端末装置1および各鍵装置2は通信網9を介して相互に通信可能に接続される。通信網9は、例えば、インターネットやWAN(Wide Area Network)、LAN(Local Area Network)、専用線、公衆交換電話網、携帯電話通信網などで構成することができる。
端末装置1は、例えば、図2Aに示すように、記憶部10、公開鍵受信部11、乱数生成部12、公開鍵乱数化部13、検証部14、および共有鍵計算部15を含む。
鍵装置2は、例えば、図2Bに示すように、記憶部20および代理計算部21を含む。
端末装置1および鍵装置2は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。端末装置1および鍵装置2は、例えば、中央演算処理装置の制御のもとで各処理を実行する。端末装置1および鍵装置2に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、端末装置1および鍵装置2の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
以下、図3を参照して、本形態の鍵交換方法の処理手続きを説明する。図3では、端末装置11および鍵装置21の処理のみを示すが、端末装置12および鍵装置22についても同様の処理を行う。
以下では、gを位数が素数pである群Gの要素とし、Zpを位数pの剰余環とし、x, y∈Zpとする。
鍵装置21の記憶部20には、端末装置11の秘密鍵xが記憶されている。端末装置11の記憶部10には、端末装置11の公開鍵gxが記憶されている。同様に、鍵装置22の記憶部20には、端末装置12の秘密鍵yが記憶されている。端末装置12の記憶部10には、端末装置12の公開鍵gyが記憶されている。
ステップS11において、端末装置12の公開鍵受信部11は、端末装置12の公開鍵gyを端末装置11へ送信する。端末装置11の公開鍵受信部11は、公開鍵gyを端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、端末装置11の公開鍵gxを端末装置12へ送信する。端末装置12の公開鍵受信部11は、公開鍵gxを端末装置11より受信する。
ステップS12において、端末装置11の乱数生成部12は、乱数s1, s2, s'1, s'2, r1, r2を生成する。ここで、s1, s2は互いに素であり、s1s'1+s2s'2=1を満たすものとする。r1, r2は任意の数でよい。同様に、端末装置12の乱数生成部12は、s3, s4, s'3, s'4, r3, r4を生成する。ここで、s3, s4は互いに素であり、s3s'3+s4s'4=1を満たすものとする。r3, r4は任意の数でよい。
ステップS13において、端末装置11の公開鍵乱数化部13は、式(1)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s1, r1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(2)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s2, r2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gxを-r1乗してg-r1xを計算する。gyをs1乗してgs1yを計算する。gをr1乗してgr1を計算する。gs1yとgr1とを掛け合わせて、gs1y+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
同様に、端末装置12の公開鍵乱数化部13は、式(3)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s3, r3を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(4)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s4, r4を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21において、鍵装置21の代理計算部21は、式(5)により、秘密鍵xを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z1(以下、第一委託結果と呼ぶ。)を算出する。また、式(6)により、秘密鍵xを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置11へ送信する。
Figure 0006594348
第一委託結果Z1は、具体的には以下のようにして計算することができる。gs1y+r1をx乗してg(s1y+r1)xを計算する。g-r1xとg(s1y+r1)xとを掛け合わせて、g-r1xg(s1y+r1)xを計算する。第二委託結果Z2も同様にして計算することができる。
同様に、鍵装置22の代理計算部21は、式(7)により、秘密鍵yを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z3(以下、第一委託結果と呼ぶ。)を算出する。また、式(8)により、秘密鍵yを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z4(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置12へ送信する。
Figure 0006594348
ステップS14において、端末装置11の検証部14は、式(9)により、第一委託結果Z1をs2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果Z2をs1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(10)により、第一委託結果Z3をs4乗した値(以下、第一検証値と呼ぶ。)と第二委託結果Z4をs3乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS15へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12へ処理を戻す。
Figure 0006594348
ステップS15において、端末装置11の共有鍵計算部15は、式(11)により、乱数s'1, s'2を用いて第一委託結果Z1および第二委託結果Z2から共有鍵Kを算出する。同様に、端末装置12の共有鍵計算部15は、式(12)により、乱数s'3, s'4を用いて第一委託結果Z3および第二委託結果Z4から共有鍵Kを算出する。
Figure 0006594348
本形態は、以下のように変形してもよい。ステップS13において、端末装置11の公開鍵乱数化部13が、第一乱数化公開鍵情報をgs1y+r1のみとし、第二乱数化公開鍵情報をgs2y+r2のみとして鍵装置21へ送信する。このとき、g-r1xおよびg-r2xを保持しておく。ステップS21において、鍵装置21の代理計算部21は、式(13)により、第一委託結果Z'1および第二委託結果Z'2を計算する。
Figure 0006594348
そして、ステップS14において、端末装置11の検証部14は、式(14)により、第一委託結果Z1および第二委託結果Z2を計算する。
Figure 0006594348
[第二実施形態]
第二実施形態は、自己訂正とデジタル署名を用いた認証鍵交換方式である。
以下、図4を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
本形態では、端末装置11の記憶部10には、端末装置11の公開鍵gx、端末装置11の署名鍵Sigu1、端末装置12の検証鍵Veru2、および端末装置11のユーザ識別子u1が記憶されている。鍵装置21の記憶部20には、第一実施形態と同様に、端末装置11の秘密鍵xが記憶されている。同様に、端末装置12の記憶部10には、端末装置12の公開鍵gy、端末装置12の署名鍵Sigu2、端末装置11の検証鍵Veru1、および端末装置12のユーザ識別子u2が記憶されている。鍵装置22の記憶部20には、第一実施形態と同様に、端末装置12の秘密鍵yが記憶されている。
ステップS111において、端末装置12の公開鍵受信部11は、ユーザ識別子u2と公開鍵gyの組(u2, gy)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、(u2, gy)を端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、ユーザ識別子u1と公開鍵gxの組(u1, gx)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、(u1, gx)を端末装置11より受信する。
ステップS112において、端末装置11の公開鍵受信部11は、署名鍵Sigu1を用いて、公開鍵gxと公開鍵gyとユーザ識別子u1の組に対する署名Sigu1(gx, gy, u1)を生成し、(u1, gx, Sigu1(gx, gy, u1))を端末装置12へ送信する。端末装置12の公開鍵受信部11は、端末装置11より(u1, gx, Sigu1(gx, gy, u1))を受信する。同様に、端末装置12の公開鍵受信部11は、署名鍵Sigu2を用いて、公開鍵gxと公開鍵gyとユーザ識別子u2の組に対する署名Sigu2(gx, gy, u2)を生成し、(u2, gy, Sigu2(gx, gy, u2))を端末装置11へ送信する。端末装置11の公開鍵受信部11は、端末装置12より(u2, gy, Sigu2(gx, gy, u2))を受信する。
ステップS113において、端末装置11の公開鍵受信部11は、検証鍵Veru2を用いて、署名Sigu2(gx, gy, u2)を検証する。同様に、端末装置12の公開鍵受信部11は、検証鍵Veru1を用いて、署名Sigu1(gx, gy, u1)を検証する。署名Sigu2(gx, gy, u2)および署名Sigu1(gx, gy, u1)が正しければ、ステップS12へ処理を進める。署名Sigu2(gx, gy, u2)もしくは署名Sigu1(gx, gy, u1)が不正であれば、処理を終了する。
以降のステップS12〜S15、S21の処理は、第一実施形態と同様である。
[第三実施形態]
第三実施形態は、自己訂正を用いたMQV鍵交換方式である。
以下、図5を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
本形態では、鍵装置21の記憶部20には、端末装置11の固定秘密鍵a∈Zpが記憶されている。端末装置11の記憶部10には、端末装置11の固定公開鍵A=ga、端末装置11の一時秘密鍵x∈Zp、および端末装置11の一時公開鍵X=gxが記憶されている。同様に、鍵装置22の記憶部20には、端末装置12の固定秘密鍵b∈Zpが記憶されている。端末装置12の記憶部10には、端末装置12の固定公開鍵B=gb、端末装置12の一時秘密鍵y∈Zp、および端末装置12の一時公開鍵Y=gyが記憶されている。
ステップS111において、端末装置12の公開鍵受信部11は、固定公開鍵Bと一時公開鍵Yの組(B, Y)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、(B, Y)を端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、固定公開鍵Aと一時公開鍵Xの組(A, X)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、(A, X)を端末装置11より受信する。
ステップS112において、端末装置11の公開鍵受信部11は、値e={Y}|p|および値d={X}|p|を計算する。ここで、{・}|p|は、・をビット表現した際の上位pビットを意味する。同様に、端末装置12の公開鍵受信部11は、値e={Y}|p|および値d={X}|p|を計算する。
ステップS13において、端末装置11の公開鍵乱数化部13は、式(15)により、第一乱数化公開鍵情報を算出する。また、式(16)により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gaを-r1乗してg-r1aを計算する。gbをe乗してgbeを計算し、gyと掛け合わせてgy+beを計算する。gy+beをs1乗してg(y+be)s1を計算する。gをr1乗してgr1を計算し、g(y+be)s1とgr1とを掛け合わせて、g(y+be)s1+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
同様に、端末装置12の公開鍵乱数化部13は、式(17)により、第一乱数化公開鍵情報を算出する。また、式(18)により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21において、鍵装置21の代理計算部21は、式(19)により、第一委託結果Z1を算出する。また、式(20)により、第二委託結果Z2を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(21)により、第一委託結果Z3を算出する。また、式(22)により、第二委託結果Z4を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置12へ送信する。
Figure 0006594348
ステップS151において、端末装置11の共有鍵計算部15は、式(23)により、乱数s'1, s'2を用いて、第一委託結果Z1および第二委託結果Z2から値YBeaを計算する。同様に、端末装置12の共有鍵計算部15は、式(24)により、乱数s'3, s'4を用いて、第一委託結果Z3および第二委託結果Z4から値XAdbを計算する。
Figure 0006594348
ステップS15において、端末装置11の共有鍵計算部15は、式(25)により、共有鍵Kを算出する。なお、KDFは鍵導出関数(Key Derivation Function)であり、入力値を乱数に変換する関数である。同様に、端末装置12の共有鍵計算部15は、式(26)により、共有鍵Kを算出する。
Figure 0006594348
(YBe)x+adは、具体的には以下のようにして計算することができる。YBeをx乗してYBexを計算する。YBeaをd乗してYBeadを計算する。YBexとYBeadとを掛け合わせて、(YBe)x+adを計算する。(XAd)y+beも同様にして計算することができる。
本形態は、以下のように変形してもよい。ステップS13において、端末装置11の公開鍵乱数化部13は、第一乱数化公開鍵情報をg(y+be)s1+r1のみとし、第二乱数化公開鍵情報をg(y+be)s2+r2のみとして鍵装置21へ送信する。このとき、g-r1aおよびg-r2aを保持しておく。ステップS21において、鍵装置21の代理計算部21は、式(27)により、第一委託結果Z1’および第二委託結果Z2’を計算する。
Figure 0006594348
そして、ステップS14において、端末装置11の検証部14は、式(28)により、第一委託結果Z1および第二委託結果Z2を計算する。
Figure 0006594348
[第四実施形態]
第四実施形態は、自己訂正を用いたHMQV鍵交換方式である。
以下、図6を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第三実施形態との相違点を中心に説明する。
ステップS112において、端末装置11の公開鍵受信部11は、値e=H(Y, X)および値d=H(X, B)を計算する。ここで、H(・)は暗号学的ハッシュ関数である。暗号学的ハッシュ関数の例は、SHA-1, SHA-2などが挙げられる。同様に、端末装置12の公開鍵受信部11は、値e=H(Y, X)および値d=H(X, B)を計算する。
本形態は、値e, dをハッシュ関数により求める点のみが第三実施形態と異なり、その他の処理は第三実施形態と同様である。
[第五実施形態]
第五実施形態は、自己訂正を用いたid-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
本形態の鍵交換システムは、例えば、図7に示すように、端末装置11, 12と鍵装置21, 22とに加えて、鍵生成装置3を含む。
以下では、кをセキュリティパラメータとし、G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とする。e: G1×G2→GTをペアリングとする。ここで、gT=e(g1, g2)を満足するものとする。H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とする。
2以上の自然数mに対して、m個の多項式pi∈Zq[u0, u1, v0, v1](i=1,…,m)を式(29)のように与える。なお、ci,0,0, ci,0,1, ci,1,0, ci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
Figure 0006594348
以下、図8を参照して、本形態の鍵交換方法の処理手続きを説明する。
本形態では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置12は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置3は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1 z, DA,2=QA,2 z), (DB,1=QB,1 z, DB,2=QB,2 z)を計算し、鍵装置21へ秘密鍵のペア(DA,1, DA,2)を、鍵装置22へ秘密鍵のペア(DB,1, DB,2)を配布する。端末装置11は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成する。同様に、端末装置12は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成する。
ステップS111において、端末装置11の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, IDB, XA,1, XA,2)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、情報(IDA, IDB, XA,1, XA,2)を端末装置11から受信する。同様に、端末装置12の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, IDB, XB,1, XB,2)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、情報(IDA, IDB, XB,1, XB,2)を端末装置12から受信する。
ステップS112において、端末装置11の公開鍵受信部11は、式(30)が成り立つか否かを確認する。同様に、端末装置12の公開鍵受信部11は、式(31)が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
Figure 0006594348
本形態では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明するものとする。
ステップS121において、端末装置11の乱数生成部12は、式(32)を計算する。同様に、端末装置12の乱数生成部12は、式(33)を計算する。
Figure 0006594348
ステップS122において、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2, ri1, ri2を生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。ri1, ri2は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、ti1, ti2, t'i1, t'i2, li1, li2を生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。li1, li2は任意の非零整数とする。
ステップS13において、端末装置11の公開鍵乱数化部13は、式(34)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si1, ri1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(35)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si2, ri2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
同様に、端末装置12の公開鍵乱数化部13は、式(36)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1, li1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(37)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2, li2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21において、鍵装置21の代理計算部21は、式(38)により、秘密鍵DA,1を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(39)により、秘密鍵DA,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(40)により、秘密鍵DB,2を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(41)により、秘密鍵DB,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14において、端末装置11の検証部14は、式(42)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(43)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122へ処理を戻す。
Figure 0006594348
ステップS151において、端末装置11の共有鍵計算部15は、式(44)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(45)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure 0006594348
ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(46)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(47)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153において、端末装置11の共有鍵計算部15は、式(48)により、値σm+1, σm+2を計算する。同様に、端末装置12の共有鍵計算部15は、式(49)により、値σm+1, σm+2を計算する。
Figure 0006594348
ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(50)により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
Figure 0006594348
端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式(51)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure 0006594348
[変形例5−1]
変形例5−1は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
本変形例では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置12は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置3は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1 z, DA,2=QA,2 z), (DB,1=QB,1 z, DB,2=QB,2 z)を計算し、鍵装置21へ秘密鍵のペア(DA,1, DA,2)を、鍵装置22へ秘密鍵のペア(DB,1, DB,2)を配布する。鍵装置21は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成し、端末装置12へ送信する。
本変形例では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS121b、S122b、S13b、S21b、S14b、S151b(図示せず)の処理をm+2回繰り返し実行する。以下では、i(=1,…,m+2)回目の繰り返しにおける処理手続きを説明する。
ステップS121bにおいて、端末装置11の乱数生成部12は、式(52)を計算する。同様に、端末装置12の乱数生成部12は、式(53)を計算する。
Figure 0006594348
ステップS122bにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22, ri21, ri22を生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。ri21, ri22は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22, li21, li22を生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。li21, li22は任意の非零整数とする。
ステップS13bにおいて、端末装置11の公開鍵乱数化部13は、式(54)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si21, ri21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(55)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si22, ri22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
同様に、端末装置12の公開鍵乱数化部13は、式(56)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21, li21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(57)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22, li22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21bにおいて、鍵装置21の代理計算部21は、式(58)により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(59)により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ A,i1と第二委託結果ξ A,i2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(60)により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(61)により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ B,i1と第二委託結果ξ B,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14bにおいて、端末装置11の検証部14は、式(62)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(63)により、第一委託結果ξB,i1をti22乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξB,i2をti21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122bへ処理を戻す。
Figure 0006594348
ステップS151bにおいて、端末装置11の共有鍵計算部15は、式(64)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(65)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure 0006594348
ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(66)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(67)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153において、端末装置11の共有鍵計算部15は、式(68)により、値σm+1, σm+2を計算する。同様に、端末装置12の共有鍵計算部15は、式(69)により、値σm+1, σm+2を計算する。
Figure 0006594348
ステップS154において、端末装置11の共有鍵計算部15および端末装置12の共有鍵計算部15は、式(70)により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
Figure 0006594348
[変形例5−2]
変形例5−2は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのペアリングの計算を委託する構成である。
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
本変形例では、変形例5−1と同様にして鍵生成を行う。
本変形例では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS121c、S122c、S13c、S21c、S14c、S151c(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。その後、上述のステップS121b、S122b、S13b、S21b、S14b、S151bの処理をi=m+1, m+2について実行する。
ステップS121cにおいて、端末装置11の乱数生成部12は、式(71)を計算する。同様に、端末装置12の乱数生成部12は、式(72)を計算する。
Figure 0006594348
ステップS122cにおいて、端末装置11の乱数生成部12は、乱数si31, si32, s'i31, s'i32, ri31, ri32を生成する。ここで、si31, si32は互いに素であり、si31s'i31+si32s'i32=1を満たすものとする。ri31, ri32は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、乱数ti31, ti32, t'i31, t'i32, li31, li32を生成する。ここで、ti31, ti32は互いに素であり、ti31t'i31+ti32t'i32=1を満たすものとする。li31, li32は任意の非零整数とする。
ステップS13cにおいて、端末装置11の公開鍵乱数化部13は、式(73)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si31, ri31を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(74)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si32, ri32を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
同様に、端末装置12の公開鍵乱数化部13は、式(75)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti31, li31を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(76)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti32, li32を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21cにおいて、鍵装置21の代理計算部21は、式(77)により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(78)により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ A,i1と第二委託結果ξ A,i2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(79)により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(80)により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ B,i1と第二委託結果ξ B,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14cにおいて、端末装置11の検証部14は、式(81)により、第一委託結果ξA,i1をsi32乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξA,i2をsi31乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(82)により、第一委託結果ξB,i1をti32乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti31乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151cへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122cへ処理を戻す。
Figure 0006594348
ステップS151cにおいて、端末装置11の共有鍵計算部15は、式(83)により、乱数s'i31, s'i32を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(84)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure 0006594348
[第六実施形態]
第六実施形態は、自己訂正を用いたcert-cert AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
本形態の鍵交換システムは、例えば、図9に示すように、端末装置11, 12と鍵装置21, 22とに加えて、認証局装置4を含む。
以下、図10を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
本形態では、以下のようにして鍵生成を行う。鍵装置 1は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置 2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置12へ送信する。認証局装置4は、端末装置11の公開鍵SAおよび端末装置12の公開鍵SBを認証する。端末装置11は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算する。同様に、端末装置12は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算する。
ステップS11において、端末装置11の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SA, XA)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、情報(SA, XA)を端末装置11から受信する。同様に、端末装置12の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SB, XB)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、情報(SB, XB)を端末装置12から受信する。
本形態では、ステップS12、S13、S21、S14、S151の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明するものとする。
ステップS12において、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置12の乱数生成部12は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
ステップS13において、端末装置11の公開鍵乱数化部13は、式(85)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(86)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
同様に、端末装置12の公開鍵乱数化部13は、式(87)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(88)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21において、鍵装置21の代理計算部21は、式(89)により、準同型写像FA: G→G, h→hxAについて、共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(90)により、共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(91)により、準同型写像FB: G→G, h→hxBについて、共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(92)により、共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14において、端末装置11の検証部14は、式(93)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(94)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12へ処理を戻す。
Figure 0006594348
ステップS151において、端末装置11の共有鍵計算部15は、式(95)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(96)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure 0006594348
ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(97)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(98)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(99)により、値σ1,…,σmを用いて、共有鍵Kを算出する。
Figure 0006594348
端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σmはいずれも、i=1,…,mとして、式(100)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure 0006594348
[変形例6]
変形例6は、第六実施形態の自己訂正を用いたcert-cert AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第六実施形態との相違点を中心に説明する。
本変形例では、以下のようにして鍵生成を行う。鍵装置 1は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置 2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置12へ送信する。認証局装置4は、端末装置11の公開鍵SAおよび端末装置12の公開鍵SBを認証する。鍵装置21は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算し、端末装置12へ送信する。
本変形例では、ステップS12、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS12b、S13b、S21b、S14b、S151b(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
ステップS12bにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
ステップS13bにおいて、端末装置11の公開鍵乱数化部13は、式(101)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(102)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
同様に、端末装置12の公開鍵乱数化部13は、式(103)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(104)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure 0006594348
ステップS21bにおいて、鍵装置21の代理計算部21は、式(105)により、準同型写像FA,2: G→G, h→hsAについて、共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(106)により、共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ A,i1と第二委託結果ξ A,i2とは、端末装置11へ送信する。
Figure 0006594348
同様に、鍵装置22の代理計算部21は、式(107)により、準同型写像FB,2: G→G, h→hsBについて、共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(108)により、共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。
Figure 0006594348
ステップS14bにおいて、端末装置11の検証部14は、式(109)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(110)により、第一委託結果ξB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12bへ処理を戻す。
Figure 0006594348
ステップS151bにおいて、端末装置11の共有鍵計算部15は、式(111)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(112)により、乱数t'i1, t'i2を用いて第一委託結果ξ B,i1および第二委託結果ξ B,i2から委託結果ξ B,iを算出する。
Figure 0006594348
ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(113)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(114)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(115)により、値σ1,…,σmを用いて、共有鍵Kを算出する。
Figure 0006594348
[第七実施形態]
第七実施形態は、自己訂正を用いたcert-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
本形態の鍵交換システムは、例えば、図11に示すように、端末装置11, 12と鍵装置21, 22とに加えて、鍵生成装置3と認証局装置4とを含む。
以下、図12、13を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。図12は、端末装置11と鍵装置21の処理フローを例示したものであり、図13は、端末装置12と鍵装置22の処理フローを例示したものである。
本形態では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置3は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1 z, DA,2=QA,2 z)を計算し、鍵装置21へ配布する。鍵装置 2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1 sB∈G1, SB,2=g2 sB∈G2)を計算し、端末装置12へ送信する。認証局装置4は、鍵装置 2の公開鍵SBを認証する。端末装置11は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成する。同様に、端末装置12は、短期秘密鍵xB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成する。
ステップS111Aにおいて、端末装置11の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, XA,1, XA,2)を端末装置12へ送信する。ステップS111Bにおいて、端末装置12の公開鍵受信部11は、情報(IDA, XA,1, XA,2)を端末装置11から受信する。
ステップS112Bにおいて、端末装置12の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SB,1, SB,2, XB,1, XB,2)を端末装置11へ送信する。ステップS112Aにおいて、端末装置11の公開鍵受信部11は、情報(SB,1, SB,2, XB,1, XB,2)を端末装置12から受信する。
ステップS113Aにおいて、端末装置11の公開鍵受信部11は、式(116)が成り立つか否かを確認する。ステップS113Bにおいて、端末装置12の公開鍵受信部11は、式(117)が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
Figure 0006594348
本形態では、図12のステップS12A、S13A、S21A、S14A、S151Aの処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
ステップS12Aにおいて、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
ステップS13Aにおいて、端末装置11の公開鍵乱数化部13は、式(118)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(119)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
ステップS21Aにおいて、鍵装置21の代理計算部21は、式(120)により、準同型写像FA: G2→GT, h2→e(DA,1, h2)について、共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(121)により、共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure 0006594348
ステップS14Aにおいて、端末装置11の検証部14は、式(122)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Aへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Aへ処理を戻す。
Figure 0006594348
ステップS151Aにおいて、端末装置11の共有鍵計算部15は、式(123)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。
Figure 0006594348
ステップS152Aにおいて、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(124)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153Aにおいて、端末装置11の共有鍵計算部15は、式(125)により、値σm+1, σm+2, σm+3, σm+4を計算する。
Figure 0006594348
ステップS154Aにおいて、端末装置11の共有鍵計算部15は、式(126)により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
Figure 0006594348
本形態では、図13のステップS12B、S13B、S21B、S14B、S151Bの処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
ステップS12Bにおいて、端末装置12の乱数生成部12は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
ステップS13Bにおいて、端末装置11の公開鍵乱数化部13は、式(127)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(128)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
ステップS21Bにおいて、鍵装置22の代理計算部21は、式(129)により、準同型写像FB: G1→GT, h1→e(h1, Z2 sB)について、共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(130)により、共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14Bにおいて、端末装置12の検証部14は、式(131)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Bへ処理を戻す。
Figure 0006594348
ステップS151Bにおいて、端末装置12の共有鍵計算部15は、式(132)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure 0006594348
ステップS152Bにおいて、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(133)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153Bにおいて、端末装置12の共有鍵計算部15は、式(134)により、値σm+1, σm+2を計算する。また、式(135)による値σm+3, σm+4の計算を鍵装置22へ委託する。
Figure 0006594348
ステップS154Bにおいて、端末装置11の共有鍵計算部15は、式(136)により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
Figure 0006594348
端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式(137)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure 0006594348
なお、本形態では、ステップS13BおよびS21Bで実行される代理計算により、式(138)を計算することになる。
Figure 0006594348
そこで、ステップS13Bにおいて、βi,Aを式(139)のβ’i,Aに置き換え、ステップS21Bにおいて、準同型写像FB: G1→GT, h1→e(h1, Z2 sB)をF'B: GT→GT, hT→hT sBに置き換えることで、同様の代理計算を行うことも可能である。
Figure 0006594348
[変形例7]
変形例7は、第七実施形態の自己訂正を用いたcert-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成である。
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第七実施形態との相違点を中心に説明する。
変形例では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置3は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1 z, DA,2=QA,2 z)を計算し、鍵装置21へ配布する。鍵装置 2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1 sB∈G1, SB,2=g2 sB∈G2)を計算し、端末装置12へ送信する。認証局装置4は、鍵装置 2の公開鍵SBを認証する。鍵装置21は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成し、端末装置12へ送信する。
本変形例では、ステップS12A、S13A、S21A、S14A、S151Aの処理をm回繰り返し実行した後、以下のステップS12Ab、S13Ab、S21Ab、S14Ab、S151Ab(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
ステップS12Abにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
ステップS13Abにおいて、端末装置11の公開鍵乱数化部13は、式(140)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(141)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
ステップS21Abにおいて、鍵装置21の代理計算部21は、式(142)により、準同型写像F1,A: G2→GT, h2→e(Z1 xA, h2)について、共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(143)により、共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ A,i1と第二委託結果ξ A,i2とは、端末装置11へ送信する。
Figure 0006594348
ステップS14Abにおいて、端末装置11の検証部14は、式(144)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Abへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Abへ処理を戻す。
Figure 0006594348
ステップS151Abにおいて、端末装置11の共有鍵計算部15は、式(145)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。
Figure 0006594348
ステップS152Aにおいて、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(146)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153A、S154Aの処理は、第七実施形態と同様である。
本変形例では、ステップS12B、S13B、S21B、S14B、S151Bの処理をm回繰り返し実行した後、以下のステップS12Bb、S13Bb、S21Bb、S14Bb、S151Bb(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
ステップS12Bbにおいて、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
ステップS13Bbにおいて、端末装置11の公開鍵乱数化部13は、式(147)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(148)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure 0006594348
ステップS21Bbにおいて、鍵装置22の代理計算部21は、式(149)により、準同型写像F1,B: G1→GT, h1→e(h1, Z2 xB)について、共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(150)により、共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ξ B,i1と第二委託結果ξ B,i2とは、端末装置12へ送信する。
Figure 0006594348
ステップS14Bbにおいて、端末装置12の検証部14は、式(151)により、第一委託結果ξB,i1をti22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Bbへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Bbへ処理を戻す。
Figure 0006594348
ステップS151Bbにおいて、端末装置12の共有鍵計算部15は、式(152)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure 0006594348
ステップS152Bにおいて、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(153)により、値σiを計算して、値σ1,…,σmを生成する。
Figure 0006594348
ステップS153B、S154Bの処理は、第七実施形態と同様である。
本変形例では、ステップS13AbおよびS21Abで実行される代理計算により、式(154)を計算することになる。
Figure 0006594348
そこで、ステップS13Abにおいて、βi,Bを式(155)のβ'i,Bに置き換え、ステップS21Abにおいて、準同型写像F1,A: G2→GT, h2→e(Z1 xA, h2)をF2,A: GT→GT, hT→gT xAに置き換えることで、同様の代理計算を行うことも可能である。
Figure 0006594348
また、本変形例では、ステップS13BbおよびS21Bbで実行される代理計算により、式(156)を計算することになる。
Figure 0006594348
そこで、ステップS13Bbにおいて、β1,i,Aを式(157)のβ2,i,Aに置き換え、ステップS21Bbにおいて、準同型写像F1,B: G1→GT, h1→e(h1, Z2 xB)をF2,B: GT→GT, hT→gT xBに置き換えることで、同様の代理計算を行うことも可能である。
Figure 0006594348
[第八実施形態]
第八実施形態は、鍵装置が端末装置の固有情報を記憶しており、予め固有情報を登録している端末装置のみが代理計算を委託できる構成である。以下では、第一実施形態に対して適用した構成を例として説明するが、上述の各実施形態についても同様に適用して構成することが可能である。
以下、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
本形態では、端末装置11の記憶部10には、端末装置11の公開鍵gxに加えて、固有情報Add1が記憶されている。鍵装置21の記憶部20には、端末装置11の秘密鍵xに加えて、リストList1が記憶されている。リストList1には予め端末装置11の固有情報Add1が登録されている。
ステップS13において、端末装置11の公開鍵乱数化部13は、第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアに加えて、固有情報Add1を鍵装置21へ送信する。
ステップS21において、鍵装置21の代理計算部21は、受信した固有情報Add1が記憶部20のリストList1に登録されているか否かを確認する。登録されている場合には、第一委託結果Z1および第二委託結果Z2を計算する。登録されていない場合には、代理計算を行わず処理を終了する。
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (14)

  1. s 1 , s 2 を互いに素な乱数とし、s' 1 , s' 2 を乱数s 1 , s 2 と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
    鍵装置の記憶部に、上記端末装置の秘密鍵xが記憶されており、
    上記端末装置が、上記乱数s 1 , s 2 , s' 1 , s' 2 を生成する乱数生成ステップと、
    上記端末装置が、次式により、上記乱数s 1 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、上記乱数s 2 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
    Figure 0006594348
    上記鍵装置が、次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から第一委託結果Z1を算出し、
    Figure 0006594348
    次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から第二委託結果Z2を算出する代理計算ステップと、
    Figure 0006594348
    上記端末装置が、次式により、上記乱数s 2 を用いて上記第一委託結果Z 1 から算出した第一検証値と上記乱数s 1 を用いて上記第二委託結果Z 2 から算出した第二検証値とが一致するか否かを検証する検証ステップと、
    Figure 0006594348
    上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s' 1 , s' 2 を用いて上記第一委託結果Z 1 および上記第二委託結果Z 2 から共有鍵Kを算出する共有鍵計算ステップと、
    Figure 0006594348
    を含む鍵交換方法。
  2. G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    z∈Zqをマスタ秘密鍵とし、Z1=g1 z∈G1, Z2=g2 z∈G2をマスタ公開鍵とし、IDA を端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開鍵とし、IDB を他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開鍵とし、DA,1=QA,1 z, DA,2=QA,2 zを上記端末装置の秘密鍵とし、DB,1=QB,1 z, DB,2=QB,2 zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1 xA, XA,2=g2 xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1 xB, XB,2=g2 xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
    Figure 0006594348
    si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
    鍵装置の記憶部に、上記端末装置の秘密鍵D A,1 , D A,2 が記憶されており、
    上記端末装置が、上記乱数si1, si2, s'i1, s'i2を生成する乱数生成ステップと、
    上記端末装置が、次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
    Figure 0006594348
    上記鍵装置が、次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算ステップと、
    Figure 0006594348
    上記端末装置が、次式により、i=1,…,mについて、上記乱数s i2 を用いて上記第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて上記第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証ステップと、
    Figure 0006594348
    上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算ステップと、
    Figure 0006594348
    を含む鍵交換方法。
  3. Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    sA∈Zqを端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
    Figure 0006594348
    si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、g1, g2を群Gの単位元ではない元とし、
    上記端末装置が、上記乱数si1, si2, s'i1, s'i2, g1, g2を生成する乱数生成ステップと、
    上記端末装置が、次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
    Figure 0006594348
    上記鍵装置が、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算ステップと、
    Figure 0006594348
    上記端末装置が、次式により、i=1,…,mについて、上記乱数s i2 を用いて上記第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて上記第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証ステップと、
    Figure 0006594348
    上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算ステップと、
    Figure 0006594348
    を含む鍵交換方法。
  4. 請求項1からのいずれかに記載の鍵交換方法であって、
    上記鍵装置の記憶部に、上記端末装置の固有情報が記憶されており、
    上記代理計算ステップは、上記第一乱数化公開鍵情報および上記第二乱数化公開鍵情報とともに受信する固有情報が、上記端末装置の固有情報と一致する場合に、上記第一委託結果および上記第二委託結果を算出するものである
    鍵交換方法。
  5. s 1 , s 2 を互いに素な乱数とし、s' 1 , s' 2 を乱数s 1 , s 2 と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、g x を上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、g y を上記他の端末装置の公開鍵とし、r 1 , r 2 を任意の数とし、
    複数の端末装置と少なくとも1台の鍵装置を含む鍵交換システムであって、
    上記端末装置は、
    上記乱数s 1 , s 2 , s' 1 , s' 2 を生成する乱数生成部と、
    次式により、上記乱数s 1 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、上記乱数s 2 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、上記乱数s 2 を用いて第一委託結果Z 1 から算出した第一検証値と上記乱数s 1 を用いて第二委託結果Z 2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s' 1 , s' 2 を用いて上記第一委託結果Z 1 および上記第二委託結果Z 2 から共有鍵Kを算出する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記鍵装置は、
    上記端末装置の秘密鍵xを記憶する記憶部と、
    次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から上記第一委託結果Z 1 を算出し、
    Figure 0006594348
    次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から上記第二委託結果Z 2 を算出する代理計算部と、
    Figure 0006594348
    を含む鍵交換システム。
  6. G 1 , G 2 , G T を位数がкビット長の素数qの巡回群とし、g 1 , g 2 , g T をそれぞれ群G 1 , G 2 , G T の生成元とし、e: G 1 ×G 2 →G T をg T =e(g 1 , g 2 )を満足するペアリングとし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →G 1 , H 2 : {0, 1} * →G 2 をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    z∈Z q をマスタ秘密鍵とし、Z 1 =g 1 z ∈G 1 , Z 2 =g 2 z ∈G 2 をマスタ公開鍵とし、ID A を端末装置の識別子とし、Q A,1 =H 1 (ID A )∈G 1 , Q A,2 =H 2 (ID A )∈G 2 を公開鍵とし、ID B を他の端末装置の識別子とし、Q B,1 =H 1 (ID B )∈G 1 , Q B,2 =H 2 (ID B )∈G 2 を公開鍵とし、D A,1 =Q A,1 z , D A,2 =Q A,2 z を上記端末装置の秘密鍵とし、D B,1 =Q B,1 z , D B,2 =Q B,2 z を上記他の端末装置の秘密鍵とし、z A ∈Z q を上記端末装置の短期秘密鍵とし、X A,1 =g 1 xA , X A,2 =g 2 xA を上記端末装置の短期公開鍵とし、z B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B,1 =g 1 xB , X B,2 =g 2 xB を上記他の端末装置の短期公開鍵とし、P i,B を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、
    複数の端末装置と少なくとも1台の鍵装置を含む鍵交換システムであって、
    上記端末装置は、
    上記乱数s i1 , s i2 , s' i1 , s' i2 を生成する乱数生成部と、
    次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζ i を算出した上で、委託結果ζ 1 ,…,ζ m を用いて共有鍵を生成する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記鍵装置は、
    上記端末装置の秘密鍵D A,1 , D A,2 を記憶する記憶部と、
    次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第一乱数化公開鍵情報から上記第一委託結果ζ i1 を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第二乱数化公開鍵情報から第二委託結果ζ i2 を算出する代理計算部と、
    Figure 0006594348
    を含む鍵交換システム。
  7. Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    s A ∈Z q を端末装置の秘密鍵とし、S A =g sA ∈Gを上記端末装置の公開鍵とし、s B ∈Z q を他の端末装置の秘密鍵とし、S B =g sB ∈Gを上記他の端末装置の公開鍵とし、x A ∈Z q を上記端末装置の短期秘密鍵とし、X A =g xA ∈Gを上記端末装置の短期公開鍵とし、x B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B =g xB ∈Gを上記他の端末装置の短期公開鍵とし、F A をF A : G→G, h→h xA である準同型写像とし、α B,i を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、g 1 , g 2 を群Gの単位元ではない元とし、
    複数の端末装置と少なくとも1台の鍵装置を含む鍵交換システムであって、
    上記端末装置は、
    上記乱数s i1 , s i2 , s' i1 , s' i2 , g 1 , g 2 を生成する乱数生成部と、
    次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて上記第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζ i を算出した上で、委託結果ζ 1 ,…,ζ m を用いて共有鍵を生成する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記鍵装置は、
    次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から第一委託結果ζ i1 を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から第二委託結果ζ i2 を算出する代理計算部、
    Figure 0006594348
    を含む鍵交換システム。
  8. s 1 , s 2 を互いに素な乱数とし、s' 1 , s' 2 を乱数s 1 , s 2 と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、g x を上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、g y を上記他の端末装置の公開鍵とし、r 1 , r 2 を任意の数とし、
    上記端末装置の秘密鍵xを記憶する記憶部と、
    次式により、上記端末装置の秘密鍵xを用いて第一乱数化公開鍵情報から第一委託結果Z 1 を算出し、
    Figure 0006594348
    次式により、上記端末装置の秘密鍵xを用いて第二乱数化公開鍵情報から第二委託結果Z 2 を算出する代理計算部と、
    Figure 0006594348
    を含み、
    上記第一乱数化公開鍵情報は、次式により、上記乱数s 1 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化したものであり、
    Figure 0006594348
    上記第二乱数化公開鍵情報は、次式により、上記乱数s 2 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化したものである、
    Figure 0006594348
    鍵装置。
  9. G 1 , G 2 , G T を位数がкビット長の素数qの巡回群とし、g 1 , g 2 , g T をそれぞれ群G 1 , G 2 , G T の生成元とし、e: G 1 ×G 2 →G T をg T =e(g 1 , g 2 )を満足するペアリングとし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →G 1 , H 2 : {0, 1} * →G 2 をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    z∈Z q をマスタ秘密鍵とし、Z 1 =g 1 z ∈G 1 , Z 2 =g 2 z ∈G 2 をマスタ公開鍵とし、ID A を端末装置の識別子とし、Q A,1 =H 1 (ID A )∈G 1 , Q A,2 =H 2 (ID A )∈G 2 を公開鍵とし、ID B を他の端末装置の識別子とし、Q B,1 =H 1 (ID B )∈G 1 , Q B,2 =H 2 (ID B )∈G 2 を公開鍵とし、D A,1 =Q A,1 z , D A,2 =Q A,2 z を上記端末装置の秘密鍵とし、D B,1 =Q B,1 z , D B,2 =Q B,2 z を上記他の端末装置の秘密鍵とし、z A ∈Z q を上記端末装置の短期秘密鍵とし、X A,1 =g 1 xA , X A,2 =g 2 xA を上記端末装置の短期公開鍵とし、z B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B,1 =g 1 xB , X B,2 =g 2 xB を上記他の端末装置の短期公開鍵とし、P i,B を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、
    上記端末装置の秘密鍵D A,1 , D A,2 を記憶する記憶部と、
    次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて第一乱数化公開鍵情報から第一委託結果ζ i1 を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて第二乱数化公開鍵情報から第二委託結果ζ i2 を算出する代理計算部と、
    Figure 0006594348
    を含み、
    上記第一乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化したものであり、
    Figure 0006594348
    上記第二乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化したものである、
    Figure 0006594348
    鍵装置。
  10. Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    s A ∈Z q を端末装置の秘密鍵とし、S A =g sA ∈Gを上記端末装置の公開鍵とし、s B ∈Z q を他の端末装置の秘密鍵とし、S B =g sB ∈Gを上記他の端末装置の公開鍵とし、x A ∈Z q を上記端末装置の短期秘密鍵とし、X A =g xA ∈Gを上記端末装置の短期公開鍵とし、x B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B =g xB ∈Gを上記他の端末装置の短期公開鍵とし、F A をF A : G→G, h→h xA である準同型写像とし、α B,i を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、g 1 , g 2 を群Gの単位元ではない元とし、
    次式により、i=1,…,mについて、第一乱数化公開鍵情報から第一委託結果ζ i1 を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、第二乱数化公開鍵情報から第二委託結果ζ i2 を算出する代理計算部、
    Figure 0006594348
    を含み、
    上記第一乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化したものであり、
    Figure 0006594348
    上記第二乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化したものである、
    Figure 0006594348
    鍵装置。
  11. s 1 , s 2 を互いに素な乱数とし、s' 1 , s' 2 を乱数s 1 , s 2 と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、g x を上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、g y を上記他の端末装置の公開鍵とし、r 1 , r 2 を任意の数とし、
    上記乱数s 1 , s 2 , s' 1 , s' 2 を生成する乱数生成部と、
    次式により、上記乱数s 1 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、上記乱数s 2 を用いて上記端末装置の公開鍵g x と上記他の端末装置の公開鍵g y を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、上記乱数s 2 を用いて第一委託結果Z 1 から算出した第一検証値と上記乱数s 1 を用いて第二委託結果Z 2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s' 1 , s' 2 を用いて上記第一委託結果Z 1 および上記第二委託結果Z 2 から共有鍵Kを算出する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記第一委託結果は、次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から算出したものであり、
    Figure 0006594348
    上記第二委託結果は、次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から算出したものである、
    Figure 0006594348
    端末装置。
  12. G 1 , G 2 , G T を位数がкビット長の素数qの巡回群とし、g 1 , g 2 , g T をそれぞれ群G 1 , G 2 , G T の生成元とし、e: G 1 ×G 2 →G T をg T =e(g 1 , g 2 )を満足するペアリングとし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →G 1 , H 2 : {0, 1} * →G 2 をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    z∈Z q をマスタ秘密鍵とし、Z 1 =g 1 z ∈G 1 , Z 2 =g 2 z ∈G 2 をマスタ公開鍵とし、ID A を端末装置の識別子とし、Q A,1 =H 1 (ID A )∈G 1 , Q A,2 =H 2 (ID A )∈G 2 を公開鍵とし、ID B を他の端末装置の識別子とし、Q B,1 =H 1 (ID B )∈G 1 , Q B,2 =H 2 (ID B )∈G 2 を公開鍵とし、D A,1 =Q A,1 z , D A,2 =Q A,2 z を上記端末装置の秘密鍵とし、D B,1 =Q B,1 z , D B,2 =Q B,2 z を上記他の端末装置の秘密鍵とし、z A ∈Z q を上記端末装置の短期秘密鍵とし、X A,1 =g 1 xA , X A,2 =g 2 xA を上記端末装置の短期公開鍵とし、z B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B,1 =g 1 xB , X B,2 =g 2 xB を上記他の端末装置の短期公開鍵とし、P i,B を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、
    上記乱数s i1 , s i2 , s' i1 , s' i2 を生成する乱数生成部と、
    次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵Q B,2 と上記他の端末装置の短期公開鍵X B,2 を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζ i を算出した上で、委託結果ζ 1 ,…,ζ m を用いて共有鍵を生成する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記第一委託結果は、次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第一乱数化公開鍵情報から算出したものであり、
    Figure 0006594348
    上記第二委託結果は、次式により、i=1,…,mについて、上記端末装置の秘密鍵D A,1 を用いて上記第二乱数化公開鍵情報から算出したものである、
    Figure 0006594348
    端末装置。
  13. Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1} * →{0, 1} к , H 1 : {0, 1} * →Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、c i,0,0 , c i,0,1 , c i,1,0 , c i,1,1 を定数とし、p i ∈Z q [u 0 , u 1 , v 0 , v 1 ]を次式により定義されるm個の多項式とし、
    Figure 0006594348
    s A ∈Z q を端末装置の秘密鍵とし、S A =g sA ∈Gを上記端末装置の公開鍵とし、s B ∈Z q を他の端末装置の秘密鍵とし、S B =g sB ∈Gを上記他の端末装置の公開鍵とし、x A ∈Z q を上記端末装置の短期秘密鍵とし、X A =g xA ∈Gを上記端末装置の短期公開鍵とし、x B ∈Z q を上記他の端末装置の短期秘密鍵とし、X B =g xB ∈Gを上記他の端末装置の短期公開鍵とし、F A をF A : G→G, h→h xA である準同型写像とし、α B,i を次式により定義される値とし、
    Figure 0006594348
    s i1 , s i2 を互いに素な乱数とし、s' i1 , s' i2 を乱数s i1 , s i2 と所定の関係を満たす乱数とし、g 1 , g 2 を群Gの単位元ではない元とし、
    上記乱数s i1 , s i2 , s' i1 , s' i2 , g 1 , g 2 を生成する乱数生成部と、
    次式により、i=1,…,mについて、上記乱数s i1 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第一乱数化公開鍵情報を算出し、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記他の端末装置の公開鍵S B と上記他の端末装置の短期公開鍵X B を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
    Figure 0006594348
    次式により、i=1,…,mについて、上記乱数s i2 を用いて上記第一委託結果ζ i1 から算出した第一検証値と上記乱数s i1 を用いて上記第二委託結果ζ i2 から算出した第二検証値とが一致するか否かを検証する検証部と、
    Figure 0006594348
    上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s' i1 , s' i2 を用いて委託結果ζ i を算出した上で、委託結果ζ 1 ,…,ζ m を用いて共有鍵を生成する共有鍵計算部と、
    Figure 0006594348
    を含み、
    上記第一委託結果は、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から算出したものであり、
    Figure 0006594348
    上記第二委託結果は、次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から算出したものである、
    Figure 0006594348
    端末装置。
  14. 請求項8から10のいずれかに記載の鍵装置もしくは請求項11から13のいずれかに記載の端末装置としてコンピュータを機能させるためのプログラム。
JP2016569359A 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム Active JP6594348B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015007033 2015-01-16
JP2015007033 2015-01-16
PCT/JP2016/050695 WO2016114259A1 (ja) 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2016114259A1 JPWO2016114259A1 (ja) 2017-10-19
JP6594348B2 true JP6594348B2 (ja) 2019-10-23

Family

ID=56405804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016569359A Active JP6594348B2 (ja) 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム

Country Status (5)

Country Link
US (1) US10419213B2 (ja)
EP (1) EP3232603B1 (ja)
JP (1) JP6594348B2 (ja)
CN (1) CN107113168B (ja)
WO (1) WO2016114259A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365959B (zh) * 2018-02-14 2020-09-15 东北大学 一种云环境下全代理的外包多项式验证方法
JP7298686B2 (ja) * 2019-05-29 2023-06-27 日本電信電話株式会社 鍵交換システム、通信装置及びプログラム
FR3097093A1 (fr) 2019-06-07 2020-12-11 Stmicroelectronics S.R.L. Procédé et dispositif de calcul sur courbes elliptiques par des dispositifs à ressources limitées
WO2022185336A1 (en) * 2021-03-01 2022-09-09 International Institute Of Information Technology, Hyderabad System and method for proven secret key agreement between initiating unit and responding unit
US11784798B2 (en) * 2021-03-30 2023-10-10 Visa International Service Association System, method, and computer program product for data security

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682485A (zh) * 2002-09-20 2005-10-12 皇家飞利浦电子股份有限公司 产生公共密钥的方法和系统
US7480384B2 (en) * 2003-02-10 2009-01-20 International Business Machines Corporation Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
JP2004297578A (ja) * 2003-03-27 2004-10-21 Matsushita Electric Ind Co Ltd 公開鍵生成装置、共有鍵生成装置、鍵交換装置、及び鍵交換方法
KR100581590B1 (ko) * 2003-06-27 2006-05-22 주식회사 케이티 이중 요소 인증된 키 교환 방법 및 이를 이용한 인증방법과 그 방법을 포함하는 프로그램이 저장된 기록매체
CN102177677A (zh) * 2008-10-22 2011-09-07 索尼公司 密钥共享系统
JP5161177B2 (ja) 2009-09-04 2013-03-13 日本電信電話株式会社 代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体
US9037623B2 (en) 2010-01-12 2015-05-19 Nippon Telegraph And Telephone Corporation Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
EP2634760A4 (en) 2010-10-26 2017-01-11 Nippon Telegraph And Telephone Corporation Substitution calculation system, calculation apparatus, capability providing apparatus, substitution calculation method, capability providing method, program, and recording medium
JP5506704B2 (ja) 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
JP5447544B2 (ja) * 2012-01-27 2014-03-19 沖電気工業株式会社 委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システム
JP5964759B2 (ja) * 2013-01-18 2016-08-03 日本電信電話株式会社 計算システム
JP6187251B2 (ja) * 2013-12-27 2017-08-30 富士通株式会社 データ通信方法、およびデータ通信装置
US10305864B2 (en) * 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network

Also Published As

Publication number Publication date
WO2016114259A1 (ja) 2016-07-21
EP3232603A4 (en) 2018-03-14
EP3232603A1 (en) 2017-10-18
JPWO2016114259A1 (ja) 2017-10-19
CN107113168A (zh) 2017-08-29
CN107113168B (zh) 2020-09-08
US20170373841A1 (en) 2017-12-28
EP3232603B1 (en) 2023-05-31
US10419213B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
TWI760149B (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
JP6594348B2 (ja) 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム
JP5494603B2 (ja) セキュリティ処理代行システム
JP2020528691A (ja) 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法
JP5506704B2 (ja) 復号システム、鍵装置、復号方法、及びプログラム
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
Obert et al. Recommendations for trust and encryption in DER interoperability standards
CN102970144A (zh) 基于身份的认证方法
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
Ashraf et al. Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication
JP5434925B2 (ja) 多者分散乗算装置、多者分散乗算システム及び方法
JP2017208773A (ja) 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム
JP5333613B2 (ja) 代行パラメータ情報生成装置、代行装置、代行パラメータ情報生成プログラム、代行プログラム及び通信システム
JP5406796B2 (ja) 本人性証明システム、検証装置、本人性証明方法
Zhang et al. Building PUF as a Service: Distributed Authentication and Recoverable Data Sharing With Multidimensional CRPs Security Protection
JP2019102959A (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
JP2018116231A (ja) Idベース認証鍵交換システム、端末、idベース認証鍵交換方法、プログラム
JP2015186101A (ja) 鍵交換装置、及び鍵交換方法
WO2023242971A1 (ja) 鍵交換システム、機器、方法、及びプログラム
RU2771928C2 (ru) Безопасный обмен данными, обеспечивающий прямую секретность
Román et al. Post-quantum Secure Communication with IoT Devices Using Kyber and SRAM Behavioral and Physical Unclonable Functions
Zhenhua et al. A distributed secret share update scheme with public verifiability for ad hoc network
WO2022244151A1 (ja) 鍵交換システム、端末、サーバ、鍵交換方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190924

R150 Certificate of patent or registration of utility model

Ref document number: 6594348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150