JP4450969B2 - Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium - Google Patents

Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium Download PDF

Info

Publication number
JP4450969B2
JP4450969B2 JP2000335166A JP2000335166A JP4450969B2 JP 4450969 B2 JP4450969 B2 JP 4450969B2 JP 2000335166 A JP2000335166 A JP 2000335166A JP 2000335166 A JP2000335166 A JP 2000335166A JP 4450969 B2 JP4450969 B2 JP 4450969B2
Authority
JP
Japan
Prior art keywords
key
entity
public key
specific information
public
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.)
Expired - Fee Related
Application number
JP2000335166A
Other languages
Japanese (ja)
Other versions
JP2002026892A (en
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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2000335166A priority Critical patent/JP4450969B2/en
Publication of JP2002026892A publication Critical patent/JP2002026892A/en
Application granted granted Critical
Publication of JP4450969B2 publication Critical patent/JP4450969B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/0847Key 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 identity based encryption [IBE] schemes

Abstract

PROBLEM TO BE SOLVED: To provide a key sharing method by which both entities can easily share a common key without the need for preliminary communication between both the entities and to provide an encryption communication method and system that can build up the secure ID-NIKS (ID-based non-interactive key sharing scheme) by adopting the key sharing method. SOLUTION: A center 1 maps ID information of each entity onto a point on an elliptic curve and generates a private key of each entity by using a public key being a mapped value and private information of the center 1 itself. Each entity generates a common key used for encryption processing/decoding processing by using its own private key received from the center 1 and the public key being the mapped value resulting from the ID information of a communication opposite party mapped on the elliptic curve. In this case, a pairing defined onto the elliptic curve is utilized.

Description

【0001】
【発明の属する技術分野】
本発明は、予備通信なして両エンティティ間で共通鍵を共有し合う鍵共有システム、センタにて各エンティティ固有の秘密鍵を生成する秘密鍵生成装置、各エンティティで暗号化処理・復号処理に必要な共通鍵を生成する共通鍵生成システム、情報の内容が当事者以外にはわからないように暗号文にて通信を行う暗号通信方法及び暗号通信システム、並びに、これらのシステムまたは装置を実現するためのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
【0003】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【0004】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号系は、共通鍵暗号系と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。また、両者の鍵が異なる暗号系の一例として、公開鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗号系は、暗号系を利用する各ユーザ(エンティティ)が暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開し、復号鍵のみを秘密に保持するという暗号系である。公開鍵暗号系では、この一対となる暗号化鍵と復号鍵とが異なり、一方向性関数を利用することによって暗号化鍵から復号鍵を割り出せないという特徴を持たせている。
【0005】
公開鍵暗号系は、暗号化鍵を公開するという画期的な暗号系であって、高度情報化社会の確立に必要な上述した3つの要素に適合するものであり、情報通信技術の分野等での利用を図るべく、その研究が活発に行われ、典型的な公開鍵暗号系としてRSA暗号系が提案された。このRSA暗号系は、一方向性関数として素因数分解の困難さを利用して実現されている。また、離散対数問題を解くことの困難さ(離散対数問題)を利用した公開鍵暗号系も種々の手法が提案されてきた。
【0006】
また、各エンティティの住所,氏名,電子メールのアドレス等の個人を特定するID(Identity)情報を利用する暗号系が提案された。この暗号系では、ID情報に基づいて送受信者間で共通の暗号化・復号鍵を生成する。また、このID情報に基づく暗号技法には、(1)暗号文通信に先立って送受信者間での予備通信を必要とする方式と、(2)暗号文通信に先立って送受信者間での予備通信を必要としない方式とがある。特に、(2)の手法は予備通信が不要であるので、エンティティの利便性が高く、将来の暗号系の中枢をなすものと考えられている。
【0007】
この(2)の手法による暗号系は、ID−NIKS(ID-based non-interactive key sharing scheme)と呼ばれており、通信相手のID情報を用いて予備通信を行うことなく暗号化・復号鍵を共有する方式を採用している。ID−NIKSは、送受信者間で公開鍵,秘密鍵を交換する必要がなく、また鍵のリスト及び第三者によるサービスも必要としない方式であり、任意のエンティティ間で安全に通信を行える。
【0008】
図4は、このID−NIKSのシステムの原理を示す図である。信頼できるセンタの存在を仮定し、このセンタを中心にして共通鍵生成システムを構成している。図4において、エンティティXの特定情報であるエンティティXの名前,住所,電話番号,メールアドレス等のID情報を{IDX }で表す。センタは任意のエンティティXに対して、センタ公開情報{PCi },センタ秘密情報{SCi }及びエンティティXのID情報{IDX }に基づいて、以下のように秘密情報SXiを計算し、秘密裏にエンティティXへ配布する。
Xi=Fi ({SCi },{PCi },{IDX })
【0009】
エンティティXは他の任意のエンティティYとの間で、暗号化,復号のための共通鍵KXYを、エンティティX自身の秘密情報{SXi},センタ公開情報{PCi }及び相手先のエンティティYのID情報{IDY }を用いて以下のように生成する。
XY=f({SXi},{PCi },{IDY })
また、エンティティYも同様にエンティティXへの共通鍵KYXを生成する。もし常にKXY=KYXの関係が成立すれば、この鍵KXY,KYXをエンティティX,Y間で暗号化鍵,復号鍵として使用できる。
【0010】
上述した公開鍵暗号系では、例えばRSA暗号系の場合にその公開鍵の長さは現在の電話番号の十数倍となり、極めて煩雑である。これに対して、ID−NIKSでは、各ID情報を名簿という形式で登録しておけば、この名簿を参照して任意のエンティティとの間で共通鍵を生成することができる。従って、図4に示すようなID−NIKSのシステムが安全に実現されれば、多数のエンティティが加入するコンピュータネットワーク上で便利な暗号系を構築できる。このような理由により、ID−NIKSが将来の暗号系の中心になると期待されている。
【0011】
【発明が解決しようとする課題】
通信相手のID情報を用いて予備通信を行うことなく暗号化鍵及び復号鍵となる共通鍵を互いに共有するようなID−NIKSにあっては、特に複数のエンティティが結託する結託攻撃に対して十分に安全であることが望まれる。そして、暗号学的に安全なID−NIKSを構築できるか否かは、高度情報化社会にとって重要な問題であり、より理想的な暗号方式の探究が進められている。
【0012】
本発明は斯かる事情に鑑みてなされたものであり、各エンティティの特定情報(ID情報)に基づいて、楕円暗号で利用されている楕円曲線等の代数曲線上の点に写像することにより、予備通信を行うことなく両エンティティ間で容易に共通鍵を共有し合える鍵共有システム、この鍵共有システムに基づいて安全なID−NIKSを構築できるための秘密鍵生成装置,共通鍵生成システム,暗号通信方法及び暗号通信システム、並びに、これらのシステムまたは装置を実現するためのプログラムを記録した記録媒体を提供することを目的とする。
【0013】
【課題を解決するための手段】
請求項1に係る鍵共有システムは、センタと通信可能に接続された2つのエンティティ夫々を特定する特定情報IDa ,IDb が公開されており、エンティティ夫々の特定情報を楕円曲線上の点に変換するための関数f()及び前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>が公開されており、これら公開されている特定情報、関数及びアルゴリズムに基づき前記エンティティ間で予備通信なしに鍵共有を行う鍵共有システムであって、前記センタは、エンティティ夫々の特定情報IDa ,IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa ),Pb =f(IDb )を生成する公開鍵生成器並びに該公開鍵生成器が生成したエンティティ夫々の公開鍵Pa ,Pb を受け付け、乱数rを生成し、受け付けた公開鍵Pa ,Pbび生成した乱数rの積として秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成する秘密鍵生成器を備え、生成した秘密鍵Sa ,Sb を対応するエンティティ夫々に配布するようにしてあり、前記エンティティ夫々は、通信相手のエンティティの特定情報IDa (又はIDb )及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成する公開鍵生成器並びに該公開鍵生成器で生成した公開鍵Pa (又はPb )、前記センタから配布された自身の秘密鍵Sb (又はSa )及び前記アルゴリズム<,>を受け付け、受け付けた公開鍵、及び秘密鍵をアルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成する共通鍵生成器を備えることを特徴とする。
【0017】
請求項に係る鍵共有システムは、請求項1において、前記楕円曲線は、その上で定義される離散対数問題を多項式時間で解くことができない楕円曲線であることを特徴とする。
【0019】
請求項3に係る鍵共有システムは、請求項1または2において、前記センタ又はエンティティの公開鍵生成器は、同一エンティティの複数の特定情報を受け付け、受け付けた複数の特定情報それぞれを前記関数に代入して複数の公開鍵を生成するようにしてあることを特徴とする。
【0020】
請求項4に係る秘密鍵生成装置は、エンティティを特定する特定情報IDa を楕円曲線上の点に変換するための公開されている関数f()に基づいて前記エンティティの秘密鍵を生成する秘密鍵生成装置であって、エンティティの特定情報IDa 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa )を生成する手段と、該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵及び生成した乱数rの積として秘密鍵Sa =r・f(IDa )を生成する手段とを備えることを特徴とする。
【0021】
請求項5に係る秘密鍵生成装置は、エンティティを特定する特定情報IDa を楕円曲線上の点に変換するための公開されている関数f()に基づいて前記エンティティの秘密鍵を生成する秘密鍵生成装置であって、前記エンティティの特定情報IDa 、前記関数f()及びハッシュ関数h()を受け付け、公開鍵Pa =f(h(IDa ))を生成する手段と、該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵Paび生成した乱数rの積として秘密鍵Sa =r・f(h(IDa ))を生成する手段とを備えることを特徴とする。
【0022】
請求項6に係る共通鍵生成システムは、第1エンティティを特定する特定情報IDa に基づいてセンタで生成される秘密鍵Sa と、通信相手の第2エンティティを特定する特定情報IDb に基づく公開鍵Pb と、エンティティを特定する特定情報を楕円曲線上の点に変換するための関数f()とから共通鍵を生成する共通鍵生成システムであって、前記センタは、前記第1エンティティの特定情報IDa 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して第1エンティティの公開鍵Pa =f(IDa )を生成する手段と、該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵Paび生成した乱数rの積として第1エンティティの秘密鍵Sa =r・f(IDa )を生成する手段を備えており前記第1エンティティは、前記第2エンティティの特定情報IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して第2エンティティの公開鍵Pb =f(IDb )を生成する公開鍵生成器と、該公開鍵生成器で生成した第2エンティティの公開鍵Pb 、前記センタで生成した第1エンティティの秘密鍵Sa 及び前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>を受け付け、受け付けた公開鍵Pb 、秘密鍵Sa をアルゴリズム<,>に代入して共通鍵Kab=<Sa ,Pb >を生成する共通鍵生成器とを備えることを特徴とする。
【0025】
請求項7に係る暗号通信方法は、センタと通信可能に接続された複数のエンティティそれぞれへ前記センタから各エンティティの秘密鍵を送付し、一方のエンティティが前記センタから送付された自身の秘密鍵と他方のエンティティの公開鍵とから求めた共通鍵を用いて平文を暗号文に暗号化して前記他方のエンティティへ伝送し、前記他方のエンティティが伝送された暗号文を、前記センタから送付された自身の秘密鍵と前記一方のエンティティの公開鍵とから求めた、前記共通鍵と同一の共通鍵を用いて平文に復号することにより、エンティティ間で情報の通信を行う暗号通信方法において、前記センタは、エンティティ夫々の特定情報IDa ,IDb 及び該特定情報を楕円曲線上の点に変換するための関数f()を受け付け、受け付けた特定情報を関数に代入してエンティティ夫々の公開鍵Pa =f(IDa ),Pb =f(IDb )を生成し、乱数rを生成し、生成したエンティティ夫々の公開鍵Pa ,Pbび生成した乱数rの積としてエンティティ夫々の秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成し、生成した秘密鍵を対応するエンティティ夫々に配布し、前記エンティティ夫々は、通信相手のエンティティの特定情報IDa(又はIDb )、及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成し、生成した公開鍵Pa (又はPb )、前記センタから送付された自身の秘密鍵Sb (又はSa )、及び公開されている、前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>を受け付け、受け付けた公開鍵及び秘密鍵を前記アルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成することを特徴とする。
【0028】
請求項8に係る暗号通信システムは、センタと通信可能に接続された複数のエンティティを備え、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び送信された暗号文を平文に復号する復号処理を、複数のエンティティ間で相互に行うこととし、各エンティティを特定する特定情報に基づいて各エンティティの秘密鍵を生成して各エンティティへ送付するセンタと、該センタから送付された自身の秘密鍵と通信対象のエンティティの特定情報に基づく公開鍵とを用いて前記暗号化処理及び復号処理に使用する共通鍵を生成する複数のエンティティとを有し、エンティティ夫々の特定情報を楕円曲線上の点に変換するための関数及び前記楕円曲線上で定義されるイユペアリングのアルゴリズムが公開されている暗号通信システムであって、前記センタは、エンティティ夫々の特定情報IDa ,IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa ),Pb =f(IDb )を生成する公開鍵生成器並びに該公開鍵生成器が生成したエンティティ夫々の公開鍵Pa ,Pb を受け付け、乱数rを生成し、受け付けた公開鍵Pa ,Pbび生成した乱数rの積として秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成する秘密鍵生成器を備え、生成した秘密鍵Sa ,Sb を対応するエンティティ夫々に配布するようにしてあり、エンティティ夫々は、通信相手のエンティティの特定情報IDa (又はIDb )及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成する公開鍵生成器並びに該公開鍵生成器で生成した公開鍵Pa (又はPb )、前記センタから送付された自身の秘密鍵Sb (又はSa )及び前記アルゴリズム<,>を受け付け、受け付けた公開鍵、秘密鍵をアルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成する共通鍵生成器を備えることを特徴とする。
【0029】
請求項に係る記録媒体は、コンピュータを請求項または5に記載の秘密鍵生成装置として機能させるためのコンピュータプログラムを記録してあることを特徴とする。
【0031】
本発明では、各エンティティの特定情報(ID情報)に基づいて、楕円暗号で利用されている楕円曲線,超楕円曲線等の代数曲線上の点に写像し、その写像値を各エンティティの公開鍵とする。この代数曲線及び写像のアルゴリスムは公開する。センタでは、各エンティティの特定情報(ID情報)に基づき代数曲線上の点に写像し、その写像値とセンタ自身の秘密情報とを用いて、各エンティティ固有の秘密鍵を生成し、これを対応するエンティティへ秘密裏に送付する。各エンティティは、センタから送られる自身固有の秘密鍵と、通信相手の特定情報(ID情報)に基づき代数曲線上の点に写像した写像値とを用いて、暗号化処理・復号処理に用いる共通鍵を生成する。この際、楕円曲線上で定義されるペアリング(ベイユ(Weil)ペアリング,テイト(Tate)ペアリング等) を利用して、予備通信を行うことなく、両エンティティ間で同一の共通鍵を共有する。本発明における代数曲線上の点への写像は、各エンティティ,センタの何れでも可能である。
【0032】
本発明では、安全性の根拠を代数曲線上の離散対数問題(例えば楕円曲線上の離散対数問題、以下、これを単に楕円離散対数問題という)に置いている。複数のエンティティによる結託攻撃にて本発明の暗号システムが破られることは、例えば楕円離散対数問題が解かれることと等価であるかまたはそれ以上に困難であり、その安全性は極めて高い。
【0033】
【発明の実施の形態】
本発明の実施の形態について具体的に説明する。
図1は、本発明の暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できるセンタ1が設定されており、このセンタ1としては、例えば社会の公的機関を該当できる。このセンタ1と、この暗号通信システムを利用するユーザとしての複数の各エンティティA,B,…,Zとは、秘密通信路2a,2b,…,2zにより接続されており、これらの秘密通信路2a,2b,…,2zを介してセンタ1から秘密の鍵情報(秘密鍵Sa ,Sb ,…,Sz )が各エンティティA,B,…,Zへ伝送されるようになっている。また、2人のエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【0034】
以下、代数曲線として楕円曲線を用いる場合の本発明における基本方式について説明する。
まず、本発明で用いる楕円曲線のベイユペアリングの基本的性質を述べる。ベイユペアリングは、楕円曲線上の点がなす群E/Fq から有限体上Fd (但し、d=qk )の乗法群への写像である。ベイユペアリングには、以下に示すよう双線形性と交換則とが成り立つ。なお、<,>はベイユペアリングを表し、P,P1 ,P2 ,Q,Q1 ,Q2 は楕円曲線上の点を示す。
【0035】
(双線形性)
<P1 +P2 ,Q>=<P1 ,Q><P2 ,Q>
<P,Q1 +Q2 >=<P,Q1 ><P,Q2
(交換則)
<P,Q>=<Q,P>-1
双線形性を有するので、mを整数とした場合、以下のような等式が成立する。
<mP,Q>=<P,Q>m
<P,mQ>=<P,Q>m
【0036】
ベイユペアリングに基づく鍵共有法を以下に説明する。
(センタ1での秘密鍵生成)
任意のエンティティAの名前,住所,電話番号,メールアドレス等の特定情報(ID情報)をIDa とする。センタ1は、ベイユペアリングのアルゴリズム<,>と任意のエンティティAのID情報IDa を楕円曲線上の点Pa ∈E/Fq に変換して(写像して)公開鍵を求める関数f()とを公開する。また、センタ1は、秘密の乱数rを生成し、この乱数rとエンティティAの公開鍵Pa とを用いて下記(1)のようにエンティティAの秘密鍵Sa を求め、求めた秘密鍵Sa を秘密裏にエンティティAへ配布する。
a =rPa …(1)
【0037】
以上のような秘密情報,公開情報をまとめると、次のようになる。
センタ1の公開情報 :<,>,f()
センタ1の秘密情報 :r(ランダムな整数)
エンティティAの公開鍵:Pa (=f(IDa ))
エンティティAの秘密鍵:Sa (=r・f(IDa ))
【0038】
(エンティティA,Bでの共通鍵生成)
各エンティティは、センタ1から配布された自身の秘密鍵と通信相手であるエンティティの公開鍵とから、楕円曲線上でのベイユペアリングを利用して、共通鍵を生成する。
(第1例)
エンティティAのID情報IDa とエンティティBのID情報IDb との間での大小比較を行えるアルゴリスムを設定し、ペアリングを計算する際にその大小情報を用いてペアリングの順序を適切に設定する。このアルゴリスムとしては、辞書式または2進数で表したときの大小などが可能である。なお、ペアリングの順序を設定する方法として、ID情報IDa ,IDb を変換(写像)した後の公開鍵Pa ,Pb の大小情報を用いることも可能である。
【0039】
例えば、IDa >IDb である場合、エンティティAは、自身の秘密鍵Sa と、エンティティBのID情報IDb を楕円曲線に写像した公開鍵Pb とを用いて、下記(2)に従って共通鍵Kabを生成する。

