JP2017212699A - 暗号化装置、復号装置及び暗号システム - Google Patents

暗号化装置、復号装置及び暗号システム Download PDF

Info

Publication number
JP2017212699A
JP2017212699A JP2016106653A JP2016106653A JP2017212699A JP 2017212699 A JP2017212699 A JP 2017212699A JP 2016106653 A JP2016106653 A JP 2016106653A JP 2016106653 A JP2016106653 A JP 2016106653A JP 2017212699 A JP2017212699 A JP 2017212699A
Authority
JP
Japan
Prior art keywords
group
encryption
ciphertext
key
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016106653A
Other languages
English (en)
Inventor
克幸 高島
Katsuyuki Takashima
克幸 高島
小柴 健史
Takeshi Koshiba
健史 小柴
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.)
Mitsubishi Electric Corp
Saitama University NUC
Original Assignee
Mitsubishi Electric Corp
Saitama University NUC
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 Mitsubishi Electric Corp, Saitama University NUC filed Critical Mitsubishi Electric Corp
Priority to JP2016106653A priority Critical patent/JP2017212699A/ja
Priority to PCT/JP2017/001558 priority patent/WO2017203743A1/ja
Publication of JP2017212699A publication Critical patent/JP2017212699A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】この発明は、量子計算機ができた場合にも有効な属性ベース暗号といった暗号を構成可能とすることを目的とする。【解決手段】暗号システムは、t∈[d]の整数tについての同種写像φtと、t∈[0,d]の整数tについてのペアリング演算etとによって対応付けられた複数の群を用いる。暗号システムは、複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号化装置と、複数の群のうちの前記ある群とは異なる群の鍵要素を含む復号鍵を用いて、暗号化装置によって生成された暗号文を復号する復号装置とを備える。【選択図】図1

Description