Figure 0004450969
【0040】
一方、IDa >IDb である場合、エンティティBは、エンティティAのID情報IDa を楕円曲線に写像した公開鍵Pa と自身の秘密鍵Sb とを用いて、下記(3)に従って共通鍵Kbaを生成する。
Figure 0004450969
よって、エンティティAが生成する共通鍵KabとエンティティBが生成する共通鍵Kbaとは一致して、両エンティティA,B間で共通鍵を共有できる。
【0041】
以下に、上記のようなID情報の大小関係を設定しないで鍵共有を可能とする2つの例について説明する。
【0042】
(第2例)
x,yに関する対称関数g(x,y)(但し、g(x,y)=xyは除く)を設定する。以下の例では、g(x,y)=x+yとする。エンティティAは、g(x,y)=x+yに従って下記(4)のように、共通鍵Kab=kab+kbaを生成する。
Figure 0004450969
【0043】
一方、エンティティBは、g(x,y)=x+yに従って下記(5)のように、共通鍵Kba=kba+kabを生成する。
Figure 0004450969
よって、エンティティAが生成する共通鍵KabとエンティティBが生成する共通鍵Kbaとは一致して、両エンティティA,B間で共通鍵を共有できる。なお、他の種類の対称関数g(x,y)を利用しても、同様に鍵共有が可能である。
【0044】
(第3例)
エンティティAは、第2例で示したkabを用いて、下記(6)のように、共通鍵Kab=kab+kab -1を生成する。
Figure 0004450969
【0045】
エンティティBは、第2例で示したkbaを用いて、下記(7)のように、共通鍵Kba=kba+kba -1を生成する。
Figure 0004450969
よって、エンティティAが生成する共通鍵KabとエンティティBが生成する共通鍵Kbaとは一致して、両エンティティA,B間で共通鍵を共有できる。
【0046】
(第4例)
エンティティAは、自身の秘密鍵Sa とエンティティBの公開鍵Pb とを用いて、下記(8)のようにして、中間鍵Iabを生成する。
Figure 0004450969
【0047】
エンティティBは、自身の秘密鍵Sb とエンティティAの公開鍵Pa とを用いて、下記(9)のようにして、中間鍵Ibaを生成する。
Figure 0004450969
【0048】
ここで、ベイユペアリングにおける前述した(交換則)により、Iab×Iba=1の関係が成立することが分かる。このような逆数の関係を利用して、両エンティティA,B間で鍵共有を行うことも可能である。
【0049】
以上のようにして、ベイユペアリングを利用して、各エンティティ間で等しい共通鍵を容易に生成できる。
【0050】
なお、上述した例では、エンティティAのID情報IDa から直接に写像点Pa を求めるようにしたが、一方向性関数を用いてID情報IDa を変換し、その変換値から写像点Pa を求めるようにしても良い。この際、一方向性関数の例としてハッシュ関数h()を用いた場合、公開鍵Pa =f(h(IDa )),秘密鍵Sa =r・f(h(IDa ))となる。
【0051】
エンティティが、センタ1の秘密情報rを求めることを困難にするためには、次の2つの条件が必要である。
(条件1)qを2160 以上に設定すること。
(条件2)#E/Fq |qk −1かつqk >21024を満たすような整数kが存在すること。
【0052】
(条件1)は、楕円離散対数問題を求めることを困難にするために必要である。(条件2)は、有限体Fd (但し,d=qk )の離散対数問題を求めることを困難にするために必要である。
【0053】
次に、上述した鍵共有方式を利用した暗号システムにおけるエンティティ間の情報通信について説明する。図2は、2人のエンティティA,B間における情報の通信状態を示す模式図である。図2の例は、エンティティAが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティBへ伝送し、エンティティBがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0054】
センタ1には、関数f()を用いて、各エンティティA,BのID情報IDa ,IDb を楕円曲線に写像した写像位置である公開鍵Pa ,Pb を得る公開鍵生成器1aと、その公開鍵Pa ,Pb とセンタ固有の秘密情報rとを用いて各エンティティA,Bの秘密鍵Sa ,Sb を求める秘密鍵生成器1bとが備えられている。そして、センタ1から各エンティティA,Bへ、前記(1)に従って生成された秘密鍵Sa ,Sb が送付される。
【0055】
エンティティA側には、エンティティBのID情報IDb を入力し、それを楕円曲線に写像した写像位置である公開鍵Pb を得る公開鍵生成器11と、センタ1から送られる秘密鍵Sa と公開鍵生成器11からの公開鍵Pb とに基づいてエンティティAが求めるエンティティBとの共通鍵Kabを生成する共通鍵生成器12と、共通鍵Kabを使用して平文(メッセージ)Mを暗号文Cに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【0056】
また、エンティティB側には、エンティティAのID情報IDa を入力し、それを楕円曲線に写像した写像位置である公開鍵Pa を得る公開鍵生成器21と、センタ1から送られる秘密鍵Sb と公開鍵生成器21からの公開Pa とに基づいてエンティティBが求めるエンティティAとの共通鍵Kbaを生成する共通鍵生成器22と、通信路30から入力した暗号文Cを共通鍵Kbaを使用して平文(メッセージ)Mに復号して出力する復号器23とが備えられている。
【0057】
次に、動作について説明する。エンティティAからエンティティBへ情報を伝送しようとする場合、まず、エンティティBのID情報IDb が公開鍵生成器11に入力されて公開鍵Pb が得られ、得られた公開鍵Pb が共通鍵生成器12へ送られる。また、センタ1から秘密鍵Sa が共通鍵生成器12へ入力される。そして、前記(2),(4)または(6)に従って共通鍵Kabが求められて、暗号化器13へ送られる。暗号化器13において、この共通鍵Kabを用いて平文(メッセージ)Mが暗号文Cに暗号化され、暗号文Cが通信路30を介して伝送される。
【0058】
通信路30を伝送された暗号文CはエンティティBの復号器23へ入力される。エンティティAのID情報IDa が公開鍵生成器21に入力されて公開鍵Pa が得られ、得られた公開鍵Pa が共通鍵生成器22へ送られる。また、センタ1から秘密鍵Sb が共通鍵生成器22へ入力される。そして、前記(3),(5)または(7)に従って共通鍵Kbaが求められて、復号器23へ送られる。復号器23において、この共通鍵Kbaを用いて暗号文Cが平文(メッセージ)Mに復号される。
【0059】
次に、本発明における安全性について説明する。本発明の安全性は、楕円離散対数問題と後述するようにこれと等価である拡張楕円離散対数問題とに基づいている。
【0060】
〔楕円離散対数問題と拡張楕円離散対数問題との等価性〕
通常の楕円離散対数問題とは、楕円曲線E上の任意の点Pとそのr倍点Q=rPが与えられている場合に、P,Qからrを求める問題である。ここで、下記(10)のように、楕円曲線上の任意の点Pi (1≦i≦n−1)とその点Pi に基づくQが与えられている場合に、ある1組のri (1≦i≦n−1)を求める問題を拡張楕円離散対数問題と定義する。楕円離散対数問題と拡張楕円離散対数問題との等価性について考察する。なお、議論の簡単化のために楕円曲線は素数位数pとする。
【0061】
【数1】
Figure 0004450969
【0062】
(楕円離散対数問題から拡張楕円離散対数問題への帰着)
楕円離散対数問題がベースポイントPを基準として解けると仮定する。Pi (1≦i≦n−1)及びQは、夫々楕円曲線上のベースポイントPを基準として係数を、下記(11)のように求めることができる。
【0063】
【数2】
Figure 0004450969
【0064】
係数ri ′,r′をFp の元として、下記(12)の不定方程式を解くことにより、ri (1≦i≦n−1)を求めることが可能である。よって、拡張楕円離散対数問題を解くことができる。
【0065】
【数3】
Figure 0004450969
【0066】
(拡張楕円離散対数問題から楕円離散対数問題への帰着)
任意の拡張楕円離散対数問題が解けると仮定する。ここで、楕円曲線上の点Pi (1≦i≦n)に対して、下記(13)で示される拡張楕円離散対数問題を解き、これを行列を用いて表すと下記(14)のようになる。
【0067】
【数4】
Figure 0004450969
【0068】
上記(14)の行列について係数のみを抜き出すと下記(15)のような関係式が得られ、下記(16)のように変形可能である。
【0069】
【数5】
Figure 0004450969
【0070】
上記(16)から分かるように、点Pi (1≦i≦n−1)はPn の定数倍で表すことが可能である。即ち、拡張楕円離散対数問題を解くことによって、Pi =ri ′Pn を満たすri ′を求めることができる。
以上のことから、楕円離散対数問題と拡張楕円離散対数問題とは等価になる。
【0071】
〔センタの秘密情報に関する安全性〕
エンティティCの公開鍵Pc と秘密鍵Sc とからセンタの秘密情報rを得ることは、楕円離散対数問題を解くことと等価であって、困難である。
エンティティAの公開鍵Pa とエンティティBの公開鍵Pb とから<Pa ,Pb >を計算し、これと共通鍵Kab=<Pa ,Pb r とからrを得ることは離散対数問題を解くことと等価であって、困難である。
よって、どのエンティティもセンタの秘密情報rを求めることができない。
【0072】
〔エンティティの秘密鍵に関する安全性〕
n人のエンティティが結託してエンティティCの秘密鍵Sc を偽造する攻撃について考察する。エンティティCの公開鍵Pc が下記(17)のように他のエンティティの公開鍵の線形結合によって表すことが可能であると仮定すると、前記(1)にこの線形結合を代入すると、下記(18)の関係式が成立するので、エンティティCの秘密鍵Sc が露呈する。
Figure 0004450969
【0073】
しかし、上記(17)での係数ui を得るには拡張楕円離散対数問題を解く必要があり、このような攻撃は困難であるといえる。よって、安全性は拡張楕円離散対数問題を解くことの難しさに基づいている。
【0074】
ここで、この秘密鍵の安全性について更に詳述する。拡張楕円離散対数問題は、PをE/Fq 上の任意の点、(G1 ,G2 )をE/Fq の生成元とした場合に、下記(19)において係数u1 ,u2 を求める問題である。
P=u1 1 +u2 2 …(19)
【0075】
1 ,G2 の次数を#(G1 ),#(G2 )と定義する。但し、#(G1 )|#(G2 )とする。拡張楕円離散対数問題が解けるとすれば、P=u1 1 +u2 2 での係数u1 ,u2 及びQ=v1 1 +v2 2 での係数v1 ,v2 は求まり、楕円離散対数問題Q=rPは、下記(20)のように解ける。
【0076】
【数6】
Figure 0004450969
【0077】
上記(17)を解く問題と拡張楕円離散対数問題との等価性について考察する。上記(17)が解けたとすると、下記(21)のri,j を求めることができる。
【0078】
【数7】
Figure 0004450969
【0079】
そして、下記(22)の式において、左辺の(n−2)×(n−2)の行列式が、Pn-1 =G1 ,Pn =G2 である#(G2 )に素であるという仮定のもとで、その下記(22)の式を解くことができる。行列式が#(G2 )に素でない場合には、上記(21)の別の解ri,j を選択できる。
【0080】
【数8】
Figure 0004450969
【0081】
この結果、上記(17)が解けるとすれば、下記(23)に示すPi と(G1 ,G2 )との拡張楕円離散対数問題も解ける。
【0082】
【数9】
Figure 0004450969
【0083】
これとは逆に、拡張楕円離散対数問題が解ければ、上記(17)が解けることを示す。Pi と(G1 ,G2 )との拡張楕円離散対数問題を下記(24)のように定義し、PC と(G1 ,G2 )との拡張楕円離散対数問題を下記(25)のように定義すると、下記(26)に示すような関係が成立する。
【0084】
【数10】
Figure 0004450969
【0085】
j とri,j が与えられている場合には、ui が解けることは明らかである。よって、上記(17)を解く問題と拡張楕円離散対数問題とは等価である。また、楕円曲線の群が周期的である場合、拡張楕円離散対数問題が楕円離散対数問題と等価であることは明らかである。よって、この場合、上記(17)を解く問題は楕円離散対数問題と等価になる。
【0086】
〔エンティティ間の共通鍵に関する安全性〕
n人のエンティティの結託により、エンティティA,エンティティC間の共通鍵を偽造する攻撃について考察する。エンティティCの公開鍵Pc が上記(17)のように他のエンティティの公開鍵の線形結合によって表すことが可能であると仮定すると、下記(27),(28)のように、両エンティティA,C間の共通鍵Kac,Kcaが露呈する。エンティティCの秘密鍵Sc が線形結合により書き表せる場合も同様に考えられる。
【0087】
【数11】
Figure 0004450969
【0088】
しかしながら、上記(17)での係数ui を求めるには拡張楕円離散対数問題を解くことになり、このような攻撃は困難である。
【0089】
もし、エンティティAが自身の公開鍵Pa ,秘密鍵Sa から他のエンティティ間の共通鍵Kbcを偽造しようとしても不可能である。なぜなら、秘密鍵Sb ,Sc はエンティティB,Cの秘密情報であり、それらは秘密情報rなしでは求められないからである。よって、どのエンティティも共通鍵Kbcを偽造できない。
【0090】
秘密鍵Sb ,Sc なしに結託エンティティIの秘密鍵Si から共通鍵Kbcを求める結託攻撃は、秘密鍵Si から秘密鍵Sb ,Sc を求める場合と同じ問題になる。また、結託エンティティI,J間の共通鍵Kijから共通鍵Kbcを求める結託攻撃は、センタの秘密情報rを知らないので、困難な問題となる。共通鍵Kbcを求める問題は、Diffe-Hellman 型問題に帰着する。
【0091】
ところで、エンティティAは共通鍵Kab,Kacを算出することが可能であるので、共通鍵Kab,Kacから共通鍵Kbcを求めることができるとすれば、エンティティAは他エンティティ間の共通鍵を偽造可能である。しかし、このような攻撃法は本発明には適用困難である。
【0092】
以下、本発明の他の実施の形態である、各エンティティのID情報をベクトルに拡張した鍵共有方式について説明する。
【0093】
エンティティAのID情報であるベクトルPa を下記(29)のように表す。
ベクトルPa =(Pa1,Pa2,・・・,Pan) …(29)
また、センタ1の秘密情報としてn×nの対称行列Rを下記(30)のように設定する。
【0094】
【数12】
Figure 0004450969
【0095】
センタ1は、このベクトルPa 及び対称行列Rを用い、下記(31)に従って、エンティティAの秘密鍵(ベクトルSa )を求め、求めた秘密鍵を秘密裏にエンティティAへ送付する。
【0096】
【数13】
Figure 0004450969
【0097】
エンティティAは、エンティティBとの共通鍵Kabを下記(32)に従って生成する。但し、点と点との積はベイユペアリングの値とする。
【0098】
【数14】
Figure 0004450969
【0099】
また、エンティティBは、エンティティAとの共通鍵Kbaを同様に生成する。そして、前述した実施の形態の第1例のように各エンティティA,B間のID情報の大小関係を考慮するようにした場合には、Kab=Kbaとなり、同一の共通鍵を共有し合うことができる。
【0100】
次に、この実施の形態における安全性について考察する。
〔センタの秘密情報に関する安全性〕
エンティティCの公開鍵ベクトルPc と秘密鍵ベクトルSc とからセンタの秘密行列Rを得ることは、拡張楕円離散対数問題を解くことと等価であって、困難である。
エンティティAの公開鍵ベクトルPa とエンティティBの公開鍵ベクトルPb とから<Pai,Pbj>(1≦i,j≦n)を計算し、これと下記(33)に示す共通鍵Kabとから行列Rの各成分rij(1≦i,j≦n)を得ることは、拡張楕円離散対数問題が楕円離散対数問題とが等価であることと同様に、拡張離散対数問題と離散対数問題とで等価である。
【0101】
【数15】
Figure 0004450969
【0102】
以上のことから、センタ1の秘密情報(対称行列R)は露呈しない。
【0103】
〔エンティティの秘密鍵に関する安全性〕
n人のエンティティが結託してエンティティCの秘密鍵ベクトルSc を偽造する攻撃について考察する。エンティティCの公開鍵ベクトルPc が下記(34)のように他のエンティティの公開鍵ベクトルの線形結合によって表すことが可能であると仮定すると、前記(31)にこの線形結合を代入すると、下記(35)の関係式が成立するので、エンティティCの秘密鍵ベクトルSc が露呈する。
【0104】
【数16】
Figure 0004450969
【0105】
しかし、前記(31)での成分を得るには拡張楕円離散対数問題を解く必要があり、このような攻撃は困難であるといえる。よって、安全性は拡張楕円離散対数問題を解くことの難しさに基づいている。
【0106】
〔エンティティ間の共通鍵に関する安全性〕
n人のエンティティの結託により、エンティティA,エンティティC間の共通鍵を偽造する攻撃について考察する。エンティティCの公開鍵ベクトルPc が上記(34)のように他のエンティティの公開鍵ベクトルの線形結合によって表すことが可能であると仮定すると、下記(36),(37)のように、両エンティティA,C間の共通鍵Kac,Kcaが露呈する。エンティティCの秘密鍵ベクトルSc が線形結合により書き表せる場合も同様に考えられる。
【0107】
【数17】
Figure 0004450969
【0108】
しかしながら、上記(34)での係数ui を求めるには拡張楕円離散対数問題を解くことになり、このような攻撃は困難である。
【0109】
また、この実施の形態にあっても、上述した実施の形態と同様に、あるエンティティが自身の共通鍵から他のエンティティ同士間の共通鍵を生成することは困難である。
【0110】
なお、エンティティのID情報をn×nの対称行列に拡張することも可能である。この場合、共通鍵行列kab=(sij)と共通鍵行列kba=(tji)とは、下記(38)の関係を満たす。
ij=tji -1 …(38)
【0111】
なお、上述した例ではベイユペアリングを用いる場合について説明したが、楕円曲線上のペアリングとしてテイト(Tate)ペアリングを利用する場合にあっても、同様に両エンティティ間で鍵共有を行える。
【0112】
また、ベイユペアリング及びテイトペアリングの何れの場合にあっても、鍵共有を行う際のペアリング<P,Q>において、点Pの座標と点Qの座標とが異なる体に属するようにペアリングの計算を拡張することができる。また、点Pの座標を小さな体で定義するとペアリングの計算を高速に行うことができる。
【0113】
楕円曲線の定義体を変更する利点は、確実に共通鍵が1とならないようにできるという点、及び、高速に計算できるという点である。楕円曲線の定義体を変更する場合、つまり、2通りの定義体を用いる場合には、2通りの公開鍵への対応のさせ方が必要である。従来のID−NIKSでは、エンティティがID情報によって決まる1通りの公開鍵と自身の秘密鍵とを用いて鍵共有を行っているが、この方式では、ID情報に基づいて、定義体が異なる同一の楕円曲線上の点へ、2通りの異なるやり方によって公開鍵を写像し、ID情報または公開鍵に基づき、一方のエンティティが何れか一方の定義体による公開鍵を使用し、他方のエンティティが他方の定義体による公開鍵を使用して、鍵共有を行う。
【0114】
全エンティティを2つのグループG1 ,G2 に分ける。グループG1 に属するエンティティはPを含む群の元を、グループG2 に属するエンティティはQを含む群の元を夫々ID情報として用いることにより、グループG1 のエンティティとグループG2 のエンティティとにおいて鍵を共有することが可能である。
各エンティティが2種類のID情報を有しており、エンティティAとエンティティBとの各ID情報に何らかの大小関係を示すアルゴリズムを設定し、何れのエンティティがどちらのID情報を使用するかを決定することにより、鍵の共有化を行える。
各エンティティが2種類のID情報を有しており、両エンティティ間で2種類の値を計算し、その2つの計算値を足し合わせる等、同じ値になる演算を用いて共通鍵を生成する。
Pを含む群の元とQを含む群の元との間の変換を適切に定め、その変換をシステム固有の公開情報として用いることにより、鍵の共有化が可能である。
【0115】
なお、上述した例では代数曲線として楕円曲線を用いる場合について説明したが、超楕円曲線を用いる場合にあっても、超楕円離散対数問題及びペアリングを定義できるので、簡単に拡張することができる。
【0116】
図3は、本発明の記録媒体の実施の形態の構成を示す図である。ここに例示するプログラムは、各エンティティのID情報とセンタ固有の秘密情報とに基づき前述した手法にて各エンティティ固有の秘密鍵を生成する処理(エンティティのID情報に基づき楕円曲線上の点に写像して写像値を得るステップと、その写像値とセンタ固有の秘密情報とを用いて秘密鍵を生成するステップ)を含むか、または、エンティティ自身の秘密鍵と通信相手のエンティティの公開鍵とに基づき前述した手法にて共通鍵を生成する処理(通信相手のエンティティのID情報に基づき楕円曲線上の点に写像して写像値を得るステップと、その写像値とエンティティ自身の秘密鍵とを用いて共通鍵を生成するステップ)を含んでおり、以下に説明する記録媒体に記録されている。なお、コンピュータ40は、センタ1側か、または、各エンティティ側に設けられている。
【0117】
図3において、コンピュータ40とオンライン接続する記録媒体41は、コンピュータ40の設置場所から隔たって設置される例えばWWW(World Wide Web)のサーバコンピュータを用いてなり、記録媒体41には前述の如きプログラム41aが記録されている。記録媒体41から読み出されたプログラム41aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0118】
コンピュータ40の内部に設けられた記録媒体42は、内蔵設置される例えばハードディスクドライブまたはROM等を用いてなり、記録媒体42には前述の如きプログラム42aが記録されている。記録媒体42から読み出されたプログラム42aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0119】
コンピュータ40に設けられたディスクドライブ40aに装填して使用される記録媒体43は、運搬可能な例えば光磁気ディスク,CD−ROMまたはフレキシブルディスク等を用いてなり、記録媒体43には前述の如きプログラム43aが記録されている。記録媒体43から読み出されたプログラム43aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0120】
【発明の効果】
以上詳述したように、本発明では、各エンティティのID情報から生成する公開鍵を楕円曲線上で写像するようにしたので、予備通信を行うことなく両エンティティ間で容易に共通鍵を共有し合うことができる。また、本発明ではその安全性が代数曲線上の離散対数問題に置かれており、結託攻撃などの攻撃に対して強く、ID−NIKSの発展に本発明は寄与できる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】2人のエンティティ間における情報の通信状態を示す模式図である。
【図3】記録媒体の実施の形態の構成を示す図である。
【図4】ID−NIKSのシステムの原理構成図である。
【符号の説明】
1 センタ
11,21 公開鍵生成器
12,22 共通鍵生成器
13 暗号化器
23 復号器
30 通信路
40 コンピュータ
41,42,43 記録媒体
A,B,Z エンティティ[0001]
BACKGROUND OF THE INVENTION
  The present invention provides a key sharing system in which a common key is shared between both entities without preliminary communication, a secret key generation device that generates a secret key unique to each entity at the center, and is necessary for encryption processing and decryption processing at each entity Key generation to generate a common keysystemThe present invention relates to an encryption communication method and an encryption communication system for performing communication using ciphertext so that the contents of information cannot be understood by anyone other than the parties, and a recording medium on which a program for realizing these systems or devices is recorded.
[0002]
[Prior art]
In a modern society called an advanced information society, important business documents and image information are transmitted, communicated and processed in the form of electronic information based on a computer network. Such electronic information has the property that it can be easily copied, and it is difficult to distinguish between a copy and the original, and the problem of information maintenance is regarded as important. In particular, the realization of a computer network that satisfies the elements of "computer resource sharing", "multi-access", and "broadening" is essential for establishing an advanced information society. Contains conflicting elements. As an effective technique for resolving such contradiction, attention has been paid to cryptographic techniques that have been used mainly in the military and diplomatic aspects of human history.
[0003]
Cryptography is the exchange of information so that the meaning of the information cannot be understood by anyone other than the parties. In cryptography, encryption is the conversion of an original sentence (plain text) that anyone can understand into a sentence (cipher text) whose meaning is unknown to a third party, and decryption is to convert the cipher text back to plain text. The entire process of encryption and decryption is collectively called an encryption system. In the encryption process and the decryption process, secret information called an encryption key and a decryption key is used, respectively. Since a secret decryption key is required at the time of decryption, only a person who knows the decryption key can decrypt the ciphertext, and the confidentiality of information can be maintained by the encryption.
[0004]
The encryption key and the decryption key may be the same or different. An encryption system in which both keys are equal is called a common key encryption system, and DES (Data Encryption Standards) adopted by the US Bureau of Commerce Standards is a typical example. In addition, as an example of an encryption system in which both keys are different, an encryption system called a public key encryption system has been proposed. In this public key cryptosystem, each user (entity) using the cryptosystem creates a pair of encryption key and decryption key, publishes the encryption key in the public key list, and keeps only the decryption key secret It is a cryptographic system that does. In the public key cryptosystem, the pair of encryption key and decryption key are different, and the decryption key cannot be calculated from the encryption key by using a one-way function.
[0005]
The public key cryptosystem is an epoch-making cryptosystem that publishes an encryption key, and conforms to the above three elements necessary for establishing an advanced information society. In order to make use of the RSA cryptosystem, the research is actively conducted, and the RSA cryptosystem is proposed as a typical public key cryptosystem. This RSA cryptosystem is realized using the difficulty of prime factorization as a one-way function. Various methods have also been proposed for public key cryptosystems that utilize the difficulty of solving discrete logarithm problems (discrete logarithm problem).
[0006]
Also, an encryption system using ID (Identity) information for identifying an individual such as the address, name, and e-mail address of each entity has been proposed. In this encryption system, a common encryption / decryption key is generated between the sender and the receiver based on the ID information. In addition, the encryption technique based on this ID information includes (1) a method that requires preliminary communication between the sender and receiver prior to ciphertext communication, and (2) a backup between the sender and receiver prior to ciphertext communication. There are methods that do not require communication. In particular, since the method (2) does not require preliminary communication, the convenience of the entity is high, and it is considered to be the center of the future encryption system.
[0007]
The encryption system based on the method (2) is called ID-NIKS (ID-based non-interactive key sharing scheme), and the encryption / decryption key is used without performing preliminary communication using the ID information of the communication partner. The method of sharing is adopted. ID-NIKS is a scheme that does not require the exchange of a public key and a secret key between senders and receivers, and does not require a key list or a service by a third party, and allows secure communication between arbitrary entities.
[0008]
FIG. 4 is a diagram showing the principle of the ID-NIKS system. Assuming the existence of a reliable center, a common key generation system is configured around this center. In FIG. 4, ID information such as the name, address, telephone number, and mail address of entity X, which is specific information of entity X, is represented by {IDX}. The center makes center public information {PC for any entity Xi}, Center secret information {SCi} And entity X ID information {IDX}, The secret information S is as follows:XiAnd secretly distribute to entity X.
SXi= Fi({SCi}, {PCi}, {IDX})
[0009]
Entity X is a common key K for encryption and decryption with any other entity YXY, Secret information of entity X itself {SXi}, Center disclosure information {PCi} And ID information {ID of the entity Y of the other partyY} To generate as follows.
KXY= F ({SXi}, {PCi}, {IDY})
Similarly, entity Y also has a common key K to entity X.YXIs generated. If always KXY= KYXIf this relationship is established, this key KXY, KYXCan be used as an encryption key and a decryption key between entities X and Y.
[0010]
In the public key cryptosystem described above, for example, in the case of the RSA cryptosystem, the length of the public key is a dozen times the current telephone number, which is extremely complicated. On the other hand, in ID-NIKS, if each ID information is registered in the form of a name list, a common key can be generated with any entity by referring to the name list. Therefore, if the ID-NIKS system as shown in FIG. 4 is implemented safely, a convenient cryptosystem can be constructed on a computer network to which many entities join. For these reasons, ID-NIKS is expected to become the center of future cryptographic systems.
[0011]
[Problems to be solved by the invention]
In ID-NIKS that shares a common key that is an encryption key and a decryption key without performing preliminary communication using the ID information of the communication partner, especially against a collusion attack in which multiple entities collide It is desirable to be sufficiently safe. Whether or not a cryptographically secure ID-NIKS can be constructed is an important issue for the highly information-oriented society, and the search for more ideal cryptosystems is being pursued.
[0012]
  The present invention has been made in view of such circumstances, and by mapping to a point on an algebraic curve such as an elliptic curve used in elliptic cryptography based on identification information (ID information) of each entity, A key sharing system that can easily share a common key between both entities without performing preliminary communication, a secret key generation device that can construct a secure ID-NIKS based on this key sharing system, and a common key generationsystemAn object of the present invention is to provide an encryption communication method and an encryption communication system, and a recording medium on which a program for realizing these systems or apparatuses is recorded.