この発明は、耐量子暗号方式に関する。
量子計算機の開発が世界的に進められている。量子計算機に対しても安全性を維持できる、すなわち耐量子性を有する、格子暗号をはじめとした暗号方式の研究も進められている。しかし、格子暗号には、的確なデータサイズ設定が未だ困難であるという指摘があり、他の数学原理に基づいた構成法が望まれていた。
楕円曲線におけるペアリング演算を用いた属性ベース暗号(以下、ABE)が数多く提案されている。非特許文献1には、楕円曲線におけるペアリング演算を用いた属性ベース暗号の1つの方式が記載されている。
また、非特許文献2には、同種写像を用いた、耐量子性を有する公開鍵暗号方式が記載されている。
V.Goyal, O.Pandey, A.Sahai, B.Waters, Attribute−based encryption for circuits L.De Feo, D.Jao, J.Plut, Towards quantum−resistant cryptosystems from supersingular elliptic curve isogenies De Feo, L., Jao, D., Plut, J.: Towards quantum−resistant cryptosystems from supersingular elliptic curve isogenies. J. Math. Crypt. 8(3), 209−247 (2014), preliminary version: IACR Cryptology eprint Archiv, 2011:506, 2011 Charles, D., Lauter, K., Goren, E.: Cryptographic hash functions from expander graphs. J. Crypt. 22(1), 93−113 (2009), preliminary version: IACR Cryptology eprint Archiv, 2006:021, 2006 Yoshida, R., Takashima, K.: Computing a sequence of 2−isogenies on supersingular elliptic curves. IEICE Trans. Fundamentals 96−A(1), 158−165 (2013), preliminary version is available in ICISC 2008, LNCS, vol.5461, pp.52−65 (2008)
しかし、楕円曲線ペアリングを用いた属性ベース暗号は全て、量子計算機によりマスター秘密鍵が暴かれ壊滅的な被害を受けることがわかっている。また、耐量子性を有する属性ベース暗号はなかった。
この発明は、量子計算機ができた場合にも有効な属性ベース暗号といった暗号方式を構成可能とすることを目的とする。
この発明に係る暗号化装置は、
同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける暗号化装置であり、
前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号文生成部を備える。
この発明では、同種写像とペアリング演算とによって対応付けられた複数の群を用いることにより、量子計算機ができた場合にも有効な属性ベース暗号といった暗号を構成可能となる。
実施の形態1に係るIBE方式で用いられる同種ペアリンググループの説明図。 実施の形態1に係る暗号システム1の構成図。 実施の形態1に係る鍵生成装置10の構成図。 実施の形態1に係る暗号化装置20の構成図。 実施の形態1に係る復号装置30の構成図。 実施の形態1に係るSetupアルゴリズムのフローチャート。 実施の形態1に係る同種ペアリンググループの説明図。 実施の形態1に係るKeyGenアルゴリズムのフローチャート。 実施の形態1に係るEncアルゴリズムのフローチャート。 実施の形態1に係るDecアルゴリズムのフローチャート。 実施の形態1に係るIBE方式に対する攻撃法の説明図。 変形例1に係る鍵生成装置10の構成図。 変形例1に係る暗号化装置20の構成図。 変形例1に係る復号装置30の構成図。 実施の形態2に係る暗号システム1の構成図。 実施の形態2に係る鍵生成装置10の構成図。 実施の形態2に係る暗号化装置20の構成図。 実施の形態2に係る復号装置30の構成図。 実施の形態5に係るIPG生成アルゴリズムのフローチャート。 実施の形態5に係るアルゴリズムIsogL〜,κ(E)の説明図。 実施の形態5に係るアルゴリズムIsogL〜,κ(E)の説明図。
実施の形態1.
実施の形態1では、耐量子性を有するIDベース暗号(以下、IBE)方式について説明する。
***記法の説明***
実施の形態1で用いられる記法について説明する。
Aがランダムな値または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure 2017212699
Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure 2017212699
数103は、位数qの体を表す。
Figure 2017212699
また、位数qの体を文中では単にFと記載する。
[n]:={1,...,n}とし、[0,n]:={0}∪[n]:={0,...,n}とする。nは、0以上の整数である。
数104に示す2つのベクトルy及びvについて、y・vは、数105に示す内積を示す。
Figure 2017212699
Figure 2017212699
***概念の説明***
図1を参照して、実施の形態1に係るIBE方式で用いられる同種ペアリンググループ(以下、IPG)について説明する。
IPGは、同種写像とペアリング演算とによって対応付けられた複数の群を有する。
具体的には、IPGは、群Gと、群Gと同種写像φによって対応付けられたt=1,...,dの各群Gと、t=0,...,dの各群G及び群G^とペアリング演算eによって対応付られた群Gとを有する。そして、IPGでは、群G×群G^からペアリング演算eで変換された場合と、t=1,...,dのいずれの整数tについての同種写像φによって群G×群G^から群G×群G^に変換された上で、ペアリング演算eによって変換された場合とで、結果は等しくなる。
より正確には、IPGは以下のように定義される。
IPG生成アルゴリズムGenIPG(1λ,d)では、数106に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアがランダムに生成される。
Figure 2017212699
ここで、(G,G^,e,G)は、ペアリング演算e:G×G^→Gを有する素数位数qの非対称ペアリング群である。g^∈G^である。同種写像φ:G→Gであり、異なる楕円曲線間の同種によって与えられる。g=φ(g)∈Gである。
IPGは、数107に示す両立性を有する。
Figure 2017212699
ここで、g=e(g,g^)≠1である。また、G≠G^である。
***構成の説明***
実施の形態1に係るIBE方式の構成を説明する。
IBE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵skとを出力する。
KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵skと、識別子IDとを入力として、識別子IDに対応した復号鍵skIDを出力する。
Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、識別子ID’とを入力として、暗号文ctID’を出力する。
Decアルゴリズムは、公開パラメータpkと、識別子IDに対応した復号鍵skIDと、識別子ID’の下で暗号化された暗号文ctID’とを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
図2を参照して、実施の形態1に係る暗号システム1の構成を説明する。
暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。
鍵生成装置10と暗号化装置20と復号装置30とは、コンピュータである。鍵生成装置10と暗号化装置20と復号装置30とは、ネットワークを介して接続されている。
鍵生成装置10は、セキュリティパラメータ1λを入力として、Setupアルゴリズムを実行して、公開パラメータpkと、マスター秘密鍵skとを生成する。また、鍵生成装置10は、公開パラメータpkと、マスター秘密鍵skと、識別子IDとを入力として、KeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
鍵生成装置10は、公開パラメータpkを公開し、復号鍵skIDを識別子IDに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵skを保管する。
暗号化装置20は、公開パラメータpkと、メッセージmと、識別子ID’とを入力として、Encアルゴリズムを実行して、暗号文ctID’を生成する。暗号化装置20は、暗号文ctID’を復号装置30に出力する。
復号装置30は、公開パラメータpkと、復号鍵skIDと、暗号文ctID’とを入力として、Decアルゴリズムを実行して、メッセージm’、又は、復号に失敗したことを示す識別情報⊥を生成する。
図3を参照して、実施の形態1に係る鍵生成装置10の構成を説明する。
鍵生成装置10は、プロセッサ11と、記憶装置12と、入出力インタフェース13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
鍵生成装置10は、機能構成要素として、マスター鍵生成部14と、復号鍵生成部15と、鍵出力部16とを備える。マスター鍵生成部14と、復号鍵生成部15と、鍵出力部16との各部の機能はソフトウェアにより実現される。
記憶装置12には、鍵生成装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11により読み込まれ、プロセッサ11によって実行される。これにより、鍵生成装置10の各部の機能が実現される。
図4を参照して、実施の形態1に係る暗号化装置20の構成を説明する。
暗号化装置20は、プロセッサ21と、記憶装置22と、入出力インタフェース23とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
暗号化装置20は、機能構成要素として、入力受付部24と、暗号文生成部25と、暗号文出力部26とを備える。入力受付部24と、暗号文生成部25と、暗号文出力部26との各部の機能はソフトウェアにより実現される。
記憶装置22には、暗号化装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21により読み込まれ、プロセッサ21によって実行される。これにより、暗号化装置20の各部の機能が実現される。
図5を参照して、実施の形態1に係る復号装置30の構成を説明する。
復号装置30は、プロセッサ31と、記憶装置32と、入出力インタフェース33とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
復号装置30は、機能構成要素として、入力受付部34と、復号部35と、メッセージ出力部36とを備える。入力受付部34と、復号部35と、メッセージ出力部36との各部の機能はソフトウェアにより実現される。
記憶装置32には、復号装置30の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31により読み込まれ、プロセッサ31によって実行される。これにより、復号装置30の各部の機能が実現される。
プロセッサ11,21,31は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11,21,31は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
記憶装置12,22,32は、具体例としては、RAM(Random Access Memory)、HDD(Hard Disk Drive)である。また、記憶装置12,22,32は、は、SD(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。
入出力インタフェース13,23,33は、外部からデータの入力を受け付け、外部へデータを出力するためのインタフェースである。入出力インタフェース13,23,33は、具体例としては、キーボードといった入力装置と、ディスプレイといった出力装置とを接続するUSB(Universal Serial Bus)、PS/2、HDMI(登録商標、High−Definition Multimedia Interface)といったコネクタである。また、入出力インタフェース13,23,33は、具体例としては、外部からネットワークを介してデータを送受信するNIC(Network Interface Card)であってもよい。
プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12、又は、プロセッサ11内のレジスタ又はキャッシュメモリに記憶される。同様に、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22、又は、プロセッサ21内のレジスタ又はキャッシュメモリに記憶される。同様に、プロセッサ31によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置32、又は、プロセッサ31内のレジスタ又はキャッシュメモリに記憶される。
プロセッサ11によって実現される各機能を実現するプログラムは、記憶装置12に記憶されているとした。同様に、プロセッサ21によって実現される各機能を実現するプログラムは、記憶装置22に記憶されているとした。同様に、プロセッサ31によって実現される各機能を実現するプログラムは、記憶装置32に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。
図3では、プロセッサ11は、1つだけ示されていた。しかし、鍵生成装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、鍵生成装置10の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、プロセッシングを行うICである。同様に、暗号化装置20は、プロセッサ21を代替する複数のプロセッサを備えていてもよい。また、復号装置30は、プロセッサ31を代替する複数のプロセッサを備えていてもよい。
***動作の説明***
図3から図9を参照して、実施の形態1に係る暗号システム1の動作を説明する。
実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号方法に相当する。また、実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号プログラムの処理に相当する。
図3及び図6を参照して、実施の形態1に係るSetupアルゴリズムを説明する。
Setupアルゴリズムは、鍵生成装置10によって実行される。
(ステップS11:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、d=1とを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数108に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure 2017212699
つまり、図7に示すように、実施の形態1では、t=0,1についての群G及び群G^とペアリング演算eと、群Gと、同種写像φとが生成される。
なお、図7に示されるように、GからGへの変換が“復号鍵生成(KeyGen)”に、G×G^からGへの変換が“暗号化(Enc)”に、G×G^からGへの変換が“復号(Dec)”に大まかに対応している。
(ステップS12:ハッシュ関数生成処理)
マスター鍵生成部14は、識別子の空間である体Fの要素を、群Gの要素に変換するランダムなハッシュ関数Hを生成する。
(ステップS13:マスター鍵生成処理)
マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et=0,1,G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=φを生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
つまり、マスター鍵生成部14は、数109に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure 2017212699
図3及び図8を参照して、実施の形態1に係るKeyGenアルゴリズムを説明する。
KeyGenアルゴリズムは、鍵生成装置10によって実行される。
(ステップS21:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。
(ステップS22:鍵要素生成処理)
復号鍵生成部15は、ステップS21で受け付けられた識別子IDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。復号鍵生成部15は、マスター秘密鍵skに含まれる同種写像φで要素hを変換して、要素hを生成する。
(ステップS23:鍵要素出力処理)
鍵出力部16は、ステップS21で受け付けられた識別子IDと、ステップS22で生成された要素hとを鍵要素とする復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵skIDが第三者に漏えいしないようにする。
つまり、復号鍵生成部15は、数110に示すKeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
Figure 2017212699
図4及び図9を参照して、実施の形態1に係るEncアルゴリズムを説明する。
Encアルゴリズムは、暗号化装置20によって実行される。
(ステップS31:入力受付処理)
入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。
(ステップS32:暗号文生成処理)
暗号文生成部25は、ステップS31で受け付けられた識別子ID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
暗号文生成部25は、一様乱数ζを用いて、数111に示す要素cを生成する。
Figure 2017212699
また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数112に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure 2017212699
(ステップS33:暗号文出力処理)
暗号文出力部26は、ステップS31で受け付けられた識別子ID’と、ステップS32で生成された要素c,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
つまり、暗号化装置20は、数113に示すEncアルゴリズムを実行して、暗号文ctID’を生成する。
Figure 2017212699
図5及び図10を参照して、実施の形態1に係るDecアルゴリズムを説明する。
Decアルゴリズムは、復号装置30によって実行される。
(ステップS41:入力受付処理)
入力受付部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skIDと、暗号化装置20によって生成された暗号文ctID’との入力を受け付ける。
(ステップS42:復号判定処理)
復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる識別子IDと、暗号文ctID’に含まれる識別子ID’とが等しいか否かを判定する。これにより、暗号文ctID’を復号鍵skIDで復号可能かが判定される。
復号部35は、等しいと判定された場合、つまり復号可能と判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
(ステップS43:復号処理)
復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる要素hと、暗号文ctID’に含まれる暗号要素cとについてペアリング演算eを行い、要素z’を計算する。復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)−1を計算する。
(ステップS44:メッセージ出力処理)
メッセージ出力部36は、ステップS42で計算されたメッセージm’を、入出力インタフェース33を介して出力する。
(ステップS45:識別情報出力処理)
メッセージ出力部36は、識別情報⊥を、入出力インタフェース33を介して出力する。
つまり、復号装置30は、数114に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure 2017212699
***実施の形態1の効果***
以上のように、実施の形態1に係る暗号システム1は、IPGを用いてIBE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
図11を参照して、実施の形態1の効果を詳しく説明する。
実施の形態1に係るIBE方式は、秘密鍵が2階層の階層的な構造となっている。つまり、実施の形態1に係るIBE方式は、秘密鍵が、上位階層のマスター秘密鍵と、下位階層の復号鍵との2階層の構造となっている。
もし、マスター秘密鍵が明らかになると、どんな識別子IDについての復号鍵も、従来の確率的多項式時間マシンを用いて生成可能になる。そのため、攻撃者は、効率的に攻撃するために、初めにマスター秘密鍵を明らかにしようとする。もしマスター秘密鍵が守られると、攻撃者は暗号文を1つ1つ破る必要がある。マスター秘密鍵を攻撃する方法を“マスター鍵レベルアタック”と呼び、暗号文を1つ1つ攻撃する方法を“ユーザレベルアタック”と呼ぶ。
量子計算機が開発された場合、実施の形態1に係る暗号システム1では、ユーザレベルアタックは可能になってしまうものの、マスター鍵レベルアタックは防ぐことができる。
仮に量子計算機が完成したとしても、初期の段階では、既存のコンピュータの場合と同様に、開発速度は比較的遅いものと考えられる。そして、少なくとも、初期の段階では、持ち運び可能なハンディタイプの量子計算機は広まらないし、そのような量子計算機は高額であると考えられる。そのため、ユーザレベルアタックは非常に非効率となると考えられる。実施の形態1に係る暗号システム1では、効率的なIBE方式を実現しつつ、マスター鍵レベルアタックは防ぐことができる。したがって、実施の形態1に係る暗号システム1で実現されるIBE方式は、仮に量子計算機が完成したとしても、しばらくの間は効率的かつ有用なものと考えられる。
***他の構成***
<変形例1>
実施の形態1では、鍵生成装置10、暗号化装置20、復号装置30の各部の機能がソフトウェアで実現された。変形例1として、鍵生成装置10、暗号化装置20、復号装置30の各部の機能はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
図12から図14を参照して、変形例1に係る鍵生成装置10、暗号化装置20、復号装置30の構成を説明する。
各部の機能がハードウェアで実現される場合、鍵生成装置10、暗号化装置20、復号装置30は、プロセッサ11,21,31と記憶装置12,22,32とに代えて、処理回路17,27,37を備える。処理回路17,27,37は、鍵生成装置10、暗号化装置20、復号装置30の各部の機能と、記憶装置12,22,32の機能とを実現する専用の電子回路である。
処理回路17,27,37は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
鍵生成装置10、暗号化装置20、復号装置30は、処理回路17,27,37を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として各部の機能が実現される。それぞれの処理回路は、処理回路17,27,37と同じように、専用の電子回路である。
<変形例2>
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、鍵生成装置10、暗号化装置20、復号装置30の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
プロセッサ11,21,31と記憶装置12,22,32と処理回路17,27,37とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
実施の形態2.
実施の形態2では、耐量子性を有するABE方式について説明する。実施の形態2では、実施の形態1と異なる点を説明する。
実施の形態2では、t∈[d]について(t,1)∈[d]×[1]=[d]×Uで特定される、多項式サイズのユニバース[d]の要素として属性が与えられる場合を説明する。つまり、後述する属性集合Γ⊂[d]の場合を説明する。
***概念の説明***
実施の形態2に係るABE方式で用いられる概念について説明する。
スパンプログラムについて説明する。スパンプログラムは既存の概念であるため、ここでは以下の説明で必要な範囲だけ簡単に説明する。
体F上のスパンプログラムは、ラベル付けされた行列S:=(M,ρ)である。ここで、行列Mは、体F上の(L行×r列)の行列である。ラベルρは、{(t,v),(t’,v’),...}から属性に応じて行列Mの行に対して付されたラベルである。なお、全ての行が1つの属性にラベル付けされる。つまり、ρ:{1,...,L}→{(t,v),(t’,v’),...}である。
スパンプログラムは、以下の基準に従い、入力を受理又は拒絶する。Γを属性集合とする。つまり、Γ:={(t,x)}1≦j≦d’(x∈Utj)である。1∈span<(Mρ(i)∈Γ>の場合に限り、スパンプログラムSは属性集合Γを受理する。スパンプログラムSが属性集合Γを受理することを、R(S,Γ)=1と表す。つまり、行列Mの行(Mρ(i)∈Γの線形結合によって全ての要素が1のベクトルが得られる場合に限り、スパンプログラムSは属性集合Γを受理する。行列Sをアクセスストラクチャと呼ぶ。
***構成の説明***
実施の形態2では、復号鍵に復号条件であるポリシーが設定される鍵ポリシー型のABE(以下、KP−ABE)方式について説明する。なお、同様の考え方により、暗号文にポリシーが設定される暗号文ポリシー型のABEを実現することも可能である。
特に、実施の形態2では、タグ付されたKP−ABE方式について説明する。タグ付けされたKP−ABE方式では、復号鍵のパラメータ(tag,S)と、暗号文のパラメータ(tag’,Γ)とに対して、関係R((tag,S),(tag’,Γ)):=Eq(tag,tag’)∧R(S,Γ)と定義される。ここで、tag=tag’の場合に限り、Eq(tag,tag’)=1である。そして、Eq(tag,tag’)=1∧R(S,Γ)=1の場合に、暗号文を復号鍵で復号できる。
KP−ABE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵skとを出力する。
KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵skと、入力タグtagと、アクセスストラクチャS:=(M,ρ)とを入力として、入力タグtag及びアクセスストラクチャSに対応した復号鍵sktag,Sを出力する。
Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、入力タグtag’と、属性集合Γ:={(t,x)}1≦j≦d’を入力として、暗号文cttag’,Γを出力する。
Decアルゴリズムは、公開パラメータpkと、入力タグtag及びアクセスストラクチャSに対応した復号鍵sktag,Sと、入力タグtag’及び属性集合Γの下で暗号化された暗号文cttag’,Γとを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
図15を参照して、実施の形態2に係る暗号システム1の構成を説明する。
暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。
鍵生成装置10と暗号化装置20と復号装置30とは、コンピュータである。鍵生成装置10と暗号化装置20と復号装置30とは、ネットワークを介して接続されている。
鍵生成装置10は、セキュリティパラメータ1λを入力として、Setupアルゴリズムを実行して、公開パラメータpkと、マスター秘密鍵skとを生成する。また、鍵生成装置10は、公開パラメータpkと、マスター秘密鍵skと、入力タグtagと、アクセスストラクチャS:=(M,ρ)とを入力として、KeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
鍵生成装置10は、公開パラメータpkを公開し、復号鍵sktag,Sを入力タグtag及びアクセスストラクチャSに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵skを保管する。
暗号化装置20は、公開パラメータpkと、メッセージmと、入力タグtag’と、属性集合Γとを入力として、Encアルゴリズムを実行して、暗号文cttag’,Γを生成する。暗号化装置20は、暗号文cttag’,Γを復号装置30に出力する。
復号装置30は、公開パラメータpkと、復号鍵sktag,Sと、暗号文cttag’,Γとを入力として、Decアルゴリズムを実行して、メッセージm’、又は、復号に失敗したことを示す識別情報⊥を生成する。
図16に示す鍵生成装置10と、図17に示す暗号化装置20と、図18に示す復号装置30との構成は、それぞれ図3に示す鍵生成装置10と、図4に示す暗号化装置20と、図5に示す復号装置30との構成と同じである。但し、各構成要素で入出力される情報が異なる。
***動作の説明***
図16から図18と、図6から図10とを参照して、実施の形態2に係る暗号システム1の動作を説明する。
実施の形態2に係る暗号システム1の動作は、実施の形態2に係る暗号方法に相当する。また、実施の形態2に係る暗号システム1の動作は、実施の形態2に係る暗号プログラムの処理に相当する。
図16及び図6を参照して、実施の形態2に係るSetupアルゴリズムを説明する。
Setupアルゴリズムは、鍵生成装置10によって実行される。
(ステップS11:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、1以上の整数dとを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数115に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure 2017212699
つまり、図1に示すように、実施の形態1では、t=0,1,...,dについての群G及び群G^とペアリング演算eと、群Gと、t=1,...,dについての同種写像φとが生成される。つまり、d+1個のペアリング群が用いられる。
ここで、t=1,...,dの群G及び群G^に属性が設定される。したがって、整数dの値は、設定したい属性の数に応じて決定される。
(ステップS12:ハッシュ関数生成処理)
実施の形態1と同様に、マスター鍵生成部14は、ハッシュ関数Hを生成する。
(ステップS13:マスター鍵生成処理)
マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et∈[0,d],G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=(φt∈[d]を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
つまり、マスター鍵生成部14は、数116に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure 2017212699
図16及び図8を参照して、実施の形態2に係るKeyGenアルゴリズムを説明する。
KeyGenアルゴリズムは、鍵生成装置10によって実行される。
(ステップS21:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵sktag,Sを使用するユーザの入力タグtag及びアクセスストラクチャS:=(M,ρ)の入力を受け付ける。アクセスストラクチャSは、復号鍵sktag,Sで復号可能な範囲を示すものである。
(ステップS22:鍵要素生成処理)
復号鍵生成部15は、ステップS21で受け付けられた入力タグtagを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。
復号鍵生成部15は、1・u=1であるベクトルuをランダムに選択する。復号鍵生成部15は、i∈[L]に対して、s:=M・uとし、t:=ρ(i)として、数117に示すように、マスター秘密鍵skに含まれる同種写像φで要素hを変換して、要素kを生成する。
Figure 2017212699
(ステップS23:鍵要素出力処理)
鍵出力部16は、ステップS21で受け付けられた入力タグtag及びアクセスストラクチャSと、ステップS22で生成されたi∈[L]についての要素kとを鍵要素とする復号鍵sktag,Sを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵sktag,Sが第三者に漏えいしないようにする。
つまり、復号鍵生成部15は、数118に示すKeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
Figure 2017212699
図17及び図9を参照して、実施の形態2に係るEncアルゴリズムを説明する。
Encアルゴリズムは、暗号化装置20によって実行される。
(ステップS31:入力受付処理)
入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる入力タグtag’及び属性集合Γとの入力を受け付ける。
(ステップS32:暗号文生成処理)
暗号文生成部25は、ステップS31で受け付けられた入力タグtag’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
暗号文生成部25は、属性集合Γに含まれる各整数tについて、一様乱数ζを用いて、数119に示す要素cを生成する。
Figure 2017212699
また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数120に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure 2017212699
(ステップS33:暗号文出力処理)
暗号文出力部26は、ステップS31で受け付けられた入力タグtag’及び属性集合Γと、ステップS32で生成された属性集合Γに含まれる各整数tについての要素c及び要素cとを暗号要素とする暗号文cttag’,Γを、入出力インタフェース23を介して復号装置30に出力する。
つまり、暗号化装置20は、数121に示すEncアルゴリズムを実行して、暗号文cttag’,Γを生成する。
Figure 2017212699
図18及び図10を参照して、実施の形態2に係るDecアルゴリズムを説明する。
Decアルゴリズムは、復号装置30によって実行される。
(ステップS41:入力受付処理)
入力受付部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵sktag,Sと、暗号化装置20によって生成された暗号文cttag’,Γとの入力を受け付ける。
(ステップS42:復号判定処理)
復号部35は、ステップS41で受け付けられた復号鍵sktag,Sに含まれる入力タグtagと、暗号文cttag’,Γに含まれる入力タグtag’とが等しいか否かを判定する。また、復号部35は、復号鍵sktag,Sに含まれるアクセスストラクチャSが、暗号文cttag’,Γに含まれる属性集合Γを受理するか否かを判定する。これにより、暗号文cttag’,Γを復号鍵sktag,Sで復号可能かが判定される。
復号部35は、入力タグtagと入力タグtag’とが等しいと判定され、かつ、アクセスストラクチャSが属性集合Γを受理すると判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
(ステップS43:復号処理)
復号部35は、ρ(i)∈Γについて、数122を満たす補完係数αを計算する。なお、Mは、行列Mのi行目である。
Figure 2017212699
復号部35は、計算された補完係数αを用いて、ステップS41で受け付けられた復号鍵sktag,Sに含まれる要素kと、暗号文cttag’,Γに含まれる暗号要素cとについて数123に示すペアリング演算を行い、要素z’を計算する。
Figure 2017212699
復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)−1を計算する。
ステップS44からステップS45の処理は、実施の形態1と同じである。
つまり、復号装置30は、数124に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure 2017212699
数125に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure 2017212699
***実施の形態2の効果***
以上のように、実施の形態2に係る暗号システム1は、IPGを用いてABE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態1と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
実施の形態3.
実施の形態3では、どの部分ユニバース識別子tについても属性x:=(xt,jj∈[n]がユニバースU:={0,1}の要素である場合におけるABE方式について説明する。実施の形態3では、実施の形態2と異なる点を説明する。
実施の形態3では、ABEの小さなユニバースの2つのインスタンスt∈[d]及びj∈[n]についての階層的な構造が用いられる。そして、実施の形態3では、下位の階層のインスタンスにおいて、n−out−of−2nの秘密共有述語の特別な形態が、長さnの2値の識別子xに対する識別子マッチングに用いられる。
***動作の説明***
図16から図18と、図6から図10とを参照して、実施の形態3に係る暗号システム1の動作を説明する。
実施の形態3に係る暗号システム1の動作は、実施の形態3に係る暗号方法に相当する。また、実施の形態3に係る暗号システム1の動作は、実施の形態3に係る暗号プログラムの処理に相当する。
図16及び図6を参照して、実施の形態3に係るSetupアルゴリズムを説明する。
Setupアルゴリズムは、鍵生成装置10によって実行される。
(ステップS11:IPG生成処理)
マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、1以上の整数d及び1以上の整数nについての整数2dnとを入力として、IPG生成アルゴリズムGenIPG(1λ,2dn)を実行して、数126に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure 2017212699
つまり、実施の形態1では、t=0,1,...,dとj=1,...,nとι=0,1とについての群Gt,j,ι及び群G^t,j,ιとペアリング演算eと、群Gと、t=1,...,dとj=1,...,nとι=0,1とについての同種写像φt,j,ιとが生成される。つまり、2dn+1個のペアリング群が用いられる。
ここで、t=1,...,dとj=1,...,nとι=0,1の群Gt,j,ι及び群G^t,j,ιに属性が設定される。したがって、整数d,nの値は、設定したい属性の数に応じて決定される。
(ステップS12:ハッシュ関数生成処理)
実施の形態1と同様に、マスター鍵生成部14は、ハッシュ関数Hを生成する。
(ステップS13:マスター鍵生成処理)
マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et∈[0,d],j∈[n],ι∈[0,1],G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=(φt,j,ιt∈[d],j∈[n],ι∈[0,1]を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
つまり、マスター鍵生成部14は、数127に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure 2017212699
図16及び図8を参照して、実施の形態2に係るKeyGenアルゴリズムを説明する。
KeyGenアルゴリズムは、鍵生成装置10によって実行される。
ステップS21の処理は、実施の形態2と同じである。
(ステップS22:鍵要素生成処理)
復号鍵生成部15は、ステップS21で受け付けられた入力タグtagを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。
復号鍵生成部15は、1・u=1であるベクトルuをランダムに選択する。復号鍵生成部15は、i∈[L]に対して、s:=M・uとし、s=Σj=1 τi,jである乱数τ:=(τi,j)を選択する。復号鍵生成部15は、乱数τを用いて、数128に示すように、マスター秘密鍵skに含まれる同種写像φt,j,ιで要素hを変換して、要素ki,jを生成する。
Figure 2017212699
(ステップS23:鍵要素出力処理)
鍵出力部16は、ステップS21で受け付けられた入力タグtag及びアクセスストラクチャSと、ステップS22で生成されたi∈[L]及びj∈[n]についての要素ki,jとを鍵要素とする復号鍵sktag,Sを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵sktag,Sが第三者に漏えいしないようにする。
つまり、復号鍵生成部15は、数129に示すKeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
Figure 2017212699
図17及び図9を参照して、実施の形態2に係るEncアルゴリズムを説明する。
Encアルゴリズムは、暗号化装置20によって実行される。
ステップS31の処理は、実施の形態2と同じである。
(ステップS32:暗号文生成処理)
暗号文生成部25は、ステップS31で受け付けられた入力タグtag’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
暗号文生成部25は、属性集合Γに含まれる(t,x:=(xt,j)∈{0,1})∈Γの各整数t及び各整数jについて、一様乱数ζを用いて、数130に示す要素ct,jを生成する。
Figure 2017212699
また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数131に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure 2017212699
(ステップS33:暗号文出力処理)
暗号文出力部26は、ステップS31で受け付けられた入力タグtag’及び属性集合Γと、ステップS32で生成された属性集合Γに含まれる各整数t及びj∈[n]についての要素ct,j及び要素cとを暗号要素とする暗号文cttag’,Γを、入出力インタフェース23を介して復号装置30に出力する。
つまり、暗号化装置20は、数132に示すEncアルゴリズムを実行して、暗号文cttag’,Γを生成する。
Figure 2017212699
図18及び図10を参照して、実施の形態2に係るDecアルゴリズムを説明する。
Decアルゴリズムは、復号装置30によって実行される。
ステップS41からステップS42の処理は、実施の形態2と同じである。
(ステップS43:復号処理)
復号部35は、数133を満たす補完係数αを計算する。
Figure 2017212699
復号部35は、計算された補完係数αを用いて、ステップS41で受け付けられた復号鍵sktag,Sに含まれる要素ki,jと、暗号文cttag’,Γに含まれる暗号要素ct,jとについて数134に示すペアリング演算を行い、要素z’を計算する。
Figure 2017212699
復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)−1を計算する。
ステップS44からステップS45の処理は、実施の形態2と同じである。
つまり、復号装置30は、数135に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure 2017212699
数136に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure 2017212699
***実施の形態3の効果***
以上のように、実施の形態3に係る暗号システム1は、IPGを用いて大きいユニバースについてのABE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態2と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
実施の形態4.
実施の形態4では、階層的なIBE(以下、HIBE)方式について説明する。実施の形態4では、実施の形態1と異なる点を説明する。
***動作の説明***
図3から図9を参照して、実施の形態4に係る暗号システム1の動作を説明する。
実施の形態4に係る暗号システム1の動作は、実施の形態4に係る暗号方法に相当する。また、実施の形態4に係る暗号システム1の動作は、実施の形態4に係る暗号プログラムの処理に相当する。
図3及び図6を参照して、実施の形態1に係るSetupアルゴリズムを説明する。
Setupアルゴリズムは、鍵生成装置10によって実行される。
ステップS11の処理は、実施の形態1と同じである。
(ステップS12:ハッシュ関数生成処理)
マスター鍵生成部14は、t=0,1について、識別子の空間である体Fの要素を、群Gの要素に変換するランダムなハッシュ関数Hを生成する。
(ステップS13:マスター鍵生成処理)
マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,e,Ht=0,1,G)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=φを生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
つまり、マスター鍵生成部14は、数137に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure 2017212699
図3及び図8を参照して、実施の形態4に係るKeyGenアルゴリズムを説明する。
KeyGenアルゴリズムは、鍵生成装置10によって実行される。
(ステップS21:ID受付処理)
復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。ここでは、識別子IDは、i∈[j]についてのIDから構成される。jは、2以上の整数である。
(ステップS22:鍵要素生成処理)
復号鍵生成部15は、i∈[j−1]について、数138に示すように、要素d^を生成する。
Figure 2017212699
復号鍵生成部15は、ステップS21で受け付けられた識別子IDを構成するIDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、復号鍵生成部15は、i∈[2,j]について、識別子IDを構成するID,...,IDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。そして、復号鍵生成部15は、数139に示すように、マスター秘密鍵skに含まれる同種写像φで要素hを変換した要素dを生成する。
Figure 2017212699
(ステップS23:鍵要素出力処理)
鍵出力部16は、ステップS21で受け付けられた識別子IDと、ステップS22で生成された、i∈[j−1]についての要素d^及び要素dとを鍵要素とする復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵skIDが第三者に漏えいしないようにする。
つまり、復号鍵生成部15は、数140に示すKeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
Figure 2017212699
図4及び図9を参照して、実施の形態1に係るEncアルゴリズムを説明する。
Encアルゴリズムは、暗号化装置20によって実行される。
(ステップS31:入力受付処理)
入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。ここでは、識別子ID’は、i∈[j]についてのID’から構成される。
(ステップS32:暗号文生成処理)
暗号文生成部25は、一様乱数ζを生成する。暗号文生成部25は、一様乱数ζを用いて、数141に示す要素c^を生成する。
Figure 2017212699
暗号文生成部25は、i∈[2,j]について、識別子IDを構成するID’,...,ID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。暗号文生成部25は、要素hを用いて、数142に示す要素cを生成する。
Figure 2017212699
暗号文生成部25は、ステップS31で受け付けられた識別子ID’を構成するID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数143に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure 2017212699
(ステップS33:暗号文出力処理)
暗号文出力部26は、ステップS31で受け付けられた識別子ID’と、ステップS32で生成された要素c^,(ci∈[2,j],cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
つまり、暗号化装置20は、数144に示すEncアルゴリズムを実行して、暗号文ctID’を生成する。
Figure 2017212699
図5及び図10を参照して、実施の形態1に係るDecアルゴリズムを説明する。
Decアルゴリズムは、復号装置30によって実行される。
ステップS41からステップS42の処理は、実施の形態1と同じである。
(ステップS43:復号処理)
復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる要素d^及び要素dと、暗号文ctID’に含まれる要素c^及び要素cとについて数145に示す演算を行い、要素z’を計算する。復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)−1を計算する。
Figure 2017212699
ステップS44からステップS45の処理は、実施の形態1と同じである。
つまり、復号装置30は、数146に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure 2017212699
数147に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure 2017212699
***実施の形態4の効果***
以上のように、実施の形態4に係る暗号システム1は、IPGを用いてHIBE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態1と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
実施の形態5.
実施の形態5では、IPG生成アルゴリズムGenIPG(1λ,d)について、楕円曲線を用いて具体的に説明する。
***動作の説明***
図19を参照して、実施の形態5に係るIPG生成アルゴリズムGenIPG(1λ,d)の処理を説明する。
(ステップS51:要素生成処理)
マスター鍵生成部14は、十分に大きい、奇素数pについての超楕円曲線E/Fp2(ここで、p2はp)をランダムに生成する。
マスター鍵生成部14は、適切な(L,κ)と、楕円曲線Eの部分群から構成される位数rの非対称ペアリング群(G,G^,G;e)を生成する。eは、楕円曲線Eにおけるヴェイユペアリングeweil,0から、どのh∈G及びh^∈G^に対してもe(h,h^):=eweil,0(h,h^Ψと定義される。Ψ=(Lκである。
マスター鍵生成部14は、群Gから要素gを一様に選択し、群G^から要素g^を一様に選択する。
(ステップS52:同種生成処理)
マスター鍵生成部14は、アルゴリズムIsogL〜,κ(E)を実行して、t∈[d]について、楕円曲線Eと同種となる楕円曲線Eと、楕円曲線Eから楕円曲線Eへの同種写像を計算するためのトラップドアξとをランダムに生成する。アルゴリズムIsogL〜,κ(E)として、図20に示す非特許文献3に記載されたIsogL〜,κ djpアルゴリズムを用いることができる。また、アルゴリズムIsogL〜,κ(E)として、図21に示す非特許文献4,5に記載されたIsogL〜,κ clgアルゴリズムを用いることができる。
(ステップS53:同種要素生成処理)
マスター鍵生成部14は、ステップS52で生成された楕円曲線E及びトラップドアξを用いて、φ:=φξtと、G:=φ(G)及びG^:=φ(G^)と、g:=φ(g)及びg^:=φ(g^)と、h∈G及びh^∈G^に対してe(h,h^):=eweil,t(h,h^)と設定する。ここで、eweil,tは、楕円曲線Eにおけるヴェイユペアリングである。
(ステップS54:要素出力処理)
マスター鍵生成部14は、ステップS51及びステップS53で生成された(G,G^,g,g^,et∈[0,d],Gを公開パラメータpkIPGとし、(φt∈[d]に対する(ξt∈[d]をマスター秘密鍵skIPGとして出力する。
つまり、IPG生成アルゴリズムGenIPG(1λ,d)は、数148に示す通りである。
Figure 2017212699
***実施の形態5の効果***
以上のように、実施の形態5に係る暗号システム1では、楕円曲線を用いてIPG生成アルゴリズムGenIPG(1λ,d)を実現できる。
実施の形態6.
実施の形態1〜4では、記載を単純化し、理解を容易にするために、楕円曲線を用いた詳細な記載を省略した。実施の形態6では、楕円曲線を用いた具体的な構成について説明する。実施の形態6では、実施の形態1で説明したIBE方式と、実施の形態2で説明したABE方式とについて説明する。
実施の形態3で説明したABE方式と、実施の形態4で説明したHIBE方式とについても、同様の方法により、楕円曲線を用いた具体的な構成とすることが可能である。
***動作の説明***
実施の形態1で説明したIBE方式について説明する。
Setupアルゴリズムは、数149のようになる。
Figure 2017212699
KeyGenアルゴリズムは、数150のようになる。
Figure 2017212699
Encアルゴリズムは、数151のようになる。
Figure 2017212699
Decアルゴリズムは、数152のようになる。
Figure 2017212699
数153に示すように、暗号文ctID’を復号鍵skIDで復号可能である。ここで、deg(φ)=L〜κである。
Figure 2017212699
実施の形態2で説明したABE方式について説明する。
Setupアルゴリズムは、数154のようになる。
Figure 2017212699
KeyGenアルゴリズムは、数155のようになる。
Figure 2017212699
Encアルゴリズムは、数156のようになる。
Figure 2017212699
Decアルゴリズムは、数157のようになる。
Figure 2017212699
数158に示すように、暗号文ctID’を復号鍵skIDで復号可能である。
Figure 2017212699
***実施の形態6の効果***
以上のように、実施の形態6に係る暗号システム1では、楕円曲線を用いた具体的にIBE方式及びABE方式を構成することができる。
実施の形態7.
実施の形態1〜6では、同種写像とペアリング演算とを用いて、IPGを構成した。しかし、同種写像に代えて、トラップドア準同型写像(以下、TH)を用いてIPGを構成してもよい。
以下の3つの条件を満たす場合、素数位数qの2つのランダムに選択された巡回群G,Gについての写像φ:=φξ:G→GがTHである。
(条件1:準同型写像)
写像φが自明でない準同型写像であること。自明でないとは、例えば、加法群に対して非ゼロであることである。
(条件2:TH−DH(TH−Diffie−Hellman)の難治性仮定)
ランダムに選択された写像φと群Gから一様に選択されたg,gについて、(g,φ(g),g)が与えられた場合に、どんな確率的多項式時間マシンBも無視し得る確率でしかφ(g)を計算しないこと。
(条件3:多項式サイズのトラップドア)
φ:=φξについての多項式サイズのトラップドアξが与えられると、どんなg∈Gに対してもφ(g)を計算する確率的多項式時間マシンBが存在すること。
楕円曲線を用いたTHの例として以下の3つがある。以下の3つの例において、群の肩に“〜”が付されている場合、その群はペアリング群である。
(例1:累乗法)
:=G:=Gは、楕円曲線巡回群である。φ:=φξは、群Gにおける累乗法、つまり曲線上のスカラー乗法である。つまり、φξ:g→gξである。ここで、ξはスカラーである。
(例2:ペアリング)
:=G,G:=G は、ペアリング群である。φ:=φξは、G上のペアリング演算である。つまり、φξ:g→e(g,ξ)である。ここで、ξは、対称ペアリングの場合の群G、又は、非対称ペアリングの場合の群G^の要素である。
(例3:同種写像)
:=G ,G:=G は、それぞれ2つの曲線E,E’から得られる2つの異なる楕円曲線巡回群である。φ:=φξは、群G から群G への同種写像である。つまり、φξ:E→E’:=E/Cである。ここで、ξ:=Cは、曲線Eの巡回部分群である。
1 暗号システム、10 鍵生成装置、11 プロセッサ、12 記憶装置、13 入出力インタフェース、14 マスター鍵生成部、15 復号鍵生成部、16 鍵出力部、20 暗号化装置、21 プロセッサ、22 記憶装置、23 入出力インタフェース、24 入力受付部、25 暗号文生成部、26 暗号文出力部、30 復号装置、31 プロセッサ、32 記憶装置、33 入出力インタフェース、34 入力受付部、35 復号部、36 メッセージ出力部。

Claims (16)

  1. 同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける暗号化装置であり、
    前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号文生成部を備える暗号化装置。
  2. 前記暗号システムは、群Gと、前記群Gと同種写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いる
    請求項1に記載の暗号化装置。
  3. 前記暗号文は、前記群Gの要素と前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む暗号要素cと、前記群G^の要素である暗号要素cとを含む請求項2に記載の暗号化装置。
  4. 前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数1に示す要素c,cを含む請求項3に記載の暗号化装置。
    Figure 2017212699
  5. 前記暗号システムは、2以上の整数dに関してt=0,...,dの整数tについての群G及び群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数2に示す要素c,cを含む請求項3に記載の暗号化装置。
    Figure 2017212699
  6. 前記暗号システムは、1以上の整数d及び1以上の整数nに関してt=0,...,dの整数tとj=0,...,nの整数nとι=0,1の整数ιとについての群Gt,j,ι及び群G^t,j,ιを用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数3に示す要素ct,j,cを含む請求項3に記載の暗号化装置。
    Figure 2017212699
  7. 前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数9に示す要素c^,c,cを含む請求項3に記載の暗号化装置。
    Figure 2017212699
  8. 同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける復号装置であり、
    前記複数の群のうちのある群の暗号要素を含む暗号文を、前記複数の群のうちの前記ある群とは異なる群の鍵要素を含む復号鍵を用いて復号する復号部
    を備える復号装置。
  9. 前記暗号システムは、群Gと、前記群Gと同種写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いる
    請求項8に記載の復号装置。
  10. 前記暗号文は、前記群Gの要素と前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む暗号要素cと、前記群G^の要素である暗号要素cとを含み、
    前記復号鍵は、前記群Gの鍵要素kを含み、
    前記復号部は、前記鍵要素kと前記暗号要素cとについて前記ペアリング演算eを行い要素z’を計算し、計算された前記要素z’と前記暗号要素cとを用いて前記暗号文を復号する
    請求項9に記載の復号装置。
  11. 前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数5に示す要素c,cを含み、
    前記復号鍵は、前記鍵要素kとして、数6に示す要素hを含み、
    前記復号部は、前記要素hと前記要素cとについて、ペアリング演算eを行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure 2017212699
    Figure 2017212699
  12. 前記暗号システムは、2以上の整数dに関してt=0,...,dの整数tについての群G及び群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数7に示す要素c,cを含み、
    前記復号鍵は、前記鍵要素kとして、数8に示す要素kを含み、
    前記復号部は、前記要素cと前記要素kについて、数9に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure 2017212699
    Figure 2017212699
    Figure 2017212699
  13. 前記暗号システムは、1以上の整数d及び1以上の整数nに関してt=0,...,dの整数tとj=0,...,nの整数nとι=0,1の整数ιとについての群Gt,j,ι及び群G^t,j,ιを用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数10に示す要素ct,j,cを含み、
    前記復号鍵は、前記鍵要素kとして、数11に示す要素ki,jを含み、
    前記復号部は、前記要素ct,jと前記要素ki,jについて、数12に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure 2017212699
    Figure 2017212699
    Figure 2017212699
  14. 前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
    前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数13に示す要素c^,c,cを含み、
    前記復号鍵は、前記鍵要素kとして数14に示す要素d^,dを含み、
    前記復号部は、前記要素c^,cと前記要素d^,dについて、数15に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure 2017212699
    Figure 2017212699
    Figure 2017212699
  15. 同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムであり、
    前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号化装置と、
    前記複数の群のうちの前記ある群とは異なる群の鍵要素を含む復号鍵を用いて、前記暗号化装置によって生成された暗号文を復号する復号装置と
    を備える暗号システム。
  16. 群Gと、前記群Gと準同型写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いた暗号システムであり、
    前記群Gの要素と、前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む前記暗号要素cと、前記群G^の要素である暗号要素cとを含む暗号文を生成する暗号化装置と、
    前記群Gの鍵要素kを含む復号鍵を用いて、前記鍵要素kと前記暗号要素cとについて前記ペアリング演算eを行い要素z’を計算し、計算された前記要素z’と前記暗号要素cとを用いて前記暗号文を復号する復号装置と
    を備える暗号システム。
JP2016106653A 2016-05-27 2016-05-27 暗号化装置、復号装置及び暗号システム Pending JP2017212699A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016106653A JP2017212699A (ja) 2016-05-27 2016-05-27 暗号化装置、復号装置及び暗号システム
PCT/JP2017/001558 WO2017203743A1 (ja) 2016-05-27 2017-01-18 暗号化装置、復号装置及び暗号システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016106653A JP2017212699A (ja) 2016-05-27 2016-05-27 暗号化装置、復号装置及び暗号システム

Publications (1)

Publication Number Publication Date
JP2017212699A true JP2017212699A (ja) 2017-11-30

Family

ID=60412731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016106653A Pending JP2017212699A (ja) 2016-05-27 2016-05-27 暗号化装置、復号装置及び暗号システム

Country Status (2)

Country Link
JP (1) JP2017212699A (ja)
WO (1) WO2017203743A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7466791B2 (ja) 2022-01-11 2024-04-12 三菱電機株式会社 暗号化装置、復号装置、復号可能検証装置、暗号システム、暗号化方法、及び暗号化プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499544B2 (en) * 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
US7617397B2 (en) * 2005-04-29 2009-11-10 Microsoft Corporation Systems and methods for generation and validation of isogeny-based signatures

Also Published As

Publication number Publication date
WO2017203743A1 (ja) 2017-11-30

Similar Documents

Publication Publication Date Title
JP6083234B2 (ja) 暗号処理装置
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5852551B2 (ja) 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
JP2012163917A (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム
JP7117964B2 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
JP5596616B2 (ja) 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム
JP6625283B2 (ja) 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
JP5513444B2 (ja) ベクトル構成システム、方法、装置及びプログラム並びに暗号システム
JP5713947B2 (ja) プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置
JP6189788B2 (ja) 鍵生成装置、再暗号化装置、およびプログラム
JP2013172178A (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法、装置とプログラム
Sharma A symmetric FHE scheme based on Linear Algebra
JP5612494B2 (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム
JP2013105065A (ja) セキュリティシステム、暗号化装置、復号装置、再暗号化装置、難読化装置、それらの方法、及びプログラム
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム
KR101932032B1 (ko) 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법
Marron Quantum Attacks on Modern Cryptography and Post-Quantum Cryptosystems
JP2006235291A (ja) 公開鍵の作成装置と作成プログラム