[0013]
[Means for Solving the Problems]
  The key sharing system according to claim 1 is a specific information ID for specifying each of two entities communicably connected to the center.a , IDb Is disclosed, and is defined on the elliptic curve and a function f () for converting specific information of each entity into a point on the elliptic curveBeA pairing algorithm <,> is disclosed, and a key sharing system that performs key sharing between the entities based on the disclosed specific information, function, and algorithm without preliminary communication. Specific information IDa , IDb And the function f () are received, the received specific information is substituted into the function, and the public key Pa = F (IDa ), Pb = F (IDb ) And the public key P of each entity generated by the public key generatora , Pb AcceptGenerate a random number r,Accepted public key Pa , Pb AndLifeThe secret key S as the product of the generated random number ra = R · f (IDa ), Sb = R · f (IDb ) For generating the secret key Sa , Sb Are distributed to corresponding entities, and each of the entities includes a specific information ID of a communication partner entity.a (Or IDb ) And the function f (), the received specific information is substituted into the function, and the public key P of the communication partner entitya (Or Pb ) And a public key P generated by the public key generatora (Or Pb ) And its own private key S distributed from the centerb (Or Sa ) And the algorithm <,>, and substitutes the received public key and secret key into the algorithm to share the common key Kba= <Pa , Sb > (Or Kab= <Sa , Pb A common key generator for generating>).
[0017]
  Claim2The key sharing system according to claim1And saidellipseA curve cannot solve the discrete logarithm problem defined on it in polynomial timeellipseIt is a curve.
[0019]
  A key sharing system according to a third aspect is the key sharing system according to the first or second aspect.TamatamaThe public key generator of an entity receives a plurality of specific information of the same entity, and generates a plurality of public keys by substituting each of the received plurality of specific information into the function.
[0020]
  The secret key generation device according to claim 4 is a specific information ID for specifying an entity.a A secret key generation device for generating a secret key of the entity based on a function f () that is disclosed for converting a point into an elliptic curve point, and the entity specific information IDa And the function f () are received, the received specific information is substituted into the function, and the public key Pa = F (IDa ) And a public key P generated by the meansa AcceptGenerate a random number r,Accepted public keyLifeThe secret key S as the product of the generated random number ra = R · f (IDa And means for generating.
[0021]
  The secret key generation device according to claim 5 is a specific information ID for specifying an entity.a Is a secret key generation device that generates a secret key of the entity based on a function f () that is disclosed for converting a point into a point on an elliptic curve, and the specific information ID of the entitya , Accepts the function f () and the hash function h (), and receives the public key Pa = F (h (IDa )) And a public key P generated by the meansa AcceptGenerate a random number r,Accepted public key Pa AndLifeThe secret key S as the product of the generated random number ra = R · f (h (IDa )) Generating means.
[0022]
  The common key generation system according to claim 6 is a specific information ID for specifying the first entity.a Based onGenerated at the centerSecret key Sa And a specific information ID for identifying the second entity of the communication partnerb Public key P based onb And a common key generation system that generates a common key from a function f () for converting specific information for specifying an entity into a point on an elliptic curve,The center isSpecific information ID of the first entitya And the function f (), the received specific information is substituted into the function, and the public key P of the first entitya = F (IDa ) Means to generateWhen,Public key P generated by the meansa AcceptGenerate a random number r,Accepted public key Pa AndLifeThe secret key S of the first entity as the product of the generated random number ra = R · f (IDa ) Means to generateWhenWithAnd,The first entity is:Specific information ID of the second entityb And the function f (), the received specific information is substituted into the function, and the public key P of the second entityb = F (IDb And a public key P of the second entity generated by the public key generator.b The abovecenterThe private key S of the first entity generated in stepa And defined on the elliptic curveBeAccepts the public pairing algorithm <,> and accepts the public key Pb , Secret key Sa Is substituted into the algorithm <,> and the common key Kab= <Sa , Pb And a common key generator for generating>.
[0025]
  In the cryptographic communication method according to claim 7, the secret key of each entity is sent from the center to each of a plurality of entities communicably connected to the center, and one entity has its own secret key sent from the center. The plaintext is encrypted into ciphertext using the common key obtained from the public key of the other entity and transmitted to the other entity, and the ciphertext transmitted by the other entity is sent from the center itself In the encryption communication method for communicating information between entities by decrypting in plaintext using the same common key as the common key obtained from the private key of the one entity and the public key of the one entity, the center , Specific information ID of each entitya , IDb And a function f () for converting the specific information into a point on the elliptic curve, and substituting the received specific information into the function to public key P of each entitya = F (IDa ), Pb = F (IDb )Generate a random number r,Public key P of each generated entitya , Pb AndLifeThe secret key S of each entity as the product of the generated random number ra = R · f (IDa ), Sb = R · f (IDb ) And distribute the generated secret key to each corresponding entity, and each of the entities is a specific information ID of a communication partner entity.a(Or IDb ) And the function f (), the received specific information is substituted into the function, and the public key P of the communication partner entitya (Or Pb ) And the generated public key Pa (Or Pb ), Its own private key S sent from the centerb (Or Sa ), And is defined on the elliptic curve as publishedBeAccepts a pairing algorithm <,> and substitutes the received public key and secret key into the algorithm to share the common key Kba= <Pa , Sb > (Or Kab= <Sa , Pb >).
[0028]
  An encryption communication system according to claim 8 includes a plurality of entities connected to be communicable with a center, encrypts plain text as information to be transmitted into cipher text, and transmits the cipher text as plain text. And a decryption process to be performed between the plurality of entities, and a secret key for each entity is generated based on the specific information for identifying each entity and sent to each entity. A plurality of entities that generate a common key used for the encryption process and the decryption process using a private key based on the identification information of the communication target entity and a public key based on the identification information of the communication target entity. A function to convert to a point on an elliptic curve and defined on the elliptic curveBeA cryptographic communication system in which an algorithm for public pairing is publicly disclosed, wherein the center includes a specific information ID of each entity.a , IDb And the function f () are received, the received specific information is substituted into the function, and the public key Pa = F (IDa ), Pb = F (IDb ) And the public key P of each entity generated by the public key generatora , Pb AcceptGenerate a random number r,Accepted public key Pa , Pb AndLifeThe secret key S as the product of the generated random number ra = R · f (IDa ), Sb = R · f (IDb ) For generating the secret key Sa , Sb Are distributed to the corresponding entities, and each entity has a specific information ID of the communication partner entity.a (Or IDb ) And the function f (), the received specific information is substituted into the function, and the public key P of the communication partner entitya (Or Pb ) And a public key P generated by the public key generatora (Or Pb ), Its own private key S sent from the centerb (Or Sa ) And the algorithm <,>, and substitutes the received public key and secret key into the algorithm to share the common key Kba= <Pa , Sb > (Or Kab= <Sa , Pb A common key generator for generating>).
[0029]
  Claim9The recording medium according to claim 1 is a computer.4OrTo 5A computer program for functioning as the described secret key generation apparatus is recorded.
[0031]
In the present invention, based on the identification information (ID information) of each entity, it maps to a point on an algebraic curve such as an elliptic curve or a hyperelliptic curve used in elliptic cryptography, and the mapping value is the public key of each entity. And The algorithm of this algebraic curve and mapping is disclosed. The center maps to a point on the algebraic curve based on the identification information (ID information) of each entity, generates a secret key unique to each entity using the mapping value and the center's own secret information, and supports this Secretly sent to the entity. Each entity uses a secret key unique to itself sent from the center and a mapping value mapped to a point on the algebraic curve based on identification information (ID information) of a communication partner, and is used for encryption processing and decryption processing. Generate a key. At this time, using the pairing defined on the elliptic curve (Weil pairing, Tate pairing, etc.), the same common key is shared between both entities without performing preliminary communication. To do. The mapping to the points on the algebraic curve in the present invention can be performed by any entity or center.
[0032]
In the present invention, the basis of safety is based on a discrete logarithm problem on an algebraic curve (for example, a discrete logarithm problem on an elliptic curve, hereinafter referred to simply as an elliptic discrete logarithm problem). Breaking the cryptographic system of the present invention in a collusion attack by a plurality of entities is equivalent to or more difficult than solving an elliptic discrete logarithm problem, for example, and its security is extremely high.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
The embodiment of the present invention will be specifically described.
FIG. 1 is a schematic diagram showing a configuration of a cryptographic communication system according to the present invention. A center 1 that can trust the concealment of information is set, and the center 1 can correspond to, for example, a public organization of society. The center 1 and a plurality of entities A, B,..., Z as users who use this cryptographic communication system are connected by secret communication paths 2a, 2b,. Secret key information (secret key S) from the center 1 via 2a, 2b,.a, Sb, ..., Sz) Is transmitted to each entity A, B,..., Z. Further, communication paths 3ab, 3az, 3bz,... Are provided between the two entities, and ciphertexts obtained by encrypting communication information via the communication paths 3ab, 3az, 3bz,. Are transmitted between each other.
[0034]
Hereinafter, the basic method in the present invention when an elliptic curve is used as the algebraic curve will be described.
First, the basic properties of elliptic curve Baye pairing used in the present invention will be described. Baye pairing is a group E / F formed by points on an elliptic curve.qTo F on a finite fieldd(However, d = qk) To the multiplicative group. A bilinearity and an exchange rule are established in Bayeux pairing as shown below. In addition, <,> represents a Bayeux pairing, and1, P2, Q, Q1, Q2Indicates a point on the elliptic curve.
[0035]
(Bilinearity)
<P1+ P2, Q> = <P1, Q> <P2, Q>
<P, Q1+ Q2> = <P, Q1> <P, Q2>
(Exchange rules)
<P, Q> = <Q, P>-1
Since it has bilinearity, the following equation holds when m is an integer.
<MP, Q> = <P, Q>m
<P, mQ> = <P, Q>m
[0036]
A key sharing method based on Bayeux pairing will be described below.
(Secret key generation at Center 1)
ID of specific information (ID information) such as name, address, telephone number, mail address of any entity AaAnd The center 1 uses a Baye pairing algorithm <,> and ID information ID of an arbitrary entity AaTo the point P on the elliptic curvea∈ E / FqThe function f () for converting to (mapping) and obtaining the public key is disclosed. Further, the center 1 generates a secret random number r, and the random number r and the public key P of the entity AaAnd the private key S of entity A as shown in (1) belowaAnd asked for the private key SaIs secretly distributed to entity A.
Sa= RPa      ... (1)
[0037]
The above secret information and public information are summarized as follows.
Public information of center 1: <,>, f ()
Secret information of center 1: r (random integer)
Public key of entity A: Pa(= F (IDa))
Entity A private key: Sa(= R · f (IDa))
[0038]
(Common key generation in entities A and B)
Each entity generates a common key from its own private key distributed from the center 1 and the public key of the entity that is the communication partner by using Bayer pairing on an elliptic curve.
(First example)
ID information ID of entity AaAnd ID information of entity BbAn algorithm that can compare the size of the pair is set, and when pairing is calculated, the pairing order is appropriately set using the size information. This algorithm can be lexicographic or large or small when expressed in binary. As a method for setting the order of pairing, ID information IDa, IDbPublic key P after conversion (mapping)a, PbIt is also possible to use large and small information.
[0039]
For example, IDa> IDb, Entity A has its own private key SaAnd ID information ID of entity BbPublic key P that maps to an elliptic curvebAnd the common key K according to (2) belowabIs generated.
Figure 0004450969
[0040]
On the other hand, IDa> IDbThe entity B is the ID information ID of the entity AaPublic key P that maps to an elliptic curveaAnd their private key SbAnd the common key K according to (3) belowbaIs generated.
Figure 0004450969
Therefore, the common key K generated by entity AabAnd the common key K generated by entity BbaAnd a common key can be shared between both entities A and B.
[0041]
In the following, two examples that enable key sharing without setting the magnitude relationship of ID information as described above will be described.
[0042]
(Second example)
A symmetric function g (x, y) with respect to x and y (except for g (x, y) = xy) is set. In the following example, g (x, y) = x + y. The entity A follows the common key K according to g (x, y) = x + y as shown in (4) below.ab= Kab+ KbaIs generated.
Figure 0004450969
[0043]
On the other hand, the entity B follows the common key K as shown in (5) below according to g (x, y) = x + y.ba= Kba+ KabIs generated.
Figure 0004450969
Therefore, the common key K generated by entity AabAnd the common key K generated by entity BbaAnd a common key can be shared between both entities A and B. Note that key sharing is similarly possible using other types of symmetric functions g (x, y).
[0044]
(Third example)
Entity A is k shown in the second example.abAnd the common key K as shown in (6) below.ab= Kab+ Kab -1Is generated.
Figure 0004450969
[0045]
Entity B is k shown in the second example.baAnd the common key K as shown in (7) below.ba= Kba+ Kba -1Is generated.
Figure 0004450969
Therefore, the common key K generated by entity AabAnd the common key K generated by entity BbaAnd a common key can be shared between both entities A and B.
[0046]
(Fourth example)
Entity A has its own private key SaAnd entity B's public key PbAnd the intermediate key I as shown in (8) below.abIs generated.
Figure 0004450969
[0047]
Entity B has its own private key SbAnd entity A's public key PaAnd the intermediate key I as shown in (9) below.baIs generated.
Figure 0004450969
[0048]
Here, according to the above-mentioned (exchange rule) in Bayeux pairing, Iab× IbaIt can be seen that the relationship of = 1 holds. It is also possible to share a key between both entities A and B using such a reciprocal relationship.
[0049]
As described above, it is possible to easily generate an equal common key between the entities using Baye pairing.
[0050]
In the above example, the ID information ID of entity AaMapping point P directly fromaThe ID information ID is calculated using a one-way function.aAnd the mapping point P is converted from the converted value.aMay be requested. At this time, when the hash function h () is used as an example of the one-way function, the public key Pa= F (h (IDa)), Private key Sa= R · f (h (IDa)).
[0051]
In order to make it difficult for the entity to obtain the secret information r of the center 1, the following two conditions are necessary.
(Condition 1) q is 2160Set it above.
(Condition 2) # E / Fq| Qk-1 and qk> 21024There must be an integer k that satisfies
[0052]
(Condition 1) is necessary to make it difficult to obtain an elliptic discrete logarithm problem. (Condition 2) is a finite field Fd(However, d = qk) Is necessary to make it difficult to obtain the discrete logarithm problem.
[0053]
Next, information communication between entities in an encryption system using the above-described key sharing method will be described. FIG. 2 is a schematic diagram showing a communication state of information between two entities A and B. In the example of FIG. 2, entity A encrypts plaintext (message) M into ciphertext C and transmits it to entity B, and entity B decrypts ciphertext C into original plaintext (message) M. Show.
[0054]
The center 1 uses the function f () to identify the ID information IDs of the entities A and B.a, IDbThe public key P which is the mapping position that maps to an elliptic curvea, PbAnd a public key generator 1a for obtaining the public key Pa, PbAnd the secret key r of each entity A and B using the center-specific secret information ra, SbAnd a secret key generator 1b for obtaining Then, the secret key S generated in accordance with the above (1) is sent from the center 1 to the entities A and B.a, SbWill be sent.
[0055]
On the entity A side, the ID information ID of entity Bb, And the public key P that is the mapping position that maps it to an elliptic curvebAnd a public key generator 11 for obtaining a secret key S sent from the center 1aAnd public key P from public key generator 11bThe common key K with entity B that entity A seeks based onabA common key generator 12 for generating a common key KabAnd an encryptor 13 that encrypts a plaintext (message) M into a ciphertext C and outputs it to the communication path 30.
[0056]
Also, on the entity B side, the ID information ID of the entity Aa, And the public key P that is the mapping position that maps it to an elliptic curveaAnd a secret key S sent from the center 1bAnd public P from the public key generator 21aThe common key K with entity A that entity B seeks based onbaAnd the ciphertext C input from the communication path 30 is the common key KbaAnd a decryptor 23 that decrypts and outputs the plaintext (message) M.
[0057]
Next, the operation will be described. When transmitting information from entity A to entity B, first, the ID information ID of entity BbIs input to the public key generator 11 and the public key PbAnd the obtained public key PbIs sent to the common key generator 12. Also, the secret key S from the center 1aIs input to the common key generator 12. And the common key K according to the above (2), (4) or (6)abIs sent to the encryptor 13. In the encryptor 13, this common key KabIs used to encrypt the plaintext (message) M into the ciphertext C, and the ciphertext C is transmitted via the communication path 30.
[0058]
The ciphertext C transmitted through the communication path 30 is input to the decryptor 23 of the entity B. ID information ID of entity AaIs input to the public key generator 21 and the public key PaAnd the obtained public key PaIs sent to the common key generator 22. Also, the secret key S from the center 1bIs input to the common key generator 22. And the common key K according to the above (3), (5) or (7)baIs obtained and sent to the decoder 23. In the decryptor 23, this common key KbaIs used to decrypt the ciphertext C into plaintext (message) M.
[0059]
Next, the safety in the present invention will be described. The security of the present invention is based on an elliptic discrete logarithm problem and an extended elliptic discrete logarithm problem which is equivalent to this as will be described later.
[0060]
[Equivalence between elliptic discrete logarithm problem and extended elliptic discrete logarithm problem]
The normal elliptic discrete logarithm problem is a problem of obtaining r from P and Q when an arbitrary point P on the elliptic curve E and its r-fold point Q = rP are given. Here, as shown in (10) below, an arbitrary point P on the elliptic curvei(1≤i≤n-1) and its point PiA set of r, given a Q based oniThe problem of obtaining (1 ≦ i ≦ n−1) is defined as an extended elliptic discrete logarithm problem. We consider the equivalence between the elliptic discrete logarithm problem and the extended elliptic discrete logarithm problem. For simplicity of discussion, the elliptic curve is assumed to have a prime order p.
[0061]
[Expression 1]
Figure 0004450969
[0062]
(Reduction from elliptic discrete logarithm problem to extended elliptic discrete logarithm problem)
Assume that the elliptic discrete logarithm problem can be solved with reference to the base point P. PiFor (1 ≦ i ≦ n−1) and Q, the coefficients can be obtained as shown in (11) below with reference to the base point P on the elliptic curve.
[0063]
[Expression 2]
Figure 0004450969
[0064]
Coefficient ri', R' is FpBy solving the following indefinite equation (12)i(1 ≦ i ≦ n−1) can be obtained. Therefore, the extended elliptic discrete logarithm problem can be solved.
[0065]
[Equation 3]
Figure 0004450969
[0066]
(Reduction from the extended elliptic discrete logarithm problem to the elliptic discrete logarithm problem)
Suppose that any extended elliptic discrete logarithm problem can be solved. Here, the point P on the elliptic curveiFor (1 ≦ i ≦ n), the extended elliptic discrete logarithm problem shown in the following (13) is solved and expressed using a matrix as shown in the following (14).
[0067]
[Expression 4]
Figure 0004450969
[0068]
By extracting only the coefficients for the matrix of (14) above, the following relational expression (15) is obtained, which can be modified as shown in (16) below.
[0069]
[Equation 5]
Figure 0004450969
[0070]
As can be seen from (16) above, the point Pi(1≤i≤n-1) is PnIt can be expressed by a constant multiple of. That is, by solving the extended elliptic discrete logarithm problem, Pi= Ri'PnSatisfy ri'Can be obtained.
From the above, the elliptic discrete logarithm problem and the extended elliptic discrete logarithm problem are equivalent.
[0071]
[Safety of confidential information at the center]
Public key P of entity CcAnd secret key ScIt is equivalent to solving the elliptic discrete logarithm problem and is difficult to obtain the secret information r of the center from the above.
Public key P of entity AaAnd entity B's public key PbAnd <Pa, Pb> And the common key Kab= <Pa, Pb>rIt is equivalent to solving the discrete logarithm problem and it is difficult to obtain r from.
Therefore, no entity can obtain the secret information r of the center.
[0072]
[Security of entity private key]
Entity C's private key S collated by n entitiescConsider an attack that counterfeits. Public key P of entity CcAssuming that can be expressed by a linear combination of public keys of other entities as in (17) below, substituting this linear combination in (1) above yields the following relational expression (18) Therefore, the private key S of entity CcIs exposed.
Figure 0004450969
[0073]
However, the coefficient u in (17) aboveiIt is necessary to solve the extended elliptic discrete logarithm problem to obtain, and such an attack is difficult. Thus, safety is based on the difficulty of solving the extended elliptic discrete logarithm problem.
[0074]
Here, the security of this secret key will be described in further detail. The extended elliptic discrete logarithm problem is expressed as P / E / FqAny point above (G1, G2) E / FqIn the following (19), the coefficient u1, U2It is a problem to seek.
P = u1G1+ U2G2        … (19)
[0075]
G1, G2The order of # (G1), # (G2). However, # (G1) | # (G2). If the extended elliptic discrete logarithm problem can be solved, then P = u1G1+ U2G2Coefficient u1, U2And Q = v1G1+ V2G2Coefficient v1, V2The elliptic discrete logarithm problem Q = rP can be solved as shown in (20) below.
[0076]
[Formula 6]
Figure 0004450969
[0077]
Consider the equivalence between the problem solving (17) above and the extended elliptic discrete logarithm problem. If the above (17) is solved, r in (21) belowi, jCan be requested.
[0078]
[Expression 7]
Figure 0004450969
[0079]
In the following equation (22), the determinant of (n−2) × (n−2) on the left side is Pn-1= G1, Pn= G2# (G2) Can be solved under the assumption that it is prime. The determinant is # (G2) Is not prime, another solution r in (21) abovei, jCan be selected.
[0080]
[Equation 8]
Figure 0004450969
[0081]
As a result, if the above (17) can be solved, P shown in the following (23)iAnd (G1, G2) And the extended elliptic discrete logarithm problem.
[0082]
[Equation 9]
Figure 0004450969
[0083]
On the contrary, if the extended elliptic discrete logarithm problem is solved, the above (17) can be solved. PiAnd (G1, G2) And define an extended elliptic discrete logarithm problem with (24)CAnd (G1, G2If the extended elliptic discrete logarithm problem is defined as shown in (25) below, the relationship shown in (26) below is established.
[0084]
[Expression 10]
Figure 0004450969
[0085]
vjAnd ri, jIs given, uiIt is clear that can be solved. Therefore, the problem of solving the above (17) and the extended elliptic discrete logarithm problem are equivalent. It is also clear that the extended elliptic discrete logarithm problem is equivalent to the elliptic discrete logarithm problem when the group of elliptic curves is periodic. Therefore, in this case, the problem of solving the above (17) is equivalent to the elliptic discrete logarithm problem.
[0086]
[Security for common key between entities]
Consider an attack that forges a common key between entity A and entity C by collusion of n entities. Public key P of entity CcIs represented by a linear combination of the public keys of other entities as in (17) above, the common key K between both entities A and C as in (27) and (28) below.ac, KcaIs exposed. Entity C's private key ScThe same applies to the case where can be expressed by linear combination.
[0087]
## EQU11 ##
Figure 0004450969
[0088]
However, the coefficient u in (17) aboveiTo solve the extended elliptic discrete logarithm problem, and such an attack is difficult.
[0089]
If entity A has its own public key Pa, Secret key SaTo the common key K between other entitiesbcIt is impossible to forge. Because private key Sb, ScIs the secret information of the entities B and C, which cannot be obtained without the secret information r. Therefore, every entity has a common key KbcCannot be counterfeited.
[0090]
Secret key Sb, ScWithout collusion entity I private key SiTo common key KbcThe collusion attack seeking the secret key SiSecret key Sb, ScIt becomes the same problem as when seeking. Also, a common key K between the collusion entities I and JijTo common key KbcThe collusion attack that seeks is a difficult problem because the secret information r of the center is not known. Common key KbcThe problem of finding is reduced to a Diffe-Hellman type problem.
[0091]
By the way, entity A has a common key Kab, KacSince it is possible to calculate the common key Kab, KacTo common key KbcEntity A can forge a common key between other entities. However, such an attack method is difficult to apply to the present invention.
[0092]
Hereinafter, a key sharing method in which ID information of each entity is extended to a vector, which is another embodiment of the present invention, will be described.
[0093]
Vector P which is ID information of entity AaIs expressed as (29) below.
Vector Pa= (Pa1, Pa2, ..., Pan... (29)
Further, an nxn symmetric matrix R is set as secret information of the center 1 as shown in (30) below.
[0094]
[Expression 12]
Figure 0004450969
[0095]
The center 1 has this vector PaAnd the symmetric matrix R and the secret key of the entity A (vector Sa) And secretly send the obtained secret key to entity A.
[0096]
[Formula 13]
Figure 0004450969
[0097]
Entity A has a common key K with entity BabIs generated according to (32) below. However, the product of points is the value of Baye pairing.
[0098]
[Expression 14]
Figure 0004450969
[0099]
In addition, entity B has a common key K with entity A.baIs generated in the same way. If the magnitude relationship of the ID information between the entities A and B is considered as in the first example of the embodiment described above, Kab= KbaThus, the same common key can be shared.
[0100]
Next, the safety in this embodiment will be considered.
[Safety of confidential information at the center]
Public key vector P of entity CcAnd secret key vector ScIt is equivalent to solving the extended elliptic discrete logarithm problem and it is difficult to obtain the secret matrix R of the center from the above.
Public key vector P of entity AaAnd the public key vector P of entity BbAnd <Pai, Pbj> (1 ≦ i, j ≦ n), and this and the common key K shown in (33) belowabFrom each component r of matrix RijObtaining (1 ≦ i, j ≦ n) is equivalent to the extended discrete logarithm problem and the discrete logarithm problem, just as the extended elliptic discrete logarithm problem is equivalent to the elliptic discrete logarithm problem.
[0101]
[Expression 15]
Figure 0004450969
[0102]
From the above, the secret information (symmetric matrix R) of the center 1 is not exposed.
[0103]
[Security of entity private key]
n entities collide and the secret key vector S of entity CcConsider an attack that counterfeits. Public key vector P of entity CcAssuming that can be expressed by the linear combination of public key vectors of other entities as shown in (34) below, substituting this linear combination into (31) above yields the following relational expression (35) The secret key vector S of entity CcIs exposed.
[0104]
[Expression 16]
Figure 0004450969
[0105]
However, in order to obtain the component in (31), it is necessary to solve the extended elliptic discrete logarithm problem, and it can be said that such an attack is difficult. Thus, safety is based on the difficulty of solving the extended elliptic discrete logarithm problem.
[0106]
[Security for common key between entities]
Consider an attack that forges a common key between entity A and entity C by collusion of n entities. Public key vector P of entity CcIs represented by a linear combination of the public key vectors of other entities as in (34) above, the common key between both entities A and C as in (36) and (37) below Kac, KcaIs exposed. Entity C's private key vector ScThe same applies to the case where can be expressed by linear combination.
[0107]
[Expression 17]
Figure 0004450969
[0108]
However, the coefficient u in (34) aboveiTo solve the extended elliptic discrete logarithm problem, and such an attack is difficult.
[0109]
Also in this embodiment, it is difficult for an entity to generate a common key between other entities from its own common key, as in the above-described embodiment.
[0110]
It is also possible to extend the entity ID information to an n × n symmetric matrix. In this case, the common key matrix kab= (Sij) And common key matrix kba= (Tji) Satisfies the following relationship (38).
sij= Tji -1          ... (38)
[0111]
In the above-described example, the case where Baye pairing is used has been described. However, even when Tate pairing is used as pairing on an elliptic curve, key sharing can be performed between both entities.
[0112]
In either case of Bayeux pairing or Tate pairing, the coordinates of the point P and the coordinates of the point Q belong to different bodies in the pairing <P, Q> when performing key sharing. Pairing calculations can be extended. Further, if the coordinates of the point P are defined by a small body, the pairing calculation can be performed at high speed.
[0113]
The advantage of changing the definition of the elliptic curve is that the common key can be reliably prevented from being 1, and the calculation can be performed at high speed. When changing the definition of the elliptic curve, that is, when using two types of definition, it is necessary to correspond to two types of public keys. In the conventional ID-NIKS, the entity performs key sharing using one public key determined by ID information and its own private key. In this method, the same definition differs based on the ID information. Map the public key to a point on the elliptic curve in two different ways, based on the ID information or public key, one entity uses the public key of either definition, and the other entity Using the public key with the definition of
[0114]
All entities into two groups G1, G2Divide into Group G1Entities belonging to the group G including group P2Entities belonging to group G use group elements including Q as ID information, respectively.1Entities and group G2It is possible to share a key with other entities.
Each entity has two types of ID information, and an algorithm indicating some magnitude relationship is set for each ID information between entity A and entity B, and which ID information is used by which entity is determined. Thus, the key can be shared.
Each entity has two types of ID information, and two types of values are calculated between both entities, and a common key is generated using an operation that has the same value, such as adding the two calculated values.
By appropriately determining the transformation between the group element including P and the group element including Q, and using the conversion as public information unique to the system, the key can be shared.
[0115]
In the above-described example, the case where an elliptic curve is used as an algebraic curve has been described. However, even when a super elliptic curve is used, a super elliptic discrete logarithm problem and pairing can be defined and can be easily extended. .
[0116]
FIG. 3 is a diagram showing the configuration of the embodiment of the recording medium of the present invention. The program illustrated here is a process for generating a secret key unique to each entity based on the ID information of each entity and the secret information unique to the center (mapped to a point on an elliptic curve based on the ID information of the entity). Obtaining a mapping value and generating a secret key using the mapping value and center-specific secret information), or the entity's own secret key and the public key of the communicating entity Based on the above-described method for generating a common key by the above-described method (using a step of obtaining a mapping value by mapping to a point on an elliptic curve based on ID information of a communication partner entity, and using the mapping value and the private key of the entity itself) Generating a common key) and recorded on a recording medium described below. The computer 40 is provided on the center 1 side or on each entity side.
[0117]
In FIG. 3, a recording medium 41 connected online with the computer 40 is a WWW (World Wide Web) server computer installed at a distance from the installation location of the computer 40, and the recording medium 41 includes a program as described above. 41a is recorded. The program 41a read from the recording medium 41 controls the computer 40 to generate a secret key unique to each entity or generate a common key between both entities.
[0118]
The recording medium 42 provided inside the computer 40 is, for example, a hard disk drive or ROM that is installed in the built-in computer, and the recording medium 42 stores the program 42a as described above. The program 42a read from the recording medium 42 controls the computer 40 to generate a secret key unique to each entity, or generate a common key between both entities.
[0119]
A recording medium 43 used by being loaded into a disk drive 40a provided in the computer 40 is a portable medium such as a magneto-optical disk, a CD-ROM, or a flexible disk. 43a is recorded. The program 43a read from the recording medium 43 controls the computer 40 to generate a secret key unique to each entity or generate a common key between both entities.
[0120]
【The invention's effect】
As described in detail above, in the present invention, since the public key generated from the ID information of each entity is mapped on the elliptic curve, a common key can be easily shared between both entities without performing preliminary communication. Can fit. In the present invention, the security is placed on the discrete logarithm problem on the algebraic curve, which is strong against attacks such as collusion attacks, and the present invention can contribute to the development of ID-NIKS.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing a configuration of a cryptographic communication system according to the present invention.
FIG. 2 is a schematic diagram showing a communication state of information between two entities.
FIG. 3 is a diagram illustrating a configuration of an embodiment of a recording medium.
FIG. 4 is a principle configuration diagram of an ID-NIKS system.
[Explanation of symbols]
1 center
11, 21 Public key generator
12, 22 Common key generator
13 Encryptor
23 Decoder
30 communication channels
40 computers
41, 42, 43 Recording medium
A, B, Z entities

Claims (9)

センタと通信可能に接続された2つのエンティティ夫々を特定する特定情報IDa ,IDb が公開されており、エンティティ夫々の特定情報を楕円曲線上の点に変換するための関数f()及び前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>が公開されており、これら公開されている特定情報、関数及びアルゴリズムに基づき前記エンティティ間で予備通信なしに鍵共有を行う鍵共有システムであって、
前記センタは、
エンティティ夫々の特定情報IDa ,IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa ),Pb =f(IDb )を生成する公開鍵生成器
並びに
該公開鍵生成器が生成したエンティティ夫々の公開鍵Pa ,Pb を受け付け、乱数rを生成し、受け付けた公開鍵Pa ,Pbび生成した乱数rの積として秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成する秘密鍵生成器
を備え、
生成した秘密鍵Sa ,Sb を対応するエンティティ夫々に配布するようにしてあり、
前記エンティティ夫々は、
通信相手のエンティティの特定情報IDa (又はIDb )及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成する公開鍵生成器
並びに
該公開鍵生成器で生成した公開鍵Pa (又はPb )、前記センタから配布された自身の秘密鍵Sb (又はSa )及び前記アルゴリズム<,>を受け付け、受け付けた公開鍵、及び秘密鍵をアルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成する共通鍵生成器
を備えることを特徴とする鍵共有システム。
Specific information ID a and ID b that specify two entities that are communicably connected to the center are disclosed, and the function f () for converting the specific information of each entity into a point on an elliptic curve and the above-mentioned algorithm base Iyupearingu defined on an elliptic curve <,> have been published, the specific information that is those published, there a key sharing system that performs key sharing without prior communication between the entities based on the functions and algorithms And
The center is
The specific information ID a and ID b and the function f () of each entity are received, and the received specific information is substituted into the function to generate public keys P a = f (ID a ) and P b = f (ID b ). public key generator and said public key generator generates entity respectively public key P a of accepts P b, generates a random number r, the received public key P a, the P bbeauty raw form random number r A secret key generator for generating a secret key S a = r · f (ID a ) and S b = r · f (ID b ) as products,
The generated secret keys S a and S b are distributed to the corresponding entities,
Each of the entities is
Receiving specific information ID a communication partner entity (or ID b) and the function f (), and generates the received specified information is substituted into the function by public communication partner entity key P a (or P b) public key generator and the public key P a generated by the public key generator (or P b), the private key itself is distributed from the center S b (or S a) and the algorithm <,> accept, accept And a common key generator for generating a common key K ba = <P a , S b > (or K ab = <S a , P b >) by substituting the public key and the secret key into the algorithm. Key sharing system.
前記楕円曲線は、その上で定義される離散対数問題を多項式時間で解くことができない楕円曲線である請求項1に記載の鍵共有システム。  The key sharing system according to claim 1, wherein the elliptic curve is an elliptic curve that cannot solve the discrete logarithm problem defined thereon in polynomial time. 前記センタ又はエンティティの公開鍵生成器は、同一エンティティの複数の特定情報を受け付け、受け付けた複数の特定情報それぞれを前記関数に代入して複数の公開鍵を生成するようにしてある請求項1または2に記載の鍵共有システム。  The public key generator of the center or the entity receives a plurality of specific information of the same entity, and generates a plurality of public keys by substituting each of the received plurality of specific information into the function. 2. The key sharing system according to 2. エンティティを特定する特定情報IDa を楕円曲線上の点に変換するための公開されている関数f()に基づいて前記エンティティの秘密鍵を生成する秘密鍵生成装置であって、
エンティティの特定情報IDa 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa )を生成する手段と、
該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵及び生成した乱数rの積として秘密鍵Sa =r・f(IDa )を生成する手段と
を備えることを特徴とする秘密鍵生成装置。
A secret key generation device that generates a secret key of an entity based on a function f () that is disclosed for converting specific information ID a that specifies an entity into a point on an elliptic curve,
Means for receiving the entity specific information ID a and the function f (), substituting the received specific information into the function, and generating a public key P a = f (ID a );
It accepts the public key P a in which the means to produce, generates a random number r, and means for generating a secret key S a = r · f (ID a) as the product of the random number r that form public Kagi及beauty student accepted A secret key generation apparatus comprising:
エンティティを特定する特定情報IDa を楕円曲線上の点に変換するための公開されている関数f()に基づいて前記エンティティの秘密鍵を生成する秘密鍵生成装置であって、
前記エンティティの特定情報IDa 、前記関数f()及びハッシュ関数h()を受け付け、公開鍵Pa =f(h(IDa ))を生成する手段と、
該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵Paび生成した乱数rの積として秘密鍵Sa =r・f(h(IDa ))を生成する手段と
を備えることを特徴とする秘密鍵生成装置。
A secret key generation device that generates a secret key of an entity based on a function f () that is disclosed for converting specific information ID a that specifies an entity into a point on an elliptic curve,
Means for receiving the entity specific information ID a , the function f (), and the hash function h (), and generating a public key P a = f (h (ID a ));
Accepts the public key P a in which the means to produce, generates a random number r, the public accepted key P a及secret key as the product of beauty raw form random number r S a = r · f a (h (ID a)) A secret key generation device comprising: means for generating.
第1エンティティを特定する特定情報IDa に基づいてセンタで生成される秘密鍵Sa と、通信相手の第2エンティティを特定する特定情報IDb に基づく公開鍵Pb と、エンティティを特定する特定情報を楕円曲線上の点に変換するための関数f()とから共通鍵を生成する共通鍵生成システムであって、
前記センタは、
前記第1エンティティの特定情報IDa 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して第1エンティティの公開鍵Pa =f(IDa )を生成する手段と、
該手段が生成した公開鍵Pa を受け付け、乱数rを生成し、受け付けた公開鍵Paび生成した乱数rの積として第1エンティティの秘密鍵Sa =r・f(IDa )を生成する手段
を備えており
前記第1エンティティは、
前記第2エンティティの特定情報IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して第2エンティティの公開鍵Pb =f(IDb )を生成する公開鍵生成器と、
該公開鍵生成器で生成した第2エンティティの公開鍵Pb 、前記センタで生成した第1エンティティの秘密鍵Sa 及び前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>を受け付け、受け付けた公開鍵Pb 、秘密鍵Sa をアルゴリズム<,>に代入して共通鍵Kab=<Sa ,Pb >を生成する共通鍵生成器と
を備えることを特徴とする共通鍵生成システム。
And the private key S a generated by the center and based on the specific information ID a for identifying the first entity, a public key P b based on the identification information ID b for identifying the second entity of the communication partner to identify the entity A common key generation system that generates a common key from a function f () for converting specific information into a point on an elliptic curve,
The center is
Means for receiving the specific information ID a of the first entity and the function f (), and substituting the received specific information into the function to generate the public key P a = f (ID a ) of the first entity ;
Receiving a public key P a which said means is generated, and generates a random number r, the public has accepted key P a及first entity as a product of beauty raw form random number r secret key S a = r · f (ID a) and a means for generating,
The first entity is:
A public key generator that receives the specific information ID b and the function f () of the second entity, substitutes the received specific information into the function, and generates a public key P b = f (ID b ) of the second entity; ,
The second entity public key P b of generated by the public key generator, the first entity's private key S a and defined as base Iyupearingu algorithm on the elliptic curve generated by the center <,> accept, accept A common key generator for generating a common key K ab = <S a , P b > by substituting the public key P b and the secret key S a into the algorithm <,>. .
センタと通信可能に接続された複数のエンティティそれぞれへ前記センタから各エンティティの秘密鍵を送付し、一方のエンティティが前記センタから送付された自身の秘密鍵と他方のエンティティの公開鍵とから求めた共通鍵を用いて平文を暗号文に暗号化して前記他方のエンティティへ伝送し、前記他方のエンティティが伝送された暗号文を、前記センタから送付された自身の秘密鍵と前記一方のエンティティの公開鍵とから求めた、前記共通鍵と同一の共通鍵を用いて平文に復号することにより、エンティティ間で情報の通信を行う暗号通信方法において、
前記センタは、
エンティティ夫々の特定情報IDa ,IDb 及び該特定情報を楕円曲線上の点に変換するための関数f()を受け付け、
受け付けた特定情報を関数に代入してエンティティ夫々の公開鍵Pa =f(IDa ),Pb =f(IDb )を生成し、
乱数rを生成し、
生成したエンティティ夫々の公開鍵Pa ,Pbび生成した乱数rの積としてエンティティ夫々の秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成し、
生成した秘密鍵を対応するエンティティ夫々に配布し、
前記エンティティ夫々は、
通信相手のエンティティの特定情報IDa(又はIDb )、及び前記関数f()を受け付け、
受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成し、
生成した公開鍵Pa (又はPb )、前記センタから送付された自身の秘密鍵Sb (又はSa )、及び公開されている、前記楕円曲線上で定義されるイユペアリングのアルゴリズム<,>を受け付け、受け付けた公開鍵及び秘密鍵を前記アルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成する
ことを特徴とする暗号通信方法。
A secret key of each entity is sent from the center to each of a plurality of entities communicably connected to the center, and one entity is obtained from its own secret key sent from the center and the public key of the other entity A plaintext is encrypted into a ciphertext using a common key and transmitted to the other entity, and the ciphertext transmitted by the other entity is sent to the private key sent from the center and the disclosure of the one entity. In a cryptographic communication method for communicating information between entities by decrypting in plaintext using the same common key as the common key obtained from the key,
The center is
Accepting entity specific information ID a , ID b and a function f () for converting the specific information into a point on an elliptic curve,
Substituting the received specific information into the function to generate public keys P a = f (ID a ) and P b = f (ID b ) for the entities,
Generate a random number r,
Produce a product entity respectively public key P a of, P bbeauty students form an entity as the product of the random number r each secret key of S a = r · f (ID a), S b = r · f (ID b) And
Distribute the generated private key to each corresponding entity,
Each of the entities is
Receiving the identification information ID a (or ID b ) of the entity of the communication partner and the function f ();
Substituting the received specific information into the function to generate the public key P a (or P b ) of the communication partner entity,
Generated public key P a (or P b), the private key itself is sent from the center S b (or S a), and has been published, the algorithm of the base Iyupearingu defined on the elliptic curve <, >, And the received public key and secret key are substituted into the algorithm to generate a common key K ba = <P a , S b > (or K ab = <S a , P b >). Encryption communication method.
センタと通信可能に接続された複数のエンティティを備え、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び送信された暗号文を平文に復号する復号処理を、複数のエンティティ間で相互に行うこととし、各エンティティを特定する特定情報に基づいて各エンティティの秘密鍵を生成して各エンティティへ送付するセンタと、該センタから送付された自身の秘密鍵と通信対象のエンティティの特定情報に基づく公開鍵とを用いて前記暗号化処理及び復号処理に使用する共通鍵を生成する複数のエンティティとを有し、エンティティ夫々の特定情報を楕円曲線上の点に変換するための関数及び前記楕円曲線上で定義されるイユペアリングのアルゴリズムが公開されている暗号通信システムであって、
前記センタは、
エンティティ夫々の特定情報IDa ,IDb 及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して公開鍵Pa =f(IDa ),Pb =f(IDb )を生成する公開鍵生成器
並びに
該公開鍵生成器が生成したエンティティ夫々の公開鍵Pa ,Pb を受け付け、乱数rを生成し、受け付けた公開鍵Pa ,Pbび生成した乱数rの積として秘密鍵Sa =r・f(IDa ),Sb =r・f(IDb )を生成する秘密鍵生成器
を備え、
生成した秘密鍵Sa ,Sb を対応するエンティティ夫々に配布するようにしてあり、
エンティティ夫々は、
通信相手のエンティティの特定情報IDa (又はIDb )及び前記関数f()を受け付け、受け付けた特定情報を関数に代入して通信相手のエンティティの公開鍵Pa (又はPb )を生成する公開鍵生成器
並びに
該公開鍵生成器で生成した公開鍵Pa (又はPb )、前記センタから送付された自身の秘密鍵Sb (又はSa )及び前記アルゴリズム<,>を受け付け、受け付けた公開鍵、秘密鍵をアルゴリズムに代入して共通鍵Kba=<Pa ,Sb >(又はKab=<Sa ,Pb >)を生成する共通鍵生成器
を備えることを特徴とする暗号通信システム。
A plurality of entities that are communicably connected to the center, and that perform encryption processing for encrypting plaintext, which is information to be transmitted, into ciphertext, and decryption processing for decrypting the transmitted ciphertext into plaintext. A center that generates each entity's private key based on the specific information that identifies each entity and sends it to each entity, and its own private key sent from the center and the entity to communicate with And a plurality of entities that generate a common key used for the encryption process and the decryption process using a public key based on the specific information of the entity, and for converting the specific information of each entity into a point on the elliptic curve a cryptographic communication system in which the algorithm of base Iyupearingu defined on functions and the elliptic curve has been published,
The center is
The specific information ID a and ID b and the function f () of each entity are received, and the received specific information is substituted into the function to generate public keys P a = f (ID a ) and P b = f (ID b ). public key generator and said public key generator generates entity respectively public key P a of accepts P b, generates a random number r, the received public key P a, the P bbeauty raw form random number r A secret key generator for generating a secret key S a = r · f (ID a ) and S b = r · f (ID b ) as products,
The generated secret keys S a and S b are distributed to the corresponding entities,
Each entity is
Receiving specific information ID a communication partner entity (or ID b) and the function f (), and generates the received specified information is substituted into the function by public communication partner entity key P a (or P b) public key generator and the public key P a generated by the public key generator (or P b), the private key itself is sent from the center S b (or S a) and the algorithm <,> accept, accept And a common key generator for generating a common key K ba = <P a , S b > (or K ab = <S a , P b >) by substituting the public key and the secret key into the algorithm. Cryptographic communication system.
コンピュータを請求項4または5に記載の秘密鍵生成装置として機能させるためのコンピュータプログラムを記録してあることを特徴とする記録媒体。  6. A recording medium on which a computer program for causing a computer to function as the secret key generation apparatus according to claim 4 is recorded.
JP2000335166A 2000-05-02 2000-11-01 Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium Expired - Fee Related JP4450969B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000335166A JP4450969B2 (en) 2000-05-02 2000-11-01 Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-133471 2000-05-02
JP2000133471 2000-05-02
JP2000335166A JP4450969B2 (en) 2000-05-02 2000-11-01 Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium

Publications (2)

Publication Number Publication Date
JP2002026892A JP2002026892A (en) 2002-01-25
JP4450969B2 true JP4450969B2 (en) 2010-04-14

Family

ID=26591416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000335166A Expired - Fee Related JP4450969B2 (en) 2000-05-02 2000-11-01 Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium

Country Status (1)

Country Link
JP (1) JP4450969B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500740A (en) 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ ID-based encryption and related cryptosystem systems and methods
US7353395B2 (en) * 2002-03-21 2008-04-01 Ntt Docomo Inc. Authenticated ID-based cryptosystem with no key escrow
FR2877453A1 (en) * 2004-11-04 2006-05-05 France Telecom SECURE DELEGATION METHOD OF CALCULATING A BILINE APPLICATION
JP4546231B2 (en) * 2004-12-09 2010-09-15 株式会社日立製作所 ID-based signature and encryption system and method
JP4528114B2 (en) * 2004-12-28 2010-08-18 日本電信電話株式会社 Key generation device, encryption device, inspection device, decryption device, key generation program, encryption program, inspection program, decryption program
WO2007080633A1 (en) 2006-01-11 2007-07-19 Mitsubishi Denki Kabushiki Kaisha Elliptical curve encryption parameter generation device, elliptical curve encryption calculation device, elliptical curve encryption parameter generation program, and elliptical curve encryption calculation program
US8638928B2 (en) 2007-05-25 2014-01-28 Nec Corporation Key exchanging apparatus
KR101527867B1 (en) * 2007-07-11 2015-06-10 삼성전자주식회사 Method of countering side-channel attacks in elliptic curve cryptosystem
JP4612027B2 (en) * 2007-09-03 2011-01-12 村田機械株式会社 Signature system
JP5389347B2 (en) * 2007-10-23 2014-01-15 エヌ・ティ・ティ・ソフトウェア株式会社 Message authentication device, authentication center device, and message authentication system
JP5038364B2 (en) * 2009-06-26 2012-10-03 日本電信電話株式会社 Subgroup element determination method, apparatus and program
JP5590953B2 (en) * 2010-04-15 2014-09-17 三菱電機株式会社 KEY GENERATION DEVICE, DATA PROVIDING DEVICE, TERMINAL DEVICE, AND PROGRAM
US9154302B2 (en) * 2012-01-25 2015-10-06 CertiVox Ltd. System and method for secure two-factor authenticated ID-based key exchange and remote login using an insecure token and simple second-factor such as a PIN number
JP7089303B2 (en) * 2018-10-10 2022-06-22 株式会社アクセル Inference device, processing system, inference method and inference program

Also Published As

Publication number Publication date
JP2002026892A (en) 2002-01-25

Similar Documents

Publication Publication Date Title
Malina et al. A secure publish/subscribe protocol for internet of things
US8108678B1 (en) Identity-based signcryption system
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US7239701B1 (en) Key sharing method, secret key generating method, common key generating method and cryptographic communication method in ID-NIKS cryptosystem
US11870891B2 (en) Certificateless public key encryption using pairings
JP2001211153A (en) Secret key generating method
JP4450969B2 (en) Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium
EA019411B1 (en) Method for generating an encryption/decryption key
CN110535626B (en) Secret communication method and system for identity-based quantum communication service station
JP2001211154A (en) Secret key generating method, ciphering method, and cipher communication method
JP5135070B2 (en) Ciphertext decryption authority delegation system
Emura et al. An identity-based proxy re-encryption scheme with source hiding property, and its application to a mailing-list system
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN116743358A (en) Repudiation multi-receiver authentication method and system
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm
JP4485122B2 (en) Public key cryptosystem, signature system, cryptographic communication system, secret key generator, public key generator, and computer program
JP2006227411A (en) Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
Odlyzko Public key cryptography
JP4612027B2 (en) Signature system
JP3622072B2 (en) Encryption communication method
JP3953235B2 (en) Cryptographic communication method and cryptographic communication system
JP3587746B2 (en) Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium
Krishna A randomized cloud library security environment
JP2001053738A (en) Private key generating method, ciphering method and cipher communication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070509

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071130

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